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.
@@ -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.
@@ -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.