Skip to content

Releases: autumnjolitz/instruct

Release 0.8.4

30 Jul 23:08
Compare
Choose a tag to compare

Released 2024-07-30

Compare with v0.8.3 (2 commits since)

Bug Fixes

  • adjust copy_with to attempt to use __class_getitem__ as the fallback (2117a8d by Autumn).

Checksums

SHA2-256(instruct-0.8.4-py3-none-any.whl)= 27dedaf8a45564d615420341a34405f79d6cea0184ad6f893d96cf7757103d2e
SHA2-256(instruct-0.8.4.tar.gz)= 3c261cf8fe3155eac36876ab8298cd883d6e2af6c1562a7f30924311728de151

Release 0.8.3

30 Jul 21:05
Compare
Choose a tag to compare

Released 2024-07-30

Compare with v0.8.2 (13 commits since)

Bug Fixes

  • correct subtype generation for 3.10+ types.UnionTypes (50a7439 by Autumn).
  • add mode to benchmarking, refactor slightly (1e0e821 by Autumn).
  • fast=True now supports all event listener forms (9bf8489 by Autumn).
  • __main__ now can run benchmark again (67d59fd by Autumn).

Other

  • feature: implement simple type alias = hint (3.12+) (e9e0ac7 by Autumn).

Checksums

SHA2-256(instruct-0.8.3-py3-none-any.whl)= aa24a91d936b0ae8558a2104fac05f9c446f0ce217c42e6313e376a6dd249473
SHA2-256(instruct-0.8.3.tar.gz)= 92f5d01686237929c184944b4f29283b401fb09870fe62c79c1b09c95a91f5b3

Release 0.8.2

23 Jul 09:39
Compare
Choose a tag to compare

Release 2024-07-23

Bug Fixes

  • handle fixed tuples correctly (f1ab15f by Autumn).
  • use types.CodeType.replace(...) when available (0930b36 by Autumn).

Checksums

SHA2-256(instruct-0.8.2-py3-none-any.whl)= a959eeb50145404eef80a38b6a617693504305449b78c10abd7e73f23fe215c3
SHA2-256(instruct-0.8.2.tar.gz)= 8f1a9f2d1a982cc4036c4263bb4f945ac9761e9cd756046741482e5f2db33f83

Release 0.8.1

16 Jul 19:48
Compare
Choose a tag to compare

Release 2024-07-16

Bug Fixes

  • avoid raising an exception inside testing tuple structure for a custom type (bd4ce81 by Autumn).

Checksums

SHA2-256(instruct-0.8.1-py3-none-any.whl)= b3b3bb5c44aed1337759657d33b7f335bf67fd5b2920642345fd656d3b0aa728
SHA2-256(instruct-0.8.1.tar.gz)= 370daedae11f3272dab626815480aa07b02cacb2ed59db59935bbb43a111c563

Release 0.8.0

10 Jul 01:26
Compare
Choose a tag to compare

Release 2024-07-10

Checksums

SHA2-256(instruct-0.8.0-py3-none-any.whl)= 0a6837a878ba098e286e62a7bc1ca95a248114ce72dcef9b1c6d9713cca485a2
SHA2-256(instruct-0.8.0.tar.gz)= 20975148cb91e2ca18ec5dafeacbe687c432c1b5228d17be87dd166201230c4d

Release 0.8.0a1

27 Jun 23:00
Compare
Choose a tag to compare

Release 2024-06-27

Bug Fixes

  • exceptions will not list the stack in a json output (1981a23 by Autumn).
  • utils for 3.7 cannot specialize the WeakKeyDictionary, so guard behind TYPE_CHECKING (4238fa7 by Autumn).
  • satisfy type checker for non-3.12 (2ce45fd by Autumn).
  • added type hint for exceptions __json__ method (86c76ff by Autumn).
  • ignore mypy error from an attribute test (9a45b6b by Autumn).
  • tests post refactor (516c6ba by Autumn).
  • add git changelog helper (3100d65 by Autumn Jolitz).

