mirror of
				https://github.com/ets-labs/python-dependency-injector.git
				synced 2025-11-04 18:07:44 +03:00 
			
		
		
		
	Merge branch 'release/4.43.0' into master
This commit is contained in:
		
						commit
						ac5996ab01
					
				
							
								
								
									
										14
									
								
								.github/workflows/publishing.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/publishing.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -15,11 +15,11 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.13
 | 
				
			||||||
      - run: pip install tox
 | 
					      - run: pip install tox
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          TOXENV: 3.12
 | 
					          TOXENV: 3.13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  linters:
 | 
					  linters:
 | 
				
			||||||
    name: Run linters
 | 
					    name: Run linters
 | 
				
			||||||
| 
						 | 
					@ -31,7 +31,7 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.13
 | 
				
			||||||
      - run: pip install tox
 | 
					      - run: pip install tox
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
| 
						 | 
					@ -45,7 +45,7 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.13
 | 
				
			||||||
      - run: |
 | 
					      - run: |
 | 
				
			||||||
          python -m pip install --upgrade pip setuptools
 | 
					          python -m pip install --upgrade pip setuptools
 | 
				
			||||||
          python setup.py sdist
 | 
					          python setup.py sdist
 | 
				
			||||||
| 
						 | 
					@ -61,7 +61,7 @@ jobs:
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        os: [ubuntu-22.04, windows-2019, macos-14]
 | 
					        os: [ubuntu-22.04, windows-2019, macos-14]
 | 
				
			||||||
    env:
 | 
					    env:
 | 
				
			||||||
      CIBW_SKIP: cp27-* cp313-*
 | 
					      CIBW_SKIP: cp27-*
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - name: Build wheels
 | 
					      - name: Build wheels
 | 
				
			||||||
| 
						 | 
					@ -75,7 +75,7 @@ jobs:
 | 
				
			||||||
    needs: [tests, linters]
 | 
					    needs: [tests, linters]
 | 
				
			||||||
    runs-on: ubuntu-22.04
 | 
					    runs-on: ubuntu-22.04
 | 
				
			||||||
    env:
 | 
					    env:
 | 
				
			||||||
      CIBW_SKIP: cp27-* cp313-*
 | 
					      CIBW_SKIP: cp27-*
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - name: Set up QEMU
 | 
					      - name: Set up QEMU
 | 
				
			||||||
| 
						 | 
					@ -114,7 +114,7 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.13
 | 
				
			||||||
      - run: pip install awscli
 | 
					      - run: pip install awscli
 | 
				
			||||||
      - run: pip install -r requirements-doc.txt
 | 
					      - run: pip install -r requirements-doc.txt
 | 
				
			||||||
      - run: pip install -e .
 | 
					      - run: pip install -e .
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										12
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/tests-and-linters.yml
									
									
									
									
										vendored
									
									
								
							| 
						 | 
					@ -25,7 +25,7 @@ jobs:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    strategy:
 | 
					    strategy:
 | 
				
			||||||
      matrix:
 | 
					      matrix:
 | 
				
			||||||
        python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
 | 
					        python-version: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
| 
						 | 
					@ -40,8 +40,8 @@ jobs:
 | 
				
			||||||
    name: Run tests with coverage
 | 
					    name: Run tests with coverage
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    env:
 | 
					    env:
 | 
				
			||||||
      # Cython's version <3 issue with tracing: "error: no member named 'use_tracing' in 'struct _PyCFrame'"
 | 
					      DEPENDENCY_INJECTOR_DEBUG_MODE: 1
 | 
				
			||||||
      # DEPENDENCY_INJECTOR_DEBUG_MODE: 1
 | 
					      PIP_VERBOSE: 1
 | 
				
			||||||
      COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
 | 
					      COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
 | 
				
			||||||
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
| 
						 | 
					@ -49,9 +49,9 @@ jobs:
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.12
 | 
				
			||||||
      - run: pip install tox cython==0.29.37
 | 
					      - run: pip install tox 'cython>=3,<4'
 | 
				
			||||||
      - run: make cythonize
 | 
					      - run: make cythonize
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox -vv
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          TOXENV: coveralls
 | 
					          TOXENV: coveralls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,7 +65,7 @@ jobs:
 | 
				
			||||||
      - uses: actions/checkout@v3
 | 
					      - uses: actions/checkout@v3
 | 
				
			||||||
      - uses: actions/setup-python@v4
 | 
					      - uses: actions/setup-python@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          python-version: 3.12
 | 
					          python-version: 3.13
 | 
				
			||||||
      - run: pip install tox
 | 
					      - run: pip install tox
 | 
				
			||||||
      - run: tox
 | 
					      - run: tox
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,3 +21,4 @@ Dependency Injector Contributors
 | 
				
			||||||
