clean_ioc 1.0.0__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.
- clean_ioc-1.0.0/CHANGES.rst +145 -0
- clean_ioc-1.0.0/LICENSE +21 -0
- clean_ioc-1.0.0/PKG-INFO +848 -0
- clean_ioc-1.0.0/README.md +828 -0
- clean_ioc-1.0.0/clean_ioc/__init__.py +1 -0
- clean_ioc-1.0.0/clean_ioc/bundles.py +65 -0
- clean_ioc-1.0.0/clean_ioc/core.py +1792 -0
- clean_ioc-1.0.0/clean_ioc/ext/fastapi/__init__.py +1 -0
- clean_ioc-1.0.0/clean_ioc/ext/fastapi/core.py +66 -0
- clean_ioc-1.0.0/clean_ioc/ext/fastapi/dependencies.py +40 -0
- clean_ioc-1.0.0/clean_ioc/ext/fastapi/py.typed +0 -0
- clean_ioc-1.0.0/clean_ioc/factories.py +44 -0
- clean_ioc-1.0.0/clean_ioc/functional_utils.py +103 -0
- clean_ioc-1.0.0/clean_ioc/list_reduction_filters.py +18 -0
- clean_ioc-1.0.0/clean_ioc/node_filters.py +76 -0
- clean_ioc-1.0.0/clean_ioc/py.typed +0 -0
- clean_ioc-1.0.0/clean_ioc/registration_filters.py +169 -0
- clean_ioc-1.0.0/clean_ioc/type_filters.py +50 -0
- clean_ioc-1.0.0/clean_ioc/typing_utils.py +242 -0
- clean_ioc-1.0.0/clean_ioc/utils.py +57 -0
- clean_ioc-1.0.0/clean_ioc/value_factories.py +32 -0
- clean_ioc-1.0.0/pyproject.toml +105 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
0.0.1
|
|
2
|
+
-----
|
|
3
|
+
Registration and resolving works.
|
|
4
|
+
Resolve errors easy to trace.
|
|
5
|
+
Open generics working well.
|
|
6
|
+
Instance, factory and implementation registration works
|
|
7
|
+
Decorators working.
|
|
8
|
+
Open generic decoration working
|
|
9
|
+
Scopes working (need to test these with multi threading)
|
|
10
|
+
Allow for named registrations
|
|
11
|
+
Support for list registrations
|
|
12
|
+
|
|
13
|
+
Not tested for thread safety and performance yet
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
0.0.2
|
|
17
|
+
-----
|
|
18
|
+
Add support for subclass registration
|
|
19
|
+
Add first support for modules
|
|
20
|
+
Add first README
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
0.0.3
|
|
24
|
+
-----
|
|
25
|
+
Fixes around Scopes
|
|
26
|
+
replace dependency_settings with dependency_config in registration
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
0.0.4
|
|
30
|
+
-----
|
|
31
|
+
Lifestyles changed to Lifespans
|
|
32
|
+
Added support for the dependency nodes and dependency context
|
|
33
|
+
Improved Generic Decorators resolving
|
|
34
|
+
Added factory for a dictionary
|
|
35
|
+
|
|
36
|
+
0.0.5
|
|
37
|
+
-----
|
|
38
|
+
Fixed decorator resolving order
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
0.0.6
|
|
42
|
+
-----
|
|
43
|
+
Added the has_registration to the container
|
|
44
|
+
Added depenency_settings to Decotator registration
|
|
45
|
+
Basics for DependencyGraph
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
0.1.0
|
|
49
|
+
-----
|
|
50
|
+
Move from Beta to Production
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
0.1.1
|
|
55
|
+
-----
|
|
56
|
+
Add pre configurations
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
0.1.2
|
|
60
|
+
-----
|
|
61
|
+
Improve dependency graph modelling
|
|
62
|
+
Add ability for kwargs in dependency settings
|
|
63
|
+
Add generics detection for typing.Protocol
|
|
64
|
+
|
|
65
|
+
0.1.3
|
|
66
|
+
-----
|
|
67
|
+
Fix register method signature for scopes
|
|
68
|
+
|
|
69
|
+
0.2.0
|
|
70
|
+
-----
|
|
71
|
+
Change default registration filter for dependencies from all registrations to is not named
|
|
72
|
+
Add tags feature
|
|
73
|
+
|
|
74
|
+
0.2.1
|
|
75
|
+
-----
|
|
76
|
+
Add more registration filters for tags
|
|
77
|
+
|
|
78
|
+
0.3.0
|
|
79
|
+
-----
|
|
80
|
+
container.resolve, resolver.resolve and scope.resolve now have better type safety
|
|
81
|
+
Scopes can new be context manager and async context manager
|
|
82
|
+
Scopes now track all instances it created by service_type, this enables easy access from the functions on scope teardown
|
|
83
|
+
List reduction filters for list resolving
|
|
84
|
+
Added support for parent context filters
|
|
85
|
+
|
|
86
|
+
0.3.1
|
|
87
|
+
-----
|
|
88
|
+
Add a base module class
|
|
89
|
+
Add fastapi extension
|
|
90
|
+
|
|
91
|
+
0.3.2
|
|
92
|
+
-----
|
|
93
|
+
Change base module class to not need a child class to call super().__init__
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
0.9.0
|
|
97
|
+
-----
|
|
98
|
+
Add support for scoped teardowns
|
|
99
|
+
Add parent decorator contexts
|
|
100
|
+
Make dependency graphs and object graphs uniform with each other
|
|
101
|
+
|
|
102
|
+
0.10.0
|
|
103
|
+
-----
|
|
104
|
+
Add py.typed files
|
|
105
|
+
|
|
106
|
+
0.11.0
|
|
107
|
+
-----
|
|
108
|
+
Remove deprecated container.append_module()
|
|
109
|
+
Add unparenting to cached nodes after resolving context is complete to avoid potential memory leaks
|
|
110
|
+
|
|
111
|
+
0.12.0
|
|
112
|
+
-----
|
|
113
|
+
Added predicates for registration filters
|
|
114
|
+
Fix bug with OnlyRunOncePerInstanceBundle
|
|
115
|
+
Added future support for python 3.12 generics
|
|
116
|
+
|
|
117
|
+
0.16.0
|
|
118
|
+
-----
|
|
119
|
+
BREAKING CHANGES:
|
|
120
|
+
Removed ParentContext and DecoratorContext and just use Nodes directly
|
|
121
|
+
DecoratorContextFilter replaced with NodeFilter
|
|
122
|
+
ParentContextFilter replaced with NodeFilter
|
|
123
|
+
clean_ioc.dependency_context_filters replaces with clean_ioc.node_filters
|
|
124
|
+
parent_context_filter arg replaced with parent_node_filter in all registartion methods
|
|
125
|
+
decorator_context_filter arg replaced with decorator_node_filter in all decorator methods
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
0.16.1
|
|
129
|
+
-----
|
|
130
|
+
make Tag class destructurable for filter functions
|
|
131
|
+
|
|
132
|
+
0.17.0
|
|
133
|
+
-----
|
|
134
|
+
improvements to how generic type args are mapped in generic dependencies
|
|
135
|
+
export fast api extension dependencies as already wrapped in Depends
|
|
136
|
+
Remove dynamic name generation when regestering subclasses
|
|
137
|
+
more node filters
|
|
138
|
+
more registration filters
|
|
139
|
+
improve typing for nodes
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
0.18.0
|
|
143
|
+
-----
|
|
144
|
+
container.register(ServiceType, ImplementationType) now allows resolving from implementation types
|
|
145
|
+
container.resolve(ServiceType) and container.resolve(ImplementationType) both work for resolving.
|
clean_ioc-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Peter Daly
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|