Code Refactoring

  • add type hints, restructure to be more specific (5c56e5c by Autumn).

Other

  • Merge remote-tracking branch 'origin/master' into prerelease/0.8.0a0 (addca84 by Autumn).
  • remove: pytype overlay as it is not used (d88f86e by Autumn).
  • change: instruct/about.py will be structured for tuple comparisions like >= (0, 8, 0) (f95b321 by Autumn).
  • [README] try to make more friendly for github (3d4d145 by Autumn Jolitz).

Checksums

SHA2-256(instruct-0.8.0a1-py3-none-any.whl)= 0c5b06da405d136a2dc4ed83f4fa8da79b5e916bacb0b6edc1dfd8e7c5f9b3e2
SHA2-256(instruct-0.8.0a1.tar.gz)= f320bf423438245506e1a185e4f46b0355136db2b2e0f82a3dbb7a81d841ae52

Release 0.8.0a0

18 Jun 03:34
Compare
Choose a tag to compare

.. |Changes|

Version 0.7.4

Release 2023-12-10

  • [.github] mess with development one (725005e <https://github.com/autumnjolitz/instruct/commit/725005ec0363e83857d1e308937e95e29cbe4d18>_ by Autumn Jolitz).
  • [*] refactor build, add invoke interface as my makefile (fd8e724 <https://github.com/autumnjolitz/instruct/commit/fd8e7245cddb2aa8c6f93f27a515a2c0ca5f0649>_ by Autumn Jolitz).
  • [README] add badges (b30a7bc <https://github.com/autumnjolitz/instruct/commit/b30a7bcd7344393a7c7fd94a383f30d5a85b4a6e>_ by Autumn).
  • [release] test before upload (4431408 <https://github.com/autumnjolitz/instruct/commit/44314086aeb1be094a2bdd2ef7fff7f645abaede>_ by Autumn).
  • [0.7.3.post1] bump version for pypi (ade6cd8 <https://github.com/autumnjolitz/instruct/commit/ade6cd882d2771f4abe9927e78614886f7f01ad6>_ by Autumn).
  • [*] Port instruct to newer Python versions (#3) (19c30b2 <https://github.com/autumnjolitz/instruct/commit/19c30b278c23cc63fadbbaeadc30409c15bce098>_ by Autumn Jolitz).

Version 0.7.3

Release 2023-07-18

  • add notes on use of Range and friends
  • Export RangeFlags from __init__
  • Unlock typing-extensions range

Version 0.7.2

Release 2022-05-13

  • Add dummy __iter__ to SimpleBase which addresses principal of least astonishment for an empty class

Version 0.7.1

Release 2022-05-13

  • Add devel to setup extras
  • export clear, reset_to_defaults
  • make _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__ for public_class calls
  • Remove fast_new in favor of using _set_defaults
  • Allow __public_class__ to be overridden in rare cases

Version 0.7.0

Release 2022-05-12

  • Add change log
  • Correct README example (it works!)
  • Correct bug where _asdict, _astuple, _aslist were not added to an empty class
  • Allow use of Annotation[type, ...others...] in type definitions
    • Support use of Range in a type Annotation to restrict the range of values allowed for a type
    • Support use of NoPickle, NoJSON, NoIterable to skip fields from pickling, JSON dumping and __iter__ respectively
      • _asdict/_astuple/_aslist will still return ALL values within an instruct-class.
    • The field _annotated_metadata on a class contains a mapping of field_name -> (...others...)
  • Correct a bug where Literal[Enum.Value] would erroneously allow a matching non-Enum value if the __eq__ on the Enum was overridden to allow it
    • We now check via is and on __eq__ checks we check the type as well to reject the wrong types
  • Upgrade to Jinja2 for the 3.x series!
  • Upgrade typing-extensions to 4.2.0
  • Mark support as Python 3.7+

Release 0.7.5.post2

29 Feb 20:01
Compare
Choose a tag to compare

.. |Changes|

Version 0.7.4

Release 2023-12-10

  • [.github] mess with development one (725005e <https://github.com/autumnjolitz/instruct/commit/725005ec0363e83857d1e308937e95e29cbe4d18>_ by Autumn Jolitz).
  • [*] refactor build, add invoke interface as my makefile (fd8e724 <https://github.com/autumnjolitz/instruct/commit/fd8e7245cddb2aa8c6f93f27a515a2c0ca5f0649>_ by Autumn Jolitz).
  • [README] add badges (b30a7bc <https://github.com/autumnjolitz/instruct/commit/b30a7bcd7344393a7c7fd94a383f30d5a85b4a6e>_ by Autumn).
  • [release] test before upload (4431408 <https://github.com/autumnjolitz/instruct/commit/44314086aeb1be094a2bdd2ef7fff7f645abaede>_ by Autumn).
  • [0.7.3.post1] bump version for pypi (ade6cd8 <https://github.com/autumnjolitz/instruct/commit/ade6cd882d2771f4abe9927e78614886f7f01ad6>_ by Autumn).
  • [*] Port instruct to newer Python versions (#3) (19c30b2 <https://github.com/autumnjolitz/instruct/commit/19c30b278c23cc63fadbbaeadc30409c15bce098>_ by Autumn Jolitz).

Version 0.7.3

Release 2023-07-18

  • add notes on use of Range and friends
  • Export RangeFlags from __init__
  • Unlock typing-extensions range

Version 0.7.2

Release 2022-05-13

  • Add dummy __iter__ to SimpleBase which addresses principal of least astonishment for an empty class

Version 0.7.1

Release 2022-05-13

  • Add devel to setup extras
  • export clear, reset_to_defaults
  • make _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__ for public_class calls
  • Remove fast_new in favor of using _set_defaults
  • Allow __public_class__ to be overridden in rare cases

Version 0.7.0

Release 2022-05-12

  • Add change log
  • Correct README example (it works!)
  • Correct bug where _asdict, _astuple, _aslist were not added to an empty class
  • Allow use of Annotation[type, ...others...] in type definitions
    • Support use of Range in a type Annotation to restrict the range of values allowed for a type
    • Support use of NoPickle, NoJSON, NoIterable to skip fields from pickling, JSON dumping and __iter__ respectively
      • _asdict/_astuple/_aslist will still return ALL values within an instruct-class.
    • The field _annotated_metadata on a class contains a mapping of field_name -> (...others...)
  • Correct a bug where Literal[Enum.Value] would erroneously allow a matching non-Enum value if the __eq__ on the Enum was overridden to allow it
    • We now check via is and on __eq__ checks we check the type as well to reject the wrong types
  • Upgrade to Jinja2 for the 3.x series!
  • Upgrade typing-extensions to 4.2.0
  • Mark support as Python 3.7+

Release 0.7.5

29 Feb 19:34
Compare
Choose a tag to compare

.. |Changes|

Version 0.7.4

Release 2023-12-10

  • [.github] mess with development one (725005e <https://github.com/autumnjolitz/instruct/commit/725005ec0363e83857d1e308937e95e29cbe4d18>_ by Autumn Jolitz).
  • [*] refactor build, add invoke interface as my makefile (fd8e724 <https://github.com/autumnjolitz/instruct/commit/fd8e7245cddb2aa8c6f93f27a515a2c0ca5f0649>_ by Autumn Jolitz).
  • [README] add badges (b30a7bc <https://github.com/autumnjolitz/instruct/commit/b30a7bcd7344393a7c7fd94a383f30d5a85b4a6e>_ by Autumn).
  • [release] test before upload (4431408 <https://github.com/autumnjolitz/instruct/commit/44314086aeb1be094a2bdd2ef7fff7f645abaede>_ by Autumn).
  • [0.7.3.post1] bump version for pypi (ade6cd8 <https://github.com/autumnjolitz/instruct/commit/ade6cd882d2771f4abe9927e78614886f7f01ad6>_ by Autumn).
  • [*] Port instruct to newer Python versions (#3) (19c30b2 <https://github.com/autumnjolitz/instruct/commit/19c30b278c23cc63fadbbaeadc30409c15bce098>_ by Autumn Jolitz).

Version 0.7.3

Release 2023-07-18

  • add notes on use of Range and friends
  • Export RangeFlags from __init__
  • Unlock typing-extensions range

Version 0.7.2

Release 2022-05-13

  • Add dummy __iter__ to SimpleBase which addresses principal of least astonishment for an empty class

Version 0.7.1

Release 2022-05-13

  • Add devel to setup extras
  • export clear, reset_to_defaults
  • make _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__ for public_class calls
  • Remove fast_new in favor of using _set_defaults
  • Allow __public_class__ to be overridden in rare cases

Version 0.7.0

Release 2022-05-12

  • Add change log
  • Correct README example (it works!)
  • Correct bug where _asdict, _astuple, _aslist were not added to an empty class
  • Allow use of Annotation[type, ...others...] in type definitions
    • Support use of Range in a type Annotation to restrict the range of values allowed for a type
    • Support use of NoPickle, NoJSON, NoIterable to skip fields from pickling, JSON dumping and __iter__ respectively
      • _asdict/_astuple/_aslist will still return ALL values within an instruct-class.
    • The field _annotated_metadata on a class contains a mapping of field_name -> (...others...)
  • Correct a bug where Literal[Enum.Value] would erroneously allow a matching non-Enum value if the __eq__ on the Enum was overridden to allow it
    • We now check via is and on __eq__ checks we check the type as well to reject the wrong types
  • Upgrade to Jinja2 for the 3.x series!
  • Upgrade typing-extensions to 4.2.0
  • Mark support as Python 3.7+

Release 0.7.4

10 Dec 05:01
Compare
Choose a tag to compare

Version 0.7.4

Release 2023-12-09

  • Supported more Python versions and implementations:
    • Tier 1 support: CPython 3.8, 3.9, 3.10, 3.11, 3.12
    • Tier 2 support: PyPy 3.7, 3.8, 3.9
    • Tier 3 support: PyPy 3.10
  • Switched to a tag based release model
  • Add infrastructure for running tests

Version 0.7.3

Release 2023-07-18

  • add notes on use of Range and friends
  • Export RangeFlags from __init__
  • Unlock typing-extensions range

Version 0.7.2

Release 2022-05-13

  • Add dummy __iter__ to SimpleBase which addresses principal of least astonishment for an empty class

Version 0.7.1

Release 2022-05-13

  • Add devel to setup extras
  • export clear, reset_to_defaults
  • make _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__ for public_class calls
  • Remove fast_new in favor of using _set_defaults
  • Allow __public_class__ to be overridden in rare cases

Version 0.7.0

Release 2022-05-12

  • Add change log
  • Correct README example (it works!)
  • Correct bug where _asdict, _astuple, _aslist were not added to an empty class
  • Allow use of Annotation[type, ...others...] in type definitions
    • Support use of Range in a type Annotation to restrict the range of values allowed for a type
    • Support use of NoPickle, NoJSON, NoIterable to skip fields from pickling, JSON dumping and __iter__ respectively
      • _asdict/_astuple/_aslist will still return ALL values within an instruct-class.
    • The field _annotated_metadata on a class contains a mapping of field_name -> (...others...)
  • Correct a bug where Literal[Enum.Value] would erroneously allow a matching non-Enum value if the __eq__ on the Enum was overridden to allow it
    • We now check via is and on __eq__ checks we check the type as well to reject the wrong types
  • Upgrade to Jinja2 for the 3.x series!
  • Upgrade typing-extensions to 4.2.0
  • Mark support as Python 3.7+