15
0
forked from pool/python-atom
Commit Graph

15 Commits

Author SHA256 Message Date
871eae200b - Update to 0.11.0:
* Fix ruff config by @MatthieuDartiailh in #209
  * Add FixedTuple member enforcing a given number of items by
    @MatthieuDartiailh in #211
  * Fix memory leak in pickle creation by @MatthieuDartiailh in #213
  * 3.13 support by @MatthieuDartiailh in #214

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=28
2024-10-29 05:21:40 +00:00
1c85f2619b Accepting request 1195280 from home:frantisek.simorda:branches:openSUSE:Factory
- Update to 0.10.5:
  * fix ruff config 
  * Merge pull request #209 from nucleic/ruff-fixes
  * ci: do not build oldest python on macos 
  * Fix memory leak in pickle creation (#213)

OBS-URL: https://build.opensuse.org/request/show/1195280
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=26
2024-08-30 10:48:53 +00:00
b317e90189 - update to 0.10.4:
* allow unions in TypeVar bound PR #207

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=24
2024-01-30 12:02:23 +00:00
49d548c3d9 - update to 0.10.3:
* fix a an issue when using add_member to override an existing
    membe
  * fix a memory leak caused by Dict, Defaultdict and Set members
  * add support for Python 3.12 PR #200
    was called
  * clarify Unicode deprecation warning PR #102

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=22
2023-10-05 09:46:59 +00:00
ab89393971 - add sle15_python_module_pythons as it requires python >= 3.8
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=20
2023-06-01 07:57:23 +00:00
61d13ba3a5 - update to 0.10.0:
* AtomMeta: create the class only once all members have been
    customized
    This allows to use ``__init_subclass__`` since previously the
    ``__atom_members__`` was not set when ``__init_subclass__``
    was called 
  * illustrate the use of ``__init_subclass__`` to customize
    pickling
  * refactor the metaclass to make it easier to reason about
  * add a ``DefaultDict`` member which enforce the value to be a
    dictionary and use a factory for missing keys. The factory
    is set at the member level and a normal dict can be provided
    as value. When possible the factory is deduced from the member
    used for validation.
  * infer the use of ``DefaultDict`` from a
    ``collections.defaultdict`` annotation

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=18
2023-05-09 19:29:52 +00:00
c08513b356 - update to 0.9.1:
* fix generation of Value member from union containing
    object/Any PR #198
  * fix setdefault method of atomdict to return the actually
    stored item PR #197

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=16
2023-04-16 16:47:48 +00:00
182c869975 - update to 0.9.0:
* fix the generation of Subclass from type annotations PR #193
  * move getstate and setstate implementation to C and allow to
    customize the condition under which a member value is
    pickled. PR #182
  * Customization is used to only pickle member value whose
    state can be restored (for example Constant is not
    pickled). Whether a member is pickled can be customized
    using a method prefixed with ``_getstate_`` on an Atom
    subclass.
  * use the Typed member when a type annotation resolve to a
    single type whose metaclass does not implement a custom
    ``__instancecheck__`` PR #185
  * generate Tuple member for tuple[] annotations.
    The content of the tuple is typed check only if it is a
    1-tuple or variable-length tuple. PR #184
  * fix the resolution order of members in the presence of
    multiple inheritance with a common base class PR
  * Due to the above changes, adding a member after the class
    definition requires more work than before. As a
    consequence a new helper function ``add_member`` has
    been added.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=14
2023-03-01 13:57:06 +00:00
fa8da4313d Accepting request 1043240 from home:bnavigator:branches:devel:languages:python
- Update to 0.8.2
  * fix handling of Union in annotation based class definition PR
    #177
- Release 0.8.1
  * add support for Python 3.11 PR #166
- Release 0.8.0
  * This release introduced a new way to declare atom object based
    on type annotations.
  * emit warnings when a magic method points to an undefined member
    PR #139 #149
  * use isort, black and flake8 to ensure a consistent coding style
    PR #141
  * base the version number on the most recent git tag using
    setuptools-scm PR #141
  * make the setup compatible with PEP 517 and PEP 621 compliant PR
    #141 #162 Pip should be used for development install in place
    of directly calling setup.py
  + fix handling of _SpecialGenericAlias (typing.Sequence, ...)
    when used inside an Instance member PR #151
  * add a ChangeDict TypedDict to help annotate observers PR #133
  * add several keyword argument to the AtomMeta metaclass PR #133
    - enable_weakrefs: allow to have weak references to an Atom
      object without having to add the slot by hand. False by
      default.
    - use_annotations: generate members from type annotations.
      Str-like annotations are not supported but allowed when an
      actual member is provided as default value. True by default.
    - type_containers: in conjunction with use_annotations
      determine to what depth to type the content of a container.
      The default is 1 meaning that list[int] will use List(Int())
      but list[list[int]] will use List(List()).
  * allow specifying which change events are emitted when adding
    static observers PR #155

OBS-URL: https://build.opensuse.org/request/show/1043240
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=12
2022-12-16 08:23:21 +00:00
aadb3ec20a Accepting request 936060 from home:glaubitz:branches:devel:languages:python
- Update to 0.7.0:
  * allow to use any subscribed type in Typed and Instance. Optional and Union are
    analyzed to extract the tuple of types to validate. The presence of NoneType in
    the tuple will make the member optional. For container types (list, dict, set, etc)
    the content types is not used beyond static type validation. PR #136 #140
    Note however that this usage of Optional and Union breaks static analyzer currently,
    while things deriving from an actual type will work as expected (List[int], list[int],
    Iterable[int])
  * make the factory argument of Typed, Instance and their forwarded version
    keyword only. PR #123
  * add a keyword-only argument to Typed, Instance and their forwarded
    version: ``optional``. When set to False, this will cause those members to
    reject None as a valid value. The default value, None, will resolve to True
    if there is no provided way to build a default value. PR #123 # 131
    This is backward incompatible since previously None was always a valid value.
  * the Instance and Typed variants of the Validate enum have been renamed to
    OptionalInstance, OptionalTyped and new Instance and Typed variant describing
    the validation behavior for the member with optional=False have been added. PR #123
  * consistently use Instance to wrap types passed to containers. PR #123
    For containers, Instance members used for validation are created with
    optional=False by default. This is backward incompatible since None was always
    a valid value previously.
  * add strict argument to FloatRange. PR #124
  * allow to specify the type of ReadOnly and Constant. PR #128
    The validation is done using the Instance validator. The change for ReadOnly
    is backward incompatible since the type or tuple of type is the first argument
    in place of the default value. Specifying the default value by keyword is both
    forward and backward compatible.
  * use python stdlib IntEnum instead of the custom one in atom  PR #122
  * remove the custom atom.IntEnum  PR #122

OBS-URL: https://build.opensuse.org/request/show/936060
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=11
2021-12-06 17:28:07 +00:00
89a379a3c2 - Update to 0.6.0:
* Add support for Python 3.9 and remove deprecated members.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=9
2021-01-05 05:45:02 +00:00
e5df3a8598 - Update to 0.5.2:
* make comparison used in C safe (fix bug introduced in 0.5.0) PR #107
  * fix bug in using atomlist from C PR #102
  * clarify Unicode deprecation warning PR #102

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=7
2020-08-27 05:06:19 +00:00
a34c0eb36d - Update to 0.5.0:
* drop Python 2 support PR #83
  * use cppy to write the c++ extension PR #83
  * add c++ implememtation of AtomDict PR #93
  * add a Set member PR #93

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=5
2020-05-07 02:49:55 +00:00
Tomáš Chvátal
3666cb8dc0 - Update to 0.4.3:
* Remove dependency on future which was slowing down import time
- Switch to github tarball for tests and license

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=3
2019-03-06 13:09:45 +00:00
Todd R
4ff64c26cc OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-atom?expand=0&rev=1 2018-05-15 15:49:08 +00:00