+ Thiago Hiromi (thiromi)
 | 
					+ Thiago Hiromi (thiromi)
 | 
				
			||||||
+ Felipe Rubio (krouw)
 | 
					+ Felipe Rubio (krouw)
 | 
				
			||||||
+ Anton Petrov (anton-petrov)
 | 
					+ Anton Petrov (anton-petrov)
 | 
				
			||||||
 | 
					+ ZipFile (ZipFile)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
					@ -2,7 +2,7 @@ VERSION := $(shell python setup.py --version)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CYTHON_SRC := $(shell find src/dependency_injector -name '*.pyx')
 | 
					CYTHON_SRC := $(shell find src/dependency_injector -name '*.pyx')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CYTHON_DIRECTIVES = -Xlanguage_level=2
 | 
					CYTHON_DIRECTIVES = -Xlanguage_level=3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifdef DEPENDENCY_INJECTOR_DEBUG_MODE
 | 
					ifdef DEPENDENCY_INJECTOR_DEBUG_MODE
 | 
				
			||||||
	CYTHON_DIRECTIVES += -Xprofile=True
 | 
						CYTHON_DIRECTIVES += -Xprofile=True
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,12 @@ that were made in every particular version.
 | 
				
			||||||
From version 0.7.6 *Dependency Injector* framework strictly
 | 
					From version 0.7.6 *Dependency Injector* framework strictly
 | 
				
			||||||
follows `Semantic versioning`_
 | 
					follows `Semantic versioning`_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					4.43.0
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					- Add support for Python 3.13.
 | 
				
			||||||
 | 
					- Migrate to Cython 3 (version 3.0.11). Many thanks to `ZipFile <https://github.com/ZipFile>`_ for
 | 
				
			||||||
 | 
					  this contribution `#813 <https://github.com/ets-labs/python-dependency-injector/pull/813>`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
4.42.0
 | 
					4.42.0
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
- Promote release ``4.42.0b1`` to a production release.
 | 
					- Promote release ``4.42.0b1`` to a production release.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,5 @@
 | 
				
			||||||
cython==0.29.37
 | 
					cython==3.0.11
 | 
				
			||||||
 | 
					setuptools
 | 
				
			||||||
pytest
 | 
					pytest
 | 
				
			||||||
pytest-asyncio
 | 
					pytest-asyncio
 | 
				
			||||||
tox
 | 
					tox
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,3 @@
 | 
				
			||||||
flask==2.1.3
 | 
					flask==2.1.3
 | 
				
			||||||
werkzeug==2.2.2
 | 
					werkzeug==2.2.2
 | 
				
			||||||
