Skip to main content

work with annotated but not defined/not used attrs in class

Project description

annot_attrs

Designed to get list of annotated but not defined/not used attrs from class (not instance!).
may be helpful further in instance to check that really have values.

Features

  1. get set of unused attributes from class(not instance!)
  2. work with nested classes
  3. get values
    • by case insensitive names
    • by dict key access method

License

See the LICENSE file for license rights and limitations (MIT).

Release history

See the HISTORY.md file for release history.

Installation

pip install annot-attrs

Import

from annot_attrs import *

GUIDE

from annot_attrs import *


class Cls(AnnotAttrs):
    ATTR1: int
    ATTR2: int = 2


assert Cls().annots_get_set() == {"ATTR1", }


class Cls2(Cls):
    ATTR1: int = 2
    ATTR3: int


assert Cls2().annots_get_set() == {"ATTR1", "ATTR3", }

inst = Cls2()
inst.ATTR1 = 1
inst.ATTR2 = 1
inst.ATTR3 = 1

assert Cls2().annots_get_set() == {"ATTR1", "ATTR3", }



assert Cls().ATTR2 == 2
assert Cls().attr2 == 2
        
assert Cls()["ATTR2"] == 2
assert Cls()["attr2"] == 2



obj = Cls()
try:
    obj.annots_get_dict()
except Exx_AttrNotExist:
    pass
else:
    assert False

obj.ATTR1 = 1
assert obj.annots_get_dict() == {"ATTR1": 1}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

annot_attrs-0.0.1.tar.gz (3.7 kB view hashes)

Uploaded Source

Built Distribution

annot_attrs-0.0.1-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page