Opyoid

Latest version: v2.0.2

Safety actively analyzes 619200 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2.0.2

Fixes
- Fixed an InjectException raised when trying to bind a class with a stringified parameter type

2.0.1

Fixes
- Fixed MultiBindings not using the correct provider when having multiple ItemBindings to Providers

2.0.0

Breaking changes
- Remove support for Python < 3.8
- MultiBindings now have the parameter `override_bindings` set to `False` by default (was `True`)

1.7.0

Features
- Add official support for Python 3.11
- Opyoid is now PEP561 compliant, and as such compatible with mypy
- Added a Context Scope that can be used to control more precisely the scope of created objects:
python
from opyoid import ContextScope, Injector, SelfBinding

class MyClass:
pass


injector = Injector(bindings=[SelfBinding(MyClass, scope=ContextScope)])
scope = injector.inject(ContextScope)

with scope:
instance_1 = injector.inject(MyClass)
instance_2 = injector.inject(MyClass)

with scope:
instance_3 = injector.inject(MyClass)

assert instance_1 is instance_2
assert instance_1 is not instance_3

1.6.0

Features
- Built-in types such as strings, ints, floats and booleans can be loaded from enviroment variables
- The environment variable name should be `<UPPER_CLASS_NAME_UPPER_PARAMTER_NAME>`
- Use InjectorOptions.use_env_vars to enable/disable the feature (activated by default)
- Check the docs for more details

1.5.1

Fixes
- Fixed unwanted bindings being automatically created when using InstanceBindings with builtin types

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.