ducktools-classbuilder 0.7.3__tar.gz → 0.7.4__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.

Potentially problematic release.


This version of ducktools-classbuilder might be problematic. Click here for more details.

Files changed (92) hide show
  1. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/PKG-INFO +1 -1
  2. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/__init__.py +0 -5
  3. ducktools_classbuilder-0.7.4/src/ducktools/classbuilder/_version.py +2 -0
  4. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools_classbuilder.egg-info/PKG-INFO +1 -1
  5. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools_classbuilder.egg-info/SOURCES.txt +0 -1
  6. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_creation.py +0 -9
  7. ducktools_classbuilder-0.7.3/src/ducktools/classbuilder/_version.py +0 -2
  8. ducktools_classbuilder-0.7.3/tests/prefab/shared/examples/fails/creation_1.py +0 -6
  9. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.github/dependabot.yml +0 -0
  10. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.github/workflows/auto_test.yml +0 -0
  11. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.github/workflows/publish_to_pypi.yml +0 -0
  12. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.github/workflows/publish_to_testpypi.yml +0 -0
  13. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.gitignore +0 -0
  14. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/.readthedocs.yaml +0 -0
  15. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/LICENSE.md +0 -0
  16. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/MANIFEST.in +0 -0
  17. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/README.md +0 -0
  18. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/Makefile +0 -0
  19. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/api.md +0 -0
  20. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/approach_vs_tool.md +0 -0
  21. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/conf.py +0 -0
  22. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/extension_examples.md +0 -0
  23. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/generated_code.md +0 -0
  24. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/index.md +0 -0
  25. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/make.bat +0 -0
  26. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/perf/performance_tests.md +0 -0
  27. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/prefab/index.md +0 -0
  28. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs/tutorial.md +0 -0
  29. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex10_frozen_attributes.py +0 -0
  30. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex1_basic.py +0 -0
  31. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex2_register.py +0 -0
  32. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex3_iterable.py +0 -0
  33. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex5_frozen.py +0 -0
  34. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex7_posonly.py +0 -0
  35. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex8_converters.py +0 -0
  36. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/docs_ex9_annotated.py +0 -0
  37. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/docs_code/tutorial_code.py +0 -0
  38. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/perf/cluegen.py +0 -0
  39. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/perf/dataklasses.py +0 -0
  40. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/perf/hyperfine_testmaker.py +0 -0
  41. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/perf/perf_profile.py +0 -0
  42. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/pyproject.toml +0 -0
  43. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/setup.cfg +0 -0
  44. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/__init__.pyi +0 -0
  45. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/annotations.py +0 -0
  46. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/annotations.pyi +0 -0
  47. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/prefab.py +0 -0
  48. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/prefab.pyi +0 -0
  49. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools/classbuilder/py.typed +0 -0
  50. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools_classbuilder.egg-info/dependency_links.txt +0 -0
  51. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools_classbuilder.egg-info/requires.txt +0 -0
  52. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/src/ducktools_classbuilder.egg-info/top_level.txt +0 -0
  53. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/annotations/test_annotated.py +0 -0
  54. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/annotations/test_annotations_module.py +0 -0
  55. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/annotations/test_future_annotations.py +0 -0
  56. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/conftest.py +0 -0
  57. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_compare_attrib.py +0 -0
  58. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_construction.py +0 -0
  59. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_frozen.py +0 -0
  60. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_internals.py +0 -0
  61. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_pre_post_init.py +0 -0
  62. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_private.py +0 -0
  63. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_slots_novalues.py +0 -0
  64. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_slotted_class.py +0 -0
  65. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/dynamic/test_subclass_implementation.py +0 -0
  66. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/conftest.py +0 -0
  67. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/creation.py +0 -0
  68. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/creation_empty.py +0 -0
  69. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/dunders.py +0 -0
  70. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/fails/creation_2.py +0 -0
  71. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/fails/creation_3.py +0 -0
  72. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/fails/creation_5.py +0 -0
  73. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/fails/inheritance_1.py +0 -0
  74. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/fails/inheritance_2.py +0 -0
  75. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/funcs_prefabs.py +0 -0
  76. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/hint_syntax.py +0 -0
  77. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/inheritance.py +0 -0
  78. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/init_ex.py +0 -0
  79. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/kw_only.py +0 -0
  80. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/examples/repr_func.py +0 -0
  81. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_dunders.py +0 -0
  82. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_funcs.py +0 -0
  83. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_hint_syntax.py +0 -0
  84. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_inheritance.py +0 -0
  85. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_init.py +0 -0
  86. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_kw_only.py +0 -0
  87. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/prefab/shared/test_repr.py +0 -0
  88. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/py312_tests/test_generic_annotations.py +0 -0
  89. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/py314_tests/test_forwardref_annotations.py +0 -0
  90. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/test_core.py +0 -0
  91. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/test_field_flags.py +0 -0
  92. {ducktools_classbuilder-0.7.3 → ducktools_classbuilder-0.7.4}/tests/test_slotmakermeta.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ducktools-classbuilder
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Toolkit for creating class boilerplate generators
5
5
  Author: David C Ellis
6
6
  License: MIT License
@@ -654,11 +654,6 @@ class Field(metaclass=SlotMakerMeta):
654
654
  f"{cls_name} cannot define both a default value and a default factory."
655
655
  )
656
656
 
657
- if self.kw_only and not self.init:
658
- raise AttributeError(
659
- f"{cls_name} cannot be keyword only if it is not in init."
660
- )
661
-
662
657
  @classmethod
663
658
  def from_field(cls, fld, /, **kwargs):
664
659
  """
@@ -0,0 +1,2 @@
1
+ __version__ = "0.7.4"
2
+ __version_tuple__ = (0, 7, 4)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ducktools-classbuilder
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: Toolkit for creating class boilerplate generators
5
5
  Author: David C Ellis
6
6
  License: MIT License
@@ -79,7 +79,6 @@ tests/prefab/shared/examples/inheritance.py
79
79
  tests/prefab/shared/examples/init_ex.py
80
80
  tests/prefab/shared/examples/kw_only.py
81
81
  tests/prefab/shared/examples/repr_func.py
82
- tests/prefab/shared/examples/fails/creation_1.py
83
82
  tests/prefab/shared/examples/fails/creation_2.py
84
83
  tests/prefab/shared/examples/fails/creation_3.py
85
84
  tests/prefab/shared/examples/fails/creation_5.py
@@ -144,15 +144,6 @@ class TestClassVar:
144
144
 
145
145
 
146
146
  class TestExceptions:
147
- def test_kw_not_in_init(self):
148
- with pytest.raises(AttributeError) as e_info:
149
- from fails.creation_1 import Construct
150
-
151
- assert (
152
- e_info.value.args[0]
153
- == "Attribute cannot be keyword only if it is not in init."
154
- )
155
-
156
147
  def test_positional_after_kw_error(self):
157
148
  with pytest.raises(SyntaxError) as e_info:
158
149
  from fails.creation_2 import FailSyntax
@@ -1,2 +0,0 @@
1
- __version__ = "0.7.3"
2
- __version_tuple__ = (0, 7, 3)
@@ -1,6 +0,0 @@
1
- from ducktools.classbuilder.prefab import prefab, attribute
2
-
3
-
4
- @prefab
5
- class Construct:
6
- x = attribute(default="test", kw_only=True, init=False)