Skip to main content

dynattr

Developer Guide

Setup

# create conda environment
$ mamba env create -f env.yml

# update conda environment
$ mamba env update -n dynattr --file env.yml

Install

pip install -e .

# install from pypi
pip install dynattr

nbdev

# activate conda environment
$ conda activate dynattr

# make sure the dynattr package is installed in development mode
$ pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to the dynattr package
$ nbdev_prepare

Publishing

# publish to pypi
$ nbdev_pypi

# publish to conda
$ nbdev_conda --build_args '-c conda-forge'
$ nbdev_conda --mambabuild --build_args '-c conda-forge -c dsm-72'

Usage

Installation

Install latest from the GitHub repository:

$ pip install git+https://github.com/dsm-72/dynattr.git

or from conda

$ conda install -c dsm-72 dynattr

or from pypi

$ pip install dynattr

Documentation

Documentation can be found hosted on GitHub repository pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.

Example

from atyp import StrQ
from typing import ClassVar
class Foo(DynamicAttributesMixin):
    X: str = 'X'
    x: str = 'X'
    Z: ClassVar[str] = 'Z'

    toinstname = lambda x: f'_{x}'
    totypename = lambda x: x.upper()

    def __init__(self, x: StrQ = None):
        self.x = (x or self.x)

f, b = Foo(x='x'), Foo()
(f.x, f.X, f.Z), (b.x, b.X, b.Z), (Foo.x, Foo.X, Foo.Z, )
(('x', 'X', 'Z'), ('X', 'X', 'Z'), ('X', 'X', 'Z'))
f.getinstclsattr('x', toinstname=None, totypename=None)
'X'

Metadata

Release files for dynattr 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dynattr 0.0.5
File Size Uploaded Provenance Actions
dynattr-0.0.5.tar.gz 9.3 kB Without provenance Details for dynattr-0.0.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dynattr 0.0.5
File Interpreter ABI Platform Actions
dynattr-0.0.5-py3-none-any.whl Python 3 none any Details for dynattr-0.0.5-py3-none-any.whl

Total release size: 18.2 kB

Release files / dynattr-0.0.5.tar.gz

Download URL dynattr-0.0.5.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
50d7265b51f36f95e28e4d5a80adeadcef58641971516d6e9cb22ed57d4057e4
BLAKE2b-256 checksum
How to use checksums
e52720527c22176c0ee44e88c31350b2a517bfa952d97b5a8391c74a1ce45c2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / dynattr-0.0.5-py3-none-any.whl

Download URL dynattr-0.0.5-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1febf3ec9f1ae1d4d923b86872ee501489bd14355d560abf1fc4c355c68d4b23
BLAKE2b-256 checksum
How to use checksums
63435bb9448dba925fbd572ca979bacecf3d692c2d85c7f24e4b8b44cfa0c389
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Security for dynattr 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page