enum-properties 2.2.4__tar.gz → 2.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {enum_properties-2.2.4 → enum_properties-2.2.5}/PKG-INFO +3 -3
- {enum_properties-2.2.4 → enum_properties-2.2.5}/README.md +2 -2
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/changelog.rst +6 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/pyproject.toml +1 -1
- {enum_properties-2.2.4 → enum_properties-2.2.5}/src/enum_properties/__init__.py +1 -1
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_symmetric.py +25 -2
- {enum_properties-2.2.4 → enum_properties-2.2.5}/uv.lock +1 -1
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.codecov.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.github/dependabot.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.github/workflows/lint.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.github/workflows/release.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.github/workflows/scorecard.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.github/workflows/test.yml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.gitignore +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/.pre-commit-config.yaml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/CODE_OF_CONDUCT.md +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/CONTRIBUTING.md +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/LICENSE +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/SECURITY.md +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/.readthedocs.yaml +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/conf.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/howto.rst +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/index.rst +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/reference.rst +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/doc/source/tutorial.rst +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/justfile +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/src/enum_properties/py.typed +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/__init__.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_flags.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_interface_eq.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_nestedclass.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_none_coercion.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_perf.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_pickle.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_specialize.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/annotations/test_type_hints.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/big_enum.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/big_enum_annotations.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/__init__.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/address.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/color_example.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/hash_equiv_def.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_add_props.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_dataclass.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_dataclass_integration.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_flag.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_flag_boundaries.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_flags_no_iterable.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_hash_equiv.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_hash_equiv_def.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_legacy.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_metaclass.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_nested_classes.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_nested_classes_313.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_specialized.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_specialized_default.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_specialized_list.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_specialized_missing.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_symmetric_builtins.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_symmetric_decorator.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_symmetric_metaclass.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_symmetric_overload.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_symmetry.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_verify_unique.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/mapbox.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/specialization_example.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/symmetric_example.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/test_examples.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/__init__.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_flags.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_interface_eq.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_multi_primitives.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_nestedclass.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_none_coercion.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_perf.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_pickle.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_specialize.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/legacy/test_type_hints.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/pickle_enums.py +0 -0
- {enum_properties-2.2.4 → enum_properties-2.2.5}/tests/pickle_enums_annotations.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: enum-properties
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.5
|
|
4
4
|
Summary: Add properties and method specializations to Python enumeration values with a simple declarative syntax.
|
|
5
5
|
Project-URL: Homepage, https://github.com/bckohan/enum-properties
|
|
6
6
|
Project-URL: Documentation, https://enum-properties.readthedocs.io
|
|
@@ -39,8 +39,8 @@ Description-Content-Type: text/markdown
|
|
|
39
39
|
[](https://pypi.python.org/pypi/enum-properties)
|
|
40
40
|
[](http://enum-properties.readthedocs.io/?badge=latest/)
|
|
41
41
|
[](https://codecov.io/gh/bckohan/enum-properties)
|
|
42
|
-
[](https://github.com/bckohan/enum-properties/actions/workflows/test.yml?query=branch:main)
|
|
43
|
+
[](https://github.com/bckohan/enum-properties/actions/workflows/lint.yml?query=branch:main)
|
|
44
44
|
|
|
45
45
|
Add properties to Python enumeration values with a simple declarative syntax. [Enum Properties](https://enum-properties.readthedocs.io/en/latest) is a lightweight extension to [Python's Enum class](https://docs.python.org/3/library/enum.html). Example:
|
|
46
46
|
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
[](https://pypi.python.org/pypi/enum-properties)
|
|
8
8
|
[](http://enum-properties.readthedocs.io/?badge=latest/)
|
|
9
9
|
[](https://codecov.io/gh/bckohan/enum-properties)
|
|
10
|
-
[](https://github.com/bckohan/enum-properties/actions/workflows/test.yml?query=branch:main)
|
|
11
|
+
[](https://github.com/bckohan/enum-properties/actions/workflows/lint.yml?query=branch:main)
|
|
12
12
|
|
|
13
13
|
Add properties to Python enumeration values with a simple declarative syntax. [Enum Properties](https://enum-properties.readthedocs.io/en/latest) is a lightweight extension to [Python's Enum class](https://docs.python.org/3/library/enum.html). Example:
|
|
14
14
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "enum-properties"
|
|
7
|
-
version = "2.2.
|
|
7
|
+
version = "2.2.5"
|
|
8
8
|
description = "Add properties and method specializations to Python enumeration values with a simple declarative syntax."
|
|
9
9
|
requires-python = ">=3.8,<4.0"
|
|
10
10
|
authors = [
|
|
@@ -19,7 +19,7 @@ from collections.abc import Generator, Hashable, Iterable
|
|
|
19
19
|
from dataclasses import dataclass
|
|
20
20
|
from functools import cached_property
|
|
21
21
|
|
|
22
|
-
VERSION = (2, 2,
|
|
22
|
+
VERSION = (2, 2, 5)
|
|
23
23
|
|
|
24
24
|
__title__ = "Enum Properties"
|
|
25
25
|
__version__ = ".".join(str(i) for i in VERSION)
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
from unittest import TestCase
|
|
2
|
-
from typing_extensions import Annotated
|
|
3
|
-
|
|
4
2
|
from enum_properties import EnumProperties, symmetric
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
if sys.version_info[0:2] >= (3, 11):
|
|
6
|
+
from enum import property as enum_property
|
|
7
|
+
else:
|
|
8
|
+
from types import DynamicClassAttribute as enum_property
|
|
5
9
|
|
|
6
10
|
|
|
7
11
|
class TestSymmetricDecorator(TestCase):
|
|
@@ -82,3 +86,22 @@ class TestSymmetricDecorator(TestCase):
|
|
|
82
86
|
self.assertTrue(SymEnum(SymEnum.ONE.label) is SymEnum.ONE)
|
|
83
87
|
self.assertTrue(SymEnum(SymEnum.TWO.label) is SymEnum.TWO)
|
|
84
88
|
self.assertTrue(SymEnum(SymEnum.THREE.label) is SymEnum.THREE)
|
|
89
|
+
|
|
90
|
+
def test_make_enum_properties_symmetric(self):
|
|
91
|
+
class SymEnum(EnumProperties):
|
|
92
|
+
ONE = 1
|
|
93
|
+
TWO = 2
|
|
94
|
+
THREE = 3
|
|
95
|
+
|
|
96
|
+
@symmetric(case_fold=True)
|
|
97
|
+
@enum_property
|
|
98
|
+
def label(self):
|
|
99
|
+
return self.name
|
|
100
|
+
|
|
101
|
+
self.assertEqual(SymEnum.ONE.label, "ONE")
|
|
102
|
+
self.assertEqual(SymEnum.TWO.label, "TWO")
|
|
103
|
+
self.assertEqual(SymEnum.THREE.label, "THREE")
|
|
104
|
+
|
|
105
|
+
self.assertTrue(SymEnum("one") is SymEnum.ONE)
|
|
106
|
+
self.assertTrue(SymEnum("tWo") is SymEnum.TWO)
|
|
107
|
+
self.assertTrue(SymEnum("THRee") is SymEnum.THREE)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{enum_properties-2.2.4 → enum_properties-2.2.5}/tests/examples/howto_dataclass_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|