aiohttp==3.9.0b1
 | 
					aiohttp
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								setup.py
									
									
									
									
									
								
							| 
						 | 
					@ -111,6 +111,7 @@ setup(name="dependency-injector",
 | 
				
			||||||
          "Programming Language :: Python :: 3.10",
 | 
					          "Programming Language :: Python :: 3.10",
 | 
				
			||||||
          "Programming Language :: Python :: 3.11",
 | 
					          "Programming Language :: Python :: 3.11",
 | 
				
			||||||
          "Programming Language :: Python :: 3.12",
 | 
					          "Programming Language :: Python :: 3.12",
 | 
				
			||||||
 | 
					          "Programming Language :: Python :: 3.13",
 | 
				
			||||||
          "Programming Language :: Python :: Implementation :: CPython",
 | 
					          "Programming Language :: Python :: Implementation :: CPython",
 | 
				
			||||||
          "Programming Language :: Python :: Implementation :: PyPy",
 | 
					          "Programming Language :: Python :: Implementation :: PyPy",
 | 
				
			||||||
          "Framework :: AsyncIO",
 | 
					          "Framework :: AsyncIO",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
"""Top-level package."""
 | 
					"""Top-level package."""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
__version__ = "4.42.0"
 | 
					__version__ = "4.43.0"
 | 
				
			||||||
"""Version number.
 | 
					"""Version number.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
:type: str
 | 
					:type: str
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -20,10 +20,10 @@ cdef tuple __COROUTINE_TYPES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Base providers
 | 
					# Base providers
 | 
				
			||||||
cdef class Provider(object):
 | 
					cdef class Provider(object):
 | 
				
			||||||
    cdef tuple __overridden
 | 
					    cdef tuple _overridden
 | 
				
			||||||
    cdef Provider __last_overriding
 | 
					    cdef Provider _last_overriding
 | 
				
			||||||
    cdef tuple __overrides
 | 
					    cdef tuple _overrides
 | 
				
			||||||
    cdef int __async_mode
 | 
					    cdef int _async_mode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef bint is_async_mode_enabled(self)
 | 
					    cpdef bint is_async_mode_enabled(self)
 | 
				
			||||||
    cpdef bint is_async_mode_disabled(self)
 | 
					    cpdef bint is_async_mode_disabled(self)
 | 
				
			||||||
| 
						 | 
					@ -34,32 +34,32 @@ cdef class Provider(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Object(Provider):
 | 
					cdef class Object(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Self(Provider):
 | 
					cdef class Self(Provider):
 | 
				
			||||||
    cdef object __container
 | 
					    cdef object _container
 | 
				
			||||||
    cdef tuple __alt_names
 | 
					    cdef tuple _alt_names
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Delegate(Provider):
 | 
					cdef class Delegate(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Aggregate(Provider):
 | 
					cdef class Aggregate(Provider):
 | 
				
			||||||
    cdef dict __providers
 | 
					    cdef dict _providers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef Provider __get_provider(self, object provider_name)
 | 
					    cdef Provider __get_provider(self, object provider_name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Dependency(Provider):
 | 
					cdef class Dependency(Provider):
 | 
				
			||||||
    cdef object __instance_of
 | 
					    cdef object _instance_of
 | 
				
			||||||
    cdef object __default
 | 
					    cdef object _default
 | 
				
			||||||
    cdef object __parent
 | 
					    cdef object _parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class ExternalDependency(Dependency):
 | 
					cdef class ExternalDependency(Dependency):
 | 
				
			||||||
| 
						 | 
					@ -67,21 +67,21 @@ cdef class ExternalDependency(Dependency):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class DependenciesContainer(Object):
 | 
					cdef class DependenciesContainer(Object):
 | 
				
			||||||
    cdef dict __providers
 | 
					    cdef dict _providers
 | 
				
			||||||
    cdef object __parent
 | 
					    cdef object _parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _override_providers(self, object container)
 | 
					    cpdef object _override_providers(self, object container)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Callable providers
 | 
					# Callable providers
 | 
				
			||||||
cdef class Callable(Provider):
 | 
					cdef class Callable(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef tuple __args
 | 
					    cdef tuple _args
 | 
				
			||||||
    cdef int __args_len
 | 
					    cdef int _args_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef tuple __kwargs
 | 
					    cdef tuple _kwargs
 | 
				
			||||||
    cdef int __kwargs_len
 | 
					    cdef int _kwargs_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -117,11 +117,11 @@ cdef class CoroutineDelegate(Delegate):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Configuration providers
 | 
					# Configuration providers
 | 
				
			||||||
cdef class ConfigurationOption(Provider):
 | 
					cdef class ConfigurationOption(Provider):
 | 
				
			||||||
    cdef tuple __name
 | 
					    cdef tuple _name
 | 
				
			||||||
    cdef Configuration __root
 | 
					    cdef Configuration _root
 | 
				
			||||||
    cdef dict __children
 | 
					    cdef dict _children
 | 
				
			||||||
    cdef bint __required
 | 
					    cdef bint _required
 | 
				
			||||||
    cdef object __cache
 | 
					    cdef object _cache
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class TypedConfigurationOption(Callable):
 | 
					cdef class TypedConfigurationOption(Callable):
 | 
				
			||||||
| 
						 | 
					@ -129,22 +129,22 @@ cdef class TypedConfigurationOption(Callable):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Configuration(Object):
 | 
					cdef class Configuration(Object):
 | 
				
			||||||
    cdef str __name
 | 
					    cdef str _name
 | 
				
			||||||
    cdef bint __strict
 | 
					    cdef bint __strict
 | 
				
			||||||
    cdef dict __children
 | 
					    cdef dict _children
 | 
				
			||||||
    cdef list __ini_files
 | 
					    cdef list _ini_files
 | 
				
			||||||
    cdef list __yaml_files
 | 
					    cdef list _yaml_files
 | 
				
			||||||
    cdef list __json_files
 | 
					    cdef list _json_files
 | 
				
			||||||
    cdef list __pydantic_settings
 | 
					    cdef list _pydantic_settings
 | 
				
			||||||
    cdef object __weakref__
 | 
					    cdef object __weakref__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Factory providers
 | 
					# Factory providers
 | 
				
			||||||
cdef class Factory(Provider):
 | 
					cdef class Factory(Provider):
 | 
				
			||||||
    cdef Callable __instantiator
 | 
					    cdef Callable _instantiator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef tuple __attributes
 | 
					    cdef tuple _attributes
 | 
				
			||||||
    cdef int __attributes_len
 | 
					    cdef int _attributes_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -167,8 +167,8 @@ cdef class FactoryAggregate(Aggregate):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Singleton providers
 | 
					# Singleton providers
 | 
				
			||||||
cdef class BaseSingleton(Provider):
 | 
					cdef class BaseSingleton(Provider):
 | 
				
			||||||
    cdef Factory __instantiator
 | 
					    cdef Factory _instantiator
 | 
				
			||||||
    cdef object __storage
 | 
					    cdef object _storage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Singleton(BaseSingleton):
 | 
					cdef class Singleton(BaseSingleton):
 | 
				
			||||||
| 
						 | 
					@ -181,7 +181,7 @@ cdef class DelegatedSingleton(Singleton):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class ThreadSafeSingleton(BaseSingleton):
 | 
					cdef class ThreadSafeSingleton(BaseSingleton):
 | 
				
			||||||
    cdef object __storage_lock
 | 
					    cdef object _storage_lock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -215,87 +215,87 @@ cdef class SingletonDelegate(Delegate):
 | 
				
			||||||
# Miscellaneous providers
 | 
					# Miscellaneous providers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class List(Provider):
 | 
					cdef class List(Provider):
 | 
				
			||||||
    cdef tuple __args
 | 
					    cdef tuple _args
 | 
				
			||||||
    cdef int __args_len
 | 
					    cdef int _args_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Dict(Provider):
 | 
					cdef class Dict(Provider):
 | 
				
			||||||
    cdef tuple __kwargs
 | 
					    cdef tuple _kwargs
 | 
				
			||||||
    cdef int __kwargs_len
 | 
					    cdef int _kwargs_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Resource(Provider):
 | 
					cdef class Resource(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
    cdef bint __initialized
 | 
					    cdef bint _initialized
 | 
				
			||||||
    cdef object __shutdowner
 | 
					    cdef object _shutdowner
 | 
				
			||||||
    cdef object __resource
 | 
					    cdef object _resource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef tuple __args
 | 
					    cdef tuple _args
 | 
				
			||||||
    cdef int __args_len
 | 
					    cdef int _args_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cdef tuple __kwargs
 | 
					    cdef tuple _kwargs
 | 
				
			||||||
    cdef int __kwargs_len
 | 
					    cdef int _kwargs_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Container(Provider):
 | 
					cdef class Container(Provider):
 | 
				
			||||||
    cdef object __container_cls
 | 
					    cdef object _container_cls
 | 
				
			||||||
    cdef dict __overriding_providers
 | 
					    cdef dict _overriding_providers
 | 
				
			||||||
    cdef object __container
 | 
					    cdef object _container
 | 
				
			||||||
    cdef object __parent
 | 
					    cdef object _parent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class Selector(Provider):
 | 
					cdef class Selector(Provider):
 | 
				
			||||||
    cdef object __selector
 | 
					    cdef object _selector
 | 
				
			||||||
    cdef dict __providers
 | 
					    cdef dict _providers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Provided instance
 | 
					# Provided instance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class ProvidedInstance(Provider):
 | 
					cdef class ProvidedInstance(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class AttributeGetter(Provider):
 | 
					cdef class AttributeGetter(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
    cdef object __name
 | 
					    cdef object _name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class ItemGetter(Provider):
 | 
					cdef class ItemGetter(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
    cdef object __name
 | 
					    cdef object _name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class MethodCaller(Provider):
 | 
					cdef class MethodCaller(Provider):
 | 
				
			||||||
    cdef object __provides
 | 
					    cdef object _provides
 | 
				
			||||||
    cdef tuple __args
 | 
					    cdef tuple _args
 | 
				
			||||||
    cdef int __args_len
 | 
					    cdef int _args_len
 | 
				
			||||||
    cdef tuple __kwargs
 | 
					    cdef tuple _kwargs
 | 
				
			||||||
    cdef int __kwargs_len
 | 
					    cdef int _kwargs_len
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    cpdef object _provide(self, tuple args, dict kwargs)
 | 
					    cpdef object _provide(self, tuple args, dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Injections
 | 
					# Injections
 | 
				
			||||||
cdef class Injection(object):
 | 
					cdef class Injection(object):
 | 
				
			||||||
    cdef object __value
 | 
					    cdef object _value
 | 
				
			||||||
    cdef int __is_provider
 | 
					    cdef int _is_provider
 | 
				
			||||||
    cdef int __is_delegated
 | 
					    cdef int _is_delegated
 | 
				
			||||||
    cdef int __call
 | 
					    cdef int _call
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class PositionalInjection(Injection):
 | 
					cdef class PositionalInjection(Injection):
 | 
				
			||||||
| 
						 | 
					@ -303,7 +303,7 @@ cdef class PositionalInjection(Injection):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class NamedInjection(Injection):
 | 
					cdef class NamedInjection(Injection):
 | 
				
			||||||
    cdef object __name
 | 
					    cdef object _name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cpdef tuple parse_positional_injections(tuple args)
 | 
					cpdef tuple parse_positional_injections(tuple args)
 | 
				
			||||||
| 
						 | 
					@ -314,12 +314,12 @@ cpdef tuple parse_named_injections(dict kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Utils
 | 
					# Utils
 | 
				
			||||||
cdef class OverridingContext(object):
 | 
					cdef class OverridingContext(object):
 | 
				
			||||||
    cdef Provider __overridden
 | 
					    cdef Provider _overridden
 | 
				
			||||||
    cdef Provider __overriding
 | 
					    cdef Provider _overriding
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class BaseSingletonResetContext(object):
 | 
					cdef class BaseSingletonResetContext(object):
 | 
				
			||||||
    cdef object __singleton
 | 
					    cdef object _singleton
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef class SingletonResetContext(BaseSingletonResetContext):
 | 
					cdef class SingletonResetContext(BaseSingletonResetContext):
 | 
				
			||||||
| 
						 | 
					@ -356,19 +356,19 @@ cpdef object deepcopy(object instance, dict memo=*)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Inline helper functions
 | 
					# Inline helper functions
 | 
				
			||||||
cdef inline object __get_name(NamedInjection self):
 | 
					cdef inline object __get_name(NamedInjection self):
 | 
				
			||||||
    return self.__name
 | 
					    return self._name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef inline object __get_value(Injection self):
 | 
					cdef inline object __get_value(Injection self):
 | 
				
			||||||
    if self.__call == 0:
 | 
					    if self._call == 0:
 | 
				
			||||||
        return self.__value
 | 
					        return self._value
 | 
				
			||||||
    return self.__value()
 | 
					    return self._value()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef inline object __get_value_kwargs(Injection self, dict kwargs):
 | 
					cdef inline object __get_value_kwargs(Injection self, dict kwargs):
 | 
				
			||||||
    if self.__call == 0:
 | 
					    if self._call == 0:
 | 
				
			||||||
        return self.__value
 | 
					        return self._value
 | 
				
			||||||
    return self.__value(**kwargs)
 | 
					    return self._value(**kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
 | 
					cdef inline tuple __separate_prefixed_kwargs(dict kwargs):
 | 
				
			||||||
| 
						 | 
					@ -633,14 +633,14 @@ cdef inline object __async_result_callback(object future_result, object future):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cdef inline object __callable_call(Callable self, tuple args, dict kwargs, ):
 | 
					cdef inline object __callable_call(Callable self, tuple args, dict kwargs, ):
 | 
				
			||||||
    return __call(
 | 
					    return __call(
 | 
				
			||||||
        self.__provides,
 | 
					        self._provides,
 | 
				
			||||||
        args,
 | 
					        args,
 | 
				
			||||||
        self.__args,
 | 
					        self._args,
 | 
				
			||||||
        self.__args_len,
 | 
					        self._args_len,
 | 
				
			||||||
        kwargs,
 | 
					        kwargs,
 | 
				
			||||||
        self.__kwargs,
 | 
					        self._kwargs,
 | 
				
			||||||
        self.__kwargs_len,
 | 
					        self._kwargs_len,
 | 
				
			||||||
        self.__async_mode,
 | 
					        self._async_mode,
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -648,18 +648,18 @@ cdef inline object __factory_call(Factory self, tuple args, dict kwargs):
 | 
				
			||||||
    cdef object instance
 | 
					    cdef object instance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    instance = __call(
 | 
					    instance = __call(
 | 
				
			||||||
        self.__instantiator.__provides,
 | 
					        self._instantiator._provides,
 | 
				
			||||||
        args,
 | 
					        args,
 | 
				
			||||||
        self.__instantiator.__args,
 | 
					        self._instantiator._args,
 | 
				
			||||||
        self.__instantiator.__args_len,
 | 
					        self._instantiator._args_len,
 | 
				
			||||||
        kwargs,
 | 
					        kwargs,
 | 
				
			||||||
        self.__instantiator.__kwargs,
 | 
					        self._instantiator._kwargs,
 | 
				
			||||||
        self.__instantiator.__kwargs_len,
 | 
					        self._instantiator._kwargs_len,
 | 
				
			||||||
        self.__async_mode,
 | 
					        self._async_mode,
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if self.__attributes_len > 0:
 | 
					    if self._attributes_len > 0:
 | 
				
			||||||
        attributes = __provide_attributes(self.__attributes, self.__attributes_len)
 | 
					        attributes = __provide_attributes(self._attributes, self._attributes_len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        is_future_instance = __is_future_or_coroutine(instance)
 | 
					        is_future_instance = __is_future_or_coroutine(instance)
 | 
				
			||||||
        is_future_attributes = __is_future_or_coroutine(attributes)
 | 
					        is_future_attributes = __is_future_or_coroutine(attributes)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -4,6 +4,7 @@ from aiohttp import web, test_utils
 | 
				
			||||||
from dependency_injector import containers, providers
 | 
					from dependency_injector import containers, providers
 | 
				
			||||||
from dependency_injector.ext import aiohttp
 | 
					from dependency_injector.ext import aiohttp
 | 
				
			||||||
from pytest import fixture, mark
 | 
					from pytest import fixture, mark
 | 
				
			||||||
 | 
					from pytest_asyncio import fixture as aio_fixture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async def index_view(_):
 | 
					async def index_view(_):
 | 
				
			||||||
| 
						 | 
					@ -63,7 +64,7 @@ def app():
 | 
				
			||||||
    return app
 | 
					    return app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@fixture
 | 
					@aio_fixture
 | 
				
			||||||
async def client(app):
 | 
					async def client(app):
 | 
				
			||||||
    async with test_utils.TestClient(test_utils.TestServer(app)) as client:
 | 
					    async with test_utils.TestClient(test_utils.TestServer(app)) as client:
 | 
				
			||||||
        yield client
 | 
					        yield client
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
from httpx import AsyncClient
 | 
					from httpx import AsyncClient
 | 
				
			||||||
from pytest import fixture, mark
 | 
					from pytest import fixture, mark
 | 
				
			||||||
 | 
					from pytest_asyncio import fixture as aio_fixture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Runtime import to avoid syntax errors in samples on Python < 3.5 and reach top-dir
 | 
					# Runtime import to avoid syntax errors in samples on Python < 3.5 and reach top-dir
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
| 
						 | 
					@ -16,7 +17,7 @@ sys.path.append(_SAMPLES_DIR)
 | 
				
			||||||
from wiringfastapi import web
 | 
					from wiringfastapi import web
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@fixture
 | 
					@aio_fixture
 | 
				
			||||||
async def async_client():
 | 
					async def async_client():
 | 
				
			||||||
    client = AsyncClient(app=web.app, base_url="http://test")
 | 
					    client = AsyncClient(app=web.app, base_url="http://test")
 | 
				
			||||||
    yield client
 | 
					    yield client
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										13
									
								
								tox.ini
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								tox.ini
									
									
									
									
									
								
							| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
[tox]
 | 
					[tox]
 | 
				
			||||||
 | 
					parallel_show_output = true
 | 
				
			||||||
envlist=
 | 
					envlist=
 | 
				
			||||||
    coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10
 | 
					    coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, pypy3.9, pypy3.10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv]
 | 
					[testenv]
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
| 
						 | 
					@ -24,13 +25,13 @@ commands = pytest -c tests/.configs/pytest.ini
 | 
				
			||||||
python_files = test_*_py3*.py
 | 
					python_files = test_*_py3*.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[testenv:coveralls]
 | 
					[testenv:coveralls]
 | 
				
			||||||
passenv = GITHUB_*, COVERALLS_*
 | 
					passenv = GITHUB_*, COVERALLS_*, DEPENDENCY_INJECTOR_*
 | 
				
			||||||
basepython=python3.12
 | 
					basepython=python3.12  # TODO: Upgrade to version 3.13 is blocked by coveralls 4.0.1 not supporting Python 3.13
 | 
				
			||||||
deps=
 | 
					deps=
 | 
				
			||||||
    {[testenv]deps}
 | 
					    {[testenv]deps}
 | 
				
			||||||
    cython<3.0
 | 
					    cython>=3,<4
 | 
				
			||||||
    coverage
 | 
					    coverage>=7
 | 
				
			||||||
    coveralls
 | 
					    coveralls>=4
 | 
				
			||||||
commands=
 | 
					commands=
 | 
				
			||||||
    coverage erase
 | 
					    coverage erase
 | 
				
			||||||
    coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
 | 
					    coverage run --rcfile=./.coveragerc -m pytest -c tests/.configs/pytest.ini
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user