Version v0.9.4
Released 2026-02-27
Compare with v0.9.3 (16 commits since)
Features
- support 3.14 (b468979 by Autumn Jolitz).
Bug Fixes
- correct type hints (ebf53fb by Autumn Jolitz).
- complain when public_class results in a non-traversible path (e3bc8da by Autumn Jolitz).
- TypeVars w/o defaults on 3.12 and below (5b830d7 by Autumn Jolitz).
Docs
- move wish to code block (abca413 by Autumn Jolitz).
- use more effective language for notes (9dbc4fd by Autumn Jolitz).
- add grouses to README (2849cce by Autumn Jolitz).
Continuous Integration
- add 3.13, 3.14 (e079af9 by Autumn Jolitz).
Build
- set version to 0.9.4 (be616fd by Autumn Jolitz).
- fix pip argument in 3.14 (78aacb3 by Autumn Jolitz).
- add 3.13, 3.14, remove illegal argument (c6c88a7 by Autumn Jolitz).
- remove 3.7, 3.8 and above (93d609c by Autumn Jolitz).
- fix invoke for python3.14 (bdac56b by Autumn Jolitz).
- add
ruff-force-format(68a3cd3 by Autumn Jolitz). - update pre-commit (35674aa by Autumn Jolitz).
- set version to 0.9.4a0 (3f6528a by Autumn Jolitz).
Version v0.9.3
Released 2025-08-26
Compare with v0.9.2 (3 commits since)
Features
__init_subclass__sanitizer,match ...clause support,__class_iter__overrides (f683eaf by Autumn Jolitz).
Build
Version v0.9.2
Released 2025-07-11
Compare with v0.9.1 (3 commits since)
Bug Fixes
- preserve type hint as-is to avoid type alias issues (d3de374 by Autumn Jolitz).
Build
Version v0.9.1
Released 2025-07-09
Compare with v0.9.0 (15 commits since)
Bug Fixes
- gather all defining scopes for type hint resolution (ced1d08 by Autumn Jolitz).
- satisfy verify-types (2972b85 by Autumn Jolitz).
- handle case where
instruct.typing.resolve()is given(type, hint)and expects a UnionType out of it (e796397 by Autumn Jolitz).
Style
- fix missing whitespace (4352555 by Autumn Jolitz).
Continuous Integration
- delete anchor line from rst to avoid pypi errors (44ee9d8 by Autumn Jolitz).
Build
- set version to 0.9.1 (0fabda7 by Autumn Jolitz).
- remove invalid classifiers due to PyPI returning only one error per run (c227194 by Autumn Jolitz).
- fallback to just the README due to PyPi being too restrictive (6576c9a by Autumn Jolitz).
- remove changelog due to rst errors on pypi (fca19ff by Autumn Jolitz).
- include files unconditionally (ae7c1ab by Autumn Jolitz).
invoke buildmay--includeor--excludefiles (3865f99 by Autumn Jolitz).- replace mutable source control references with tagged references (d17072f by Autumn Jolitz).
- prune classifiers, add min python marker (d4849d5 by Autumn Jolitz).
- add changelog and benchmark to source dist (8bc2ac3 by Autumn Jolitz).
- set version to 0.9.1a0 (eaa1cce by Autumn Jolitz).
Version v0.9.0
Released 2025-07-08
Compare with v0.8.6 (26 commits since)
Features
- remove class keyword
concrete_classfully in favor ofcontextvars.ContextVarapproach (378680d by Autumn). - upgrade all files to 3.8 (25d2874 by Autumn).
- drop 3.7 official support (8818c45 by Autumn).
Bug Fixes
Docs
Dependencies
- update pre-commit-hooks (dc016c3 by Autumn Jolitz).
Style
- fix ignore comments (30ed5e1 by Autumn Jolitz).
Chore
Build
- set version to 0.9.0 (455acea by Autumn Jolitz).
- remove changelog constraints, fix up changelog with release dates from PyPI (f88d342 by Autumn Jolitz).
- fix setup to account for git's packed refs, add
packagingto setup requirements (7330dba by Autumn Jolitz). - use newer commit as
git logcan't see the older commit (9828f81 by Autumn). - fix case where venv was not passing
--devel/--tests(6cecebc by Autumn). - ignore
__main__.pyfor pyupgrade (32bfcc7 by Autumn). - enforce py38+ typing (d32d3e0 by Autumn).
- use 3.8 as lowest python (5b6a820 by Autumn).
- set version to 0.8.7 (1d83ee5 by Autumn).
- fix changes since url, CI output (b261284 by Autumn).
- fix changelog generation (5ab995d by Autumn).
Other
- feature!: remove type
_parentin favor of fixed thunks on data classes pointing to parent and metaclass handling type level queries (7148644 by Autumn). - feature: correct typehints and implement slice/int array operations by default (76fb2f9 by Autumn).
- feature: make use of
deduplicate(...)(f944d91 by Autumn). - feature!: clean up, deprecate class kwargs that can clash with other impls (a53552f by Autumn).
Version v0.8.6
Released 2025-06-11
Compare with v0.8.5 (9 commits since)
Features
- implement
AutoRepr(akaautorepr=True) (d58c423 by Autumn).
Bug Fixes
- only call
.as_json()when encounteringException(if the stack is expanded from item that has.errors, it will already have JSONable items) (3e75170 by Autumn). - avoid exposing
NoIterablefields viakeys(),items()(dc6a6d8 by Autumn). - correct syntax error when no effective fields (may occur if all fields are
Annotated[..., NoIterable]) (2b47a16 by Autumn).
Docs
- update (7f4e53c by Autumn).
Tests
- verify
NoPickle(886fedd by Autumn).
Chore
- correct type hint errors (e554179 by Autumn).
Build
- use a tempfile instead of a
StringIOforgit tag -F(57d2e0d by Autumn). - set version to 0.8.6 (6590620 by Autumn).
Version v0.8.5
Released 2025-05-07
Compare with v0.8.4 (17 commits since)
Bug Fixes
- satisfy both mypy and ruff for
TypingDefinition(895f357 by Autumn). - apply
pre-committo all files (f1164d1 by Autumn). ValidationErrorshould operate on.errorsas it islist[Exception] | tuple[Exception, ...](c6d85bf by Autumn).
Docs
- update (1c69969 by Autumn).
Dependencies
Chore
- satisfy mypy type checks (8566e7f by Autumn).
Continuous Integration
- remove Python 3.7 support (6b0e61d by Autumn).
Build
- remove Python 3.10+ specific type reference (f41c750 by Autumn).
- add Python 3.10, 3.12 specific checks (7a7694f by Autumn).
- refactor, move verify types/style into task file (5597576 by Autumn).
- add
instruct.compatas a typing compat module (76cf633 by Autumn). - drop unused mypy/pytype code (5d7a32e by Autumn).
- update pre-commit with ruff (f648133 by Autumn).
- update pre-commit-config (edf9b20 by Autumn).
- update precommit to use ruff (82f0d9c by Autumn).
- set version to 0.8.5 (57ac9d4 by Autumn).
Version v0.8.4
Released 2024-06-30
Compare with v0.8.3 (3 commits since)
Bug Fixes
- adjust
copy_withto attempt to use__class_getitem__as the fallback (597e16f by Autumn).
Docs
- update (cd8b31d by Autumn).
Build
- set version to 0.8.4 (ad5d62c by Autumn).
Version v0.8.3
Released 2024-06-30
Compare with v0.8.2 (14 commits since)
Features
- run benchmarks in CI, update
README.rst, add coverage reports (c79546b by Autumn).
Bug Fixes
- correct subtype generation for Python 3.10+ ``types.UnionType``s (2a970b0 by Autumn).
- add
modeto benchmarking in__main__.py, refactor slightly (af22b9b by Autumn). instruct.Atomic-derived type keywork argumentfast=Truenow supports all event listener forms (175f859 by Autumn).__main__.pynow can runbenchmarkagain (7726865 by Autumn).
Docs
Continuous Integration
- tweak output of benchmark post-processing (2986c9c by Autumn).
- rename the workflows (c12c49e by Autumn).
Build
- fix changes since url, CI output (c50c856 by Autumn).
- add
testand ``benchmark``commands (e5a05cf by Autumn). - simplify the wrapper code to a common function, implement base64 wrapping (1aed800 by Autumn).
- set version to 0.8.3 (e41da57 by Autumn).
Other
- feature(typedef): implement simple
type alias = hint(3.12+) (a16b1cb by Autumn).
Version v0.8.2
Released 2024-06-23
Compare with v0.8.1 (4 commits since)
Bug Fixes
- handle fixed tuples correctly (c1bcd41 by Autumn).
- use
types.CodeType.replace(...)when available (8bbc3cf by Autumn).
Docs
- update (820f4ea by Autumn).
Build
- set version to 0.8.2 (d29ffc5 by Autumn).
Version v0.8.1
Released 2024-06-16
Compare with v0.8.0 (6 commits since)
Bug Fixes
- avoid raising an exception inside testing tuple structure for a custom type (0a3108c by Autumn).
Docs
Build
- correct changelog link (bef4aeb by Autumn).
- adjust tasks to allow for releasing on a version other than the
CURRENT_VERSION.txtnext default (fc42c02 by Autumn). - bump version to 0.8.1 (8a4c2ef by Autumn).
Version v0.8.0
Released 2024-06-09
Compare with v0.7.5.post2 (66 commits since)
Features
instruct/about.pywill be structured for tuple comparisions like>= (0, 8, 0)(b9714f8 by Autumn).- add
Undefined(41980a0 by Autumn). - implement generics! (0e716bf by Autumn).
Performance Improvements
- use
inspect.getattr_staticmore aggressively (c16a0ea by Autumn).
Bug Fixes
- do not list the stack in a json output (2694716 by Autumn).
- Python 3.7 cannot specialize the
WeakKeyDictionary, so guard behind TYPE_CHECKING (1bc76ff by Autumn). - satisfy type checker for Python 3.11 and below (c478dd1 by Autumn).
- added type hint to
__json__method (a6da934 by Autumn). - ignore mypy error from an attribute test (1230465 by Autumn).
- add git changelog helper (b79c727 by Autumn Jolitz).
- satisfy mypy for
NoDefaulttype (297f268 by Autumn). - correct Python 3.12 to pass tests (f9e5296 by Autumn).
- check for
NoDefault(94c5f07 by Autumn). - default initialize untyped generics to
Any(e0e781f by Autumn). - update backport for Python 3.7 (fffa961 by Autumn).
Code Refactoring
- split into language, compat, add type hints, restructure to be more specific (9845934 by Autumn).
- rename
IAtomictoAbstractAtomic,AtomicImpltoBaseAtomic(7d2fb28 by Autumn). - rename
AtomictoAtomicMeta(644fecb by Autumn).
Docs
- update (1080c7c by Autumn).
- clean up (0184422 by Autumn).
- add newline for change list (345cb2d by Autumn).
git-changelogrequires a "v" prefix to match v prefixed tags (8b8b6cf by Autumn).- try to make more friendly for github (a530071 by Autumn Jolitz).
Dependencies
- pin
blackfor python 3.8 (6a500d6 by Autumn).
Tests
- update (eeb311f by Autumn). Caused By: 91f05963ea1c25f36d551834f7ae672d05955074 <https://github.com/autumnjolitz/instruct/commit/91f05963ea1c25f36d551834f7ae672d05955074>_
Style
- run black (88faff7 by Autumn).
Chore
- ignore
python**folders (used in cross version testing) (de0a37c by Autumn). - drop pytype overlay (6b0a8f8 by Autumn).
- up version to 0.8.0, remove unused imports, add to README that Generics are supported (4b0902a by Autumn).
- silence mypy on
Genericizablewith an ignore (5cfb45f by Autumn). - pass mypy type checks (506a810 by Autumn).
Continuous Integration
- finalize, skip existing obj on pypi (8df60b3 by Autumn).
- disable word wrapping in pandoc (c9479ee by Autumn).
- allow pypi publishing, add sha sums to the release notes (5b49f13 by Autumn).
- add release functionality (handles versioning, etc) (29d376b by Autumn).
- simplify, write version specific changes to the release, temporarily disable pypi (e32a1a9 by Autumn).
- use
invoke build(552203b by Autumn). - use the newer python setup step (4d42fa4 by Autumn).
- get all history for a change log generator (15e9103 by Autumn).
- run the changes test before any tests run (9b741ce by Autumn).
- ensure
CHANGES.rstis always up-to-date (d9bc2ce by Autumn). - print out black version (42ba597 by Autumn).
- relax restrictions on build (6157a1c by Autumn).
Build
- bump version to 0.8.0 (f5b0765 by Autumn).
- assume pawamoy/git-changelog@89 will be merged in a few days (7e23986 by Autumn).
- remove invalid classifier (despite the fact this is used as a framework) (3174afc by Autumn).
- add
checksumcommand (83f3973 by Autumn). - overhaul setup.cfg classifiers et al, given that instruct has been production ready for years now (0639313 by Autumn).
- ignore python3.whatever directories, remove some default changelog options for use in tasks.py (b47a942 by Autumn).
- run black (cb40105 by Autumn).
- changelog can now omit in-flight/unreleased changes (ac15505 by Autumn).
- bump version to next alpha (00dd465 by Autumn).
- pre-commit should use repo's pyproject (33e1369 by Autumn).
- delete unused black config (f6567ac by Autumn).
- add files back for the naive
python -m buildcase to work (cf96480 by Autumn). - setup-metadata can now dump info from a
wheelorsdist(9c19cf4 by Autumn). - ensure source distributions do not depend on source control, remove unused functions (a7f6de0 by Autumn). Referenced By: Source Distributions
- ensure task_support injects
pprint(a3abf25 by Autumn). - remove unused files (cee5f21 by Autumn).
- ensure
about.VersionInfohas a compliant pep440.public_...and__str__()functions (f6bedea by Autumn). - fix
CHANGES.rst, use fork ofgit-changeloguntil pawamoy/git-changelog@89 is merged and released, use pep440 versioning (771790b by Autumn). - fix type hint complaints, add helpers (ad00166 by Autumn).
- add defaults for
git-changelog, require 2.4.0 as 2.4.1+ will ignore untyped commits (39025c3 by Autumn). - prerelease v0.8.0a0 (ef84469 by Autumn).
- bump to v0.8.0 series (f0ad5ae by Autumn).
Version v0.7.5.post2
Released 2024-02-29
Compare with v0.7.5 (1 commits since)
Bug Fixes
- correct for Python 3.7 (e58c523 by Autumn).
Version v0.7.5
Released 2024-02-29
Compare with v0.7.3.post1 (9 commits since)
Features
- support
type | typein Python 3.10 and above, implement__init_subclass__(cls)(88164e3 by Autumn).
Docs
- try to make more friendly for github (46df415 by Autumn Jolitz).
- update
CHANGES.rst,README.rst(42bd3d2 by Autumn Jolitz). - template-ize for release note generation (5e508b7 by Autumn Jolitz).
- test of git-changelog (a4aeb37 by Autumn Jolitz).
Chore
- add badges to
README.rst, adjust github CI workflow names (66b4067 by Autumn).
Continuous Integration
- add PyPy in testing (fd12152 by Autumn Jolitz).
Build
Version v0.7.3.post1
Released 2023-12-04
Compare with v0.7.3 (2 commits since)
Continuous Integration
- add test (f3c25b0 by Autumn).
Build
- bump version to v0.7.3.post1 (f8afb3d by Autumn).
Version v0.7.3
Released 2023-07-18
Compare with v0.7.2 (2 commits since)
Features
- Port instruct to newer Python versions, implement CI/CD (7dda1bd by Autumn Jolitz).
Build
- unlock versions to be more flexible, bump to v0.7.3 (2e0a5cc by Autumn).
Version v0.7.2
Released 2022-05-13
Compare with v0.7.1 (8 commits since)
Features
- export
RangeFlags(7420aa5 by Autumn). - remove fast new in favor of calling
self._set_defaults()(6edb925 by Autumn).
Bug Fixes
- add dummy
__iter__to handle empty class case (a51c252 by Autumn).
Docs
- add notes on use of
Rangeand friends (04356d2 by Autumn). - add comparison between instruct and pydantic (9090595 by Autumn).
- update (f8c0209 by Autumn).
Tests
- use
_set_defaultsinstead (7ccf4a4 by Autumn). - add tests for
_set_defaults(...)on a class (12e2ee7 by Autumn).
Version v0.7.1
Released 2022-05-13
Compare with v0.7.0 (5 commits since)
Features
- export
instruct.clear(),instruct.reset_to_defaults(), make instance._set_defaults() first call the zero-init version, then cascade through the inheritance tree for any overrides, add default functions for empty classes, use__public_class__magic method forpublic_classcalls (1d1e528 by Autumn).
Chore
- remove unused import in
__main__.py(fadf4c6 by Autumn).
Continuous Integration
- check style (252f2ba by Autumn).
Build
Version v0.7.0
Released 2022-05-12
Compare with v0.6.7 (7 commits since)
Features
- spider annotations, use the
NoPickleet al constants to influence class behavior (2eea997 by Autumn). - support
Annotation[...]and within it, a set ofRange``s, raise ``RangeErrorwhen a value is type allowed but does not fit the ranges specified! (42599b0 by Autumn). - implement several constants for use in
Annotation[...]includingRangefor interval capping (andRangeError)! (11f25b3 by Autumn).
Docs
- update README, add a CHANGES file (8840218 by Autumn).
Dependencies
- bump jinja2 and typing_extensions versions (9adca04 by Autumn).
Tests
- add additional tests (7aa8c31 by Autumn).
Build
- bump to v0.7.0 (f97c699 by Autumn).
Version v0.6.7
Released 2021-03-31
Compare with v0.6.6 (1 commits since)
Performance Improvements
- cache by effective skipped fields across the board, do not confuse with second level skip/redefinitions, bump to v0.6.7 (10aea05 by Autumn).
Version v0.6.6
Released 2021-02-17
Compare with v0.6.5 (1 commits since)
Bug Fixes
- handle zero-length collections correctly, type hints should resolve using the locals, module globals, then typing ones, bump to v0.6.6 (b7d0898 by Autumn).
Version v0.6.5
Released 2021-02-16
Compare with v0.6.4 (1 commits since)
Features
- allow
instruct.public_class()to access subclasses by index, document ambiguities, cascade subtraction preservation, bump to v0.6.5 (8a0fdda by Autumn).
Version v0.6.4
Released 2021-01-13
Compare with v0.6.3 (1 commits since)
Bug Fixes
- adjust
instruct.public_classto detect modified subtracted classes, allow proper overrides of__coerce__when class inheritance is greater than 1 deep, bump to v0.6.4 (c4d2b91 by Autumn).
Version v0.6.3
Released 2020-12-07
Compare with v0.6.2 (1 commits since)
Bug Fixes
- fix
.keys(...)to operate on simple field that isAtomicdescendant (no optional, etc wrapping), bump to v0.6.3 (697a4ec by Autumn).
Version v0.6.2
Released 2020-12-07
Compare with v0.6.1 (3 commits since)
Features
- add
instruct.show_all_fieldsto public API, ensure reachability forOptionaltype hinted fields (5dde190 by Autumn). - allow
instruct.keys(),instruct.show_all_fields()to handleUnion,Optionalwith embeddedAtomictypes properly (47f038d by Autumn).
Build
- v0.6.2 (7e60b6a by Autumn).
Version v0.6.1
Released 2020-12-07
Compare with v0.6.0 (1 commits since)
Features
- allow class subtractions to be pickled/unpickled, make type name friendlier to
inflection.titleize(...), ensure a test for class method replacements, pickling, bump to v0.6.1 (e28f6c6 by Autumn).
Version v0.6.0
Released 2020-12-04
Compare with v0.5.0 (34 commits since)
Features
- allow keys() to operate and extract keys for an embedded field (647ee5c by Autumn).
- allow for downcasting of a parent type to a subtracted type when generating the skip keys type (9ca88d0 by Autumn).
- support collections by position, make unions branch on type checks, avoid pipe-nature in favor of graph branch approach (fcbc5bc by Autumn).
- allow for generation of an effective coerce function based on type spidering (b2f8195 by Autumn).
- introduce a union branch function that assumes unique traces in subtype (7078730 by Autumn).
- add in initial approach (
``subtype.py``) for automated parent value type coercion to subtracted type (5b50dc2 by Autumn). - handle subtracted classes in a more generalized fashion, use the correct function globals for the
LOAD_GLOBALbytecode (531918e by Autumn). - support
classmethod()rewriting for skip keys (1505945 by Autumn). - implement
cls & {...}(type inclusion masks) (fbff83f by Autumn). - introduce more complex type subtractions that are commutative (17ad8af by Autumn).
- implement a search-and-replace of instruct
Atomicsinside of type hint instances w/o overriding a singleton class instance (39c8084 by Autumn). - implement single level, single
Atomic-descendant removal of attribute names on anAtomic-derived object (termed Skip Keys) (422e7b4 by Autumn).
Performance Improvements
- refactor, allow caching of class subtractions via
FrozenMapping(d3e9ef7 by Autumn).
Bug Fixes
- in case of a tuple of existing types, add to it for the union (bbd1ef6 by Autumn).
- on subtraction of fields that cannot be, just ignore it (08163a5 by Autumn).
- allow overriding of callouts to a class in a
__coerce__function by using a closure intercept (f2be81a by Autumn).
Code Refactoring
- reduce wildcard exports, export
instruct.public_class(...)(890de96 by Autumn). - limit
instruct.show_all_fields, refactorCellTypecreation to a simpler form (ea9d46f by Autumn).
Docs
Tests
- move nameless person to test scope to pass flake8 false negative (6fb8d11 by Autumn).
- document absurdities (f231790 by Autumn).
- note where the cached classes may be looked up (e87d49a by Autumn).
Chore
- add generic type hint param
U(6d12f28 by Autumn). - annotate the
ClassOrInstanceFuncsDescriptor(513c103 by Autumn). - add
CellType(3054875 by Autumn). - add stub for annotated decoding (75efce7 by Autumn).
- add missing type (5f46828 by Autumn).
Continuous Integration
Build
- v0.6.0 release (2784646 by Autumn).
- add trailing newline (526c1de by Autumn).
- ignore build, pytype files (cc2051e by Autumn).
Version v0.5.0
Released 2020-11-10
Compare with v0.4.13 (2 commits since)
Features
- implement for
Literal[...], bump minimumtyping_extensionsversion, bump to v0.5.0 (dbad02c by Autumn).
Docs
- track new design goals (fb1125f by Autumn).
Version v0.4.13
Released 2020-09-30
Compare with v0.4.12 (1 commits since)
Bug Fixes
- correct typo where disabling derived should apply at all times, not only in debug mode, bump to v0.4.13 (4801c14 by Autumn).
Version v0.4.12
Released 2020-09-30
Compare with v0.4.11 (1 commits since)
Bug Fixes
- when
dictis in the __coerce__ types for a key, disablederivedmatching for setters, bump to v0.4.12 (40ebbb3 by Autumn).
Version v0.4.11
Released 2020-07-15
Compare with v0.4.9 (3 commits since)
Features
- add top module level functions (
asdict(),keys(), etc), implementbytessupport forjsonencoding,__coerce__may now have a tuple of field names in place of a field name to assign a single coercion to multiple attributes, bump to v0.4.11 (9bb6344 by Autumn). - implement metaclass support of
keys()/values()/items()/to_json()(allows class definitions to override those names but still recover it via the type or metaclass), addtuple,list,dictandNamedTuple-like helper functions, bump to v0.4.10 (1ee382a by Autumn).
Chore
- preallocate names, values, ids before test (373d6a2 by Autumn).
Version v0.4.9
Released 2020-07-07
Compare with v0.4.8 (1 commits since)
Bug Fixes
- correct issue where keyword only defaults were stripped, bump to v0.4.9 (97ed502 by Autumn).
Version v0.4.8
Released 2020-07-02
Compare with v0.4.7 (1 commits since)
Bug Fixes
- update
README.rst, allow class definition in IDLE sessions, bump to v0.4.8 (2e70769 by Autumn).
Version v0.4.7
Released 2020-07-02
Compare with v0.4.6 (2 commits since)
Features
- implement
dataclass/NamedTuple-like type hinting, allow for overriding of autogenerated magic methods while allowing arglesssuper()in their overrides, bump to v0.4.7 (b71398b by Autumn).
Build
- fix
precommitto olderblackbecause I feel the new tuple unpacking style for everything is rather noisy (00e9450 by Autumn).
Version v0.4.6
Released 2020-05-11
Compare with v0.4.5 (5 commits since)
Features
- allow subtraction of fields on an adhoc basis, bump to v0.4.6 (59cf2b1 by Autumn).
- add helper function to typedef to check if atomic type class or meta (a280f4b by Autumn).
Bug Fixes
- avoid calling
parse_typedefon__coerce__ = None(4018332 by Autumn).
Code Refactoring
- refactor to make clearer, rename
dataclasstoconcrete_classto signal "don't touch this" (2342e46 by Autumn).
Docs
- document
``typedef.py``to be clearer, remove erroneous cast to type (802cc67 by Autumn).
Version v0.4.5
Released 2020-02-14
Compare with v0.4.4 (1 commits since)
Performance Improvements
- keep a weak reference to the owning classes to avoid constant rebinding for one-time class definitions, bump to v0.4.5 (fa6b459 by Autumn Jolitz).
Version v0.4.4
Released 2020-02-10
Compare with v0.4.3 (1 commits since)
Features
- order preserving
keys()on an instance, provide class-levelkeys(), implement positional arguments, bump to v0.4.4 (87c1b6f by Autumn Jolitz).
Version v0.4.3
Released 2020-01-06
Compare with v0.4.2 (3 commits since)
Performance Improvements
- at
class ....definition time, track if the property type list may have a collection ofAtomicdescendants (allows one to check a mapping instead of type hints) (ff812db by Autumn Jolitz).
Tests
- functions for determining if it contains a collection/mapping of
Atomic-descendents inclass ...definition (95f79a5 by Autumn Jolitz).
Other
- [about] 0.4.3 (eb70a1c by Autumn Jolitz).
Version v0.4.2
Released 2019-10-13
Compare with v0.4.1 (2 commits since)
Features
- preserve original slots at
_slots, improve FrozenMapping interface, bump to v0.4.2 (44ab8dc by Autumn Jolitz).
Version v0.4.1
Released 2019-10-13
Compare with v0.4.0 (1 commits since)
Bug Fixes
- restrict flatten to only merge list, tuple, generators, bump to v0.4.1 (1d922a4 by Autumn Jolitz).
Version v0.4.0
Released 2019-09-18
Compare with v0.3.8 (1 commits since)
Features
- finer grained exceptions, support
[]on properties, renameskiptodataclass, impllement ability to handle property type violations with a handler function, bump to v0.4.0 (15d26a5 by Autumn Jolitz).
Version v0.3.8
Released 2019-08-22
Compare with v0.3.7 (1 commits since)
Bug Fixes
Mappingimmutability onto_json, enforce__coerce__constraints, bump to v0.3.8 (a45e1b1 by Autumn Jolitz).
Version v0.3.7
Released 2019-08-07
Compare with v0.3.5 (1 commits since)
Bug Fixes
- correct singular exception, bump to v0.3.7 (103739b by Autumn Jolitz).
Version v0.3.5
Released 2019-08-07
Compare with v0.3.4 (2 commits since)
Features
- explicitly support
Tuple[Type, ...],Dict[KeyType, ValueType], bump to v0.3.5 (8903c5b by Autumn Jolitz).
Build
- add black (3ed3a00 by Autumn Jolitz).
Version v0.3.4
Released 2019-04-30
Compare with v0.3.3 (4 commits since)
Features
- support redefining properties on inherited members if explicitly called out, bump to v0.3.4 (f60943f by Autumn Jolitz).
Chore
- pass type check in
``typedef.py``(d9ef56c by Autumn Jolitz).
Build
- add in hooks for mypy and pytype (0c0b526 by Autumn Jolitz).
- add in defintions for type checkers (8834579 by Autumn Jolitz).
Version v0.3.3
Released 2019-04-22
Compare with v0.3.2 (3 commits since)
Chore
- add type hints (0c7f6bb by Autumn Jolitz).
- add project type hint definitions (da3c079 by Autumn Jolitz).
Build
- bump to v0.3.3 (0eb1781 by Autumn Jolitz).
Version v0.3.2
Released 2019-03-19
Compare with v0.3.1 (1 commits since)
Bug Fixes
Version v0.3.1
Released 2019-03-09
Compare with v0.3.0 (1 commits since)
Features
- expose
_column_typesfor mixins, bump to v0.3.1 (11636dc by Autumn Jolitz).
Version v0.3.0
Released 2019-02-11
Compare with v0.2.7 (1 commits since)
Bug Fixes
- renormalize the changes list, bump to v0.3.0 (01c37b1 by Autumn Jolitz).
Version v0.2.7
Released 2019-02-06
Compare with v0.2.6 (1 commits since)
Features
- identify as a
Mapping, bump to v0.2.7 (fe23126 by Autumn Jolitz).
Version v0.2.6
Released 2019-02-06
Compare with v0.2.5 (1 commits since)
Features
- add in a
from_jsontop level helper, bump to v0.2.6 (c57eb16 by Autumn Jolitz).
Version v0.2.5
Released 2019-02-06
Compare with v0.2.4 (1 commits since)
Bug Fixes
- correct
__qualname__for internal dataclasses, bump to v0.2.5 (e611963 by Autumn Jolitz).
Version v0.2.4
Released 2019-02-06
Compare with v0.2.3 (3 commits since)
Bug Fixes
- correct
__qualname__,__module__on dataclass instances, bump to v0.2.4 (f9c1362 by Autumn Jolitz). - remove leading
_(6b2bfbb by Autumn Jolitz).
Tests
- verify JSON and mutable values (a54d2a8 by Autumn Jolitz).
Version v0.2.3
Released 2019-02-05
Compare with v0.2.2 (1 commits since)
Features
- assume immutable copies if possible, bump to v0.2.3 (0767baf by Autumn Jolitz).
Version v0.2.2
Released 2019-02-04
Compare with v0.2.1 (1 commits since)
Features
- add class name into class creation failure message, bump to v0.2.2 (789b948 by Autumn Jolitz).
Version v0.2.1
Released 2019-02-04
Compare with v0.2.0 (2 commits since)
Features
- use the
globals()for overridden props from__module__(f61e851 by Autumn Jolitz).
Build
- bump to v0.2.1 (bc4d30c by Autumn Jolitz).
Version v0.2.0
Released 2019-02-04
Compare with v0.1.1 (4 commits since)
Features
- use _{key}_ for internal access (d647e21 by Autumn Jolitz).
- rename the internal of
_raw_{key}to_{key}_, fix up__class__reference for arglesssuper()calls (2690415 by Autumn Jolitz).
Tests
- add test for
clear()(573c535 by Autumn Jolitz).
Build
- bump to v0.2.0 (4d376a4 by Autumn Jolitz).
Version v0.1.1
Released 2019-02-01
Compare with v0.1.0 (1 commits since)
Bug Fixes
- remove errant debug print, bump to v0.1.1 (8ef5e5e by Autumn Jolitz).
Version v0.1.0
Released 2019-02-01
Compare with v0.0.21 (1 commits since)
Features
- support 1-level
Iterable[Base]->JSON, hooks, better pickling,__setitem__on class, bump to v0.1.0 (2f0feea by Autumn Jolitz).
Version v0.0.21
Released 2018-12-19
Compare with v0.0.20 (1 commits since)
Tests
- more tests, bump to v0.0.21 (52a75e6 by Autumn Jolitz).
Version v0.0.20
Released 2018-12-19
Compare with v0.0.19 (1 commits since)
Features
- track coerce types, bump to v0.0.20 (a5c96ca by Autumn Jolitz).
Version v0.0.19
Released 2018-12-19
Compare with v0.0.18 (2 commits since)
Features
- support nested List better, bump to v0.0.19 (9f48c95 by Autumn Jolitz).
Tests
- fix test atomic (10a7e56 by Autumn Jolitz).
Version v0.0.18
Released 2018-12-19
Compare with v0.0.17 (3 commits since)
Bug Fixes
- error on generics, support nested lists, bump to v0.0.18 (96582de by Autumn Jolitz).
Chore
- ignore python/ venv and .pytest_cache (4ab0a70 by Autumn Jolitz).
- remove inaccurate
setup.cfg(6709054 by Autumn Jolitz).
Version v0.0.17
Released 2018-12-14
Compare with v0.0.16 (1 commits since)
Bug Fixes
- fix type message, bump to v0.0.17 (ded8a9c by Autumn Jolitz).
Version v0.0.16
Released 2018-12-13
Compare with v0.0.15 (1 commits since)
Features
- fix history truncation, bump to v0.0.16 (e18a73c by Autumn Jolitz).
Version v0.0.15
Released 2018-12-13
Compare with v0.0.14 (1 commits since)
Bug Fixes
- support correct property accounting (431742d by Autumn Jolitz).
Version v0.0.14
Released 2018-12-13
Compare with v0.0.13 (1 commits since)
Features
- now with better type names, bump to v0.0.14 (9a1994f by Autumn Jolitz).
Version v0.0.13
Released 2018-12-12
Compare with v0.0.12 (1 commits since)
Features
- index properties onto the class, bump to v0.0.13 (aabef91 by Autumn Jolitz).
Version v0.0.12
Released 2018-12-12
Compare with v0.0.11 (1 commits since)
Features
- supports overrideable type errors, bump version to v0.0.12 (2b7746a by Autumn Jolitz).
Version v0.0.11
Released 2018-12-11
Compare with v0.0.10 (1 commits since)
Bug Fixes
- Correct bug in class keyword argument
fast=True, bump version to v0.0.11 (eb7e57f by Autumn Jolitz).
Version v0.0.10
Released 2018-12-11
Compare with v0.0.9 (1 commits since)
Features
- add in
**mappingsupport (e07105e by Autumn Jolitz).
Version v0.0.9
Released 2018-12-11
Compare with v0.0.8 (1 commits since)
Code Refactoring
- restructure and introduce better naming (99e1ae8 by Autumn Jolitz).
Version v0.0.8
Released 2018-12-11
Compare with v0.0.7 (1 commits since)
Features
- Support generation of custom types to match requirements (a1a5643 by Autumn Jolitz).
Version v0.0.7
Released 2018-12-10
Compare with v0.0.6 (1 commits since)
Bug Fixes
- restore
__hash__to data classes (0e9ef2b by Autumn Jolitz).
Version v0.0.6
Released 2018-12-10
Compare with v0.0.5 (1 commits since)
Features
- make it possible to get the parent support class (9088c1f by Autumn Jolitz).
Version v0.0.5
Released 2018-12-10
Compare with v0.0.4 (1 commits since)
Features
- Python 3.7 focus (d32a4e9 by Autumn Jolitz).
Version v0.0.4
Released 2018-12-10
Compare with v0.0.3 (2 commits since)
Features
- allow use of
typeas a attribute name (8d91b48 by Autumn Jolitz).
Chore
- bump version (3848f59 by Autumn Jolitz).
Version v0.0.3
Released 2018-12-10
Compare with v0.0.2 (1 commits since)
Build
- this is not a universal build (1e3bab8 by Autumn Jolitz).
Version v0.0.2
Released 2018-12-10
Compare with v0.0.1 (1 commits since)
Features
- updates for Python 3.7 (0ed83ef by Autumn Jolitz).
Version v0.0.1
Released 2018-12-09
Compare with first commit (20 commits since)
Features
- update for Python 3.6 (004caba by Autumn Jolitz).
- Add JSON, pickle, and coercion (allows casting from
Ntypes to an appropriate type) (8fe8aa2 by Autumn Jolitz). - Add field linkages (9531dad by Autumn Jolitz).
- Support multiple inheritance, optimize edge classes (2d7a4fa by Autumn Jolitz).
- Use Jinja to handle the macro-work (487fa3d by Autumn Jolitz).
- Optimize through use of
__new__to seed vital fields ahead of time (48f29d3 by Autumn Jolitz). - Support derived embedded classes and duck-eqing them (b514f07 by Autumn Jolitz).
- Flush out an idea (3d80b09 by Autumn Jolitz).
Performance Improvements
- Increase performance through codegen of constant structural cases (f51acac by Autumn Jolitz).
Bug Fixes
- bugfixes (7803843 by Autumn Jolitz).
Docs
- update (24ad8fd by Autumn Jolitz).
- update intent (9ecfb23 by Autumn Jolitz).
- Add docs (d0fb82c by Autumn Jolitz).
- Log performance (efe710a by Autumn Jolitz).
- Log my approach (d6972e8 by Autumn Jolitz).
Dependencies
- add pytest dependency (7b1022a by Autumn Jolitz).
Tests
- add test for the readme (ce75dfd by Autumn Jolitz).
Chore
- Delete unused code (93e8791 by Autumn Jolitz).
Build
- initial release of just the object structure (9c43431 by Autumn Jolitz).