Merge branch 'release/4.42.0b1' into master

This commit is contained in:
Roman Mogylatov 2024-08-06 22:52:17 -04:00
commit b1a3a69428
19 changed files with 1101 additions and 1077 deletions

View File

@ -1,5 +1,5 @@
[run] [run]
source = src/dependency_injector source = dependency_injector
omit = tests/unit omit = tests/unit
plugins = Cython.Coverage plugins = Cython.Coverage

View File

@ -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.11 python-version: 3.12
- run: pip install tox - run: pip install tox
- run: tox - run: tox
env: env:
TOXENV: 3.11 TOXENV: 3.12
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.11 python-version: 3.12
- 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.11 python-version: 3.12
- run: python setup.py sdist - run: python setup.py sdist
- uses: actions/upload-artifact@v3 - uses: actions/upload-artifact@v3
with: with:
@ -110,7 +110,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.11 python-version: 3.12
- run: pip install -r requirements-doc.txt - run: pip install -r requirements-doc.txt
- run: pip install awscli - run: pip install awscli
- run: pip install -e . - run: pip install -e .

View File

@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy: strategy:
matrix: matrix:
python-version: [2.7, 3.5, 3.6, 3.7, pypy2.7, pypy3.9] python-version: [3.7]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
@ -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] python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
@ -40,15 +40,16 @@ jobs:
name: Run tests with coverage name: Run tests with coverage
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
DEPENDENCY_INJECTOR_DEBUG_MODE: 1 # Cython's version <3 issue with tracing: "error: no member named 'use_tracing' in 'struct _PyCFrame'"
# DEPENDENCY_INJECTOR_DEBUG_MODE: 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:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
with: with:
python-version: 3.11 python-version: 3.12
- run: pip install tox cython - run: pip install tox cython==0.29.37
- run: make cythonize - run: make cythonize
- run: tox - run: tox
env: env:
@ -64,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.11 python-version: 3.12
- run: pip install tox - run: pip install tox
- run: tox - run: tox
env: env:

2
.gitignore vendored
View File

@ -73,3 +73,5 @@ src/dependency_injector/providers/*.so
# Workspace for samples # Workspace for samples
.workspace/ .workspace/
.vscode/

View File

@ -20,3 +20,4 @@ Dependency Injector Contributors
+ Ngo Thanh Loi (Leonn) (loingo95) + Ngo Thanh Loi (Leonn) (loingo95)
+ Thiago Hiromi (thiromi) + Thiago Hiromi (thiromi)
+ Felipe Rubio (krouw) + Felipe Rubio (krouw)
+ Anton Petrov (anton-petrov)

View File

@ -1,4 +1,4 @@
Copyright (c) 2022, Roman Mogylatov Copyright (c) 2024, Roman Mogylatov
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -1,12 +1,19 @@
Changelog Changelog
========= =========
This document describes all the changes in *Dependency Injector* framework This document describes all the changes in *Dependency Injector* framework
that were made in every particular version. 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.42.0b1
--------
- Add support of Python 3.12.
- Drop support of Python 2.7, 3.5, and 3.6.
- Regenerate C sources using Cython 0.29.37.
4.41.0 4.41.0
------ ------
- Add support of Python 3.11. - Add support of Python 3.11.
@ -110,7 +117,7 @@ follows `Semantic versioning`_
- Fix a typo in ``Factory`` provider docs ``service.add_attributes(clent=client)`` - Fix a typo in ``Factory`` provider docs ``service.add_attributes(clent=client)``
`#499 <https://github.com/ets-labs/python-dependency-injector/issues/499>`_. `#499 <https://github.com/ets-labs/python-dependency-injector/issues/499>`_.
Thanks to `@rajanjha786 <https://github.com/rajanjha786>`_ for the contribution. Thanks to `@rajanjha786 <https://github.com/rajanjha786>`_ for the contribution.
- Fix a typo in ``boto3`` example - Fix a typo in ``boto3`` example
`#511 <https://github.com/ets-labs/python-dependency-injector/issues/511>`_. `#511 <https://github.com/ets-labs/python-dependency-injector/issues/511>`_.
Thanks to `@whysage <https://github.com/whysage>`_ for the contribution. Thanks to `@whysage <https://github.com/whysage>`_ for the contribution.
@ -1310,24 +1317,24 @@ Misc:
------ ------
- Add ``DependenciesContainer`` provider. - Add ``DependenciesContainer`` provider.
- Add "use_cases" example miniapp. - Add "use_cases" example miniapp.
- Update documentation requirements to use fixed version of - Update documentation requirements to use fixed version of
``sphinxcontrib-disqus``. ``sphinxcontrib-disqus``.
3.9.1 3.9.1
----- -----
- Fix docs build problem (``sphinx`` is frozen on ``1.5.6`` version because of - Fix docs build problem (``sphinx`` is frozen on ``1.5.6`` version because of
incompatibility with ``sphinxcontrib-discus``). incompatibility with ``sphinxcontrib-discus``).
- Add badge for docs. - Add badge for docs.
3.9.0 3.9.0
----- -----
- Change initialization of declarative container, so it accepts overriding - Change initialization of declarative container, so it accepts overriding
providers as keyword arguments - providers as keyword arguments -
``DeclarativeContainer(**overriding_providers)``. ``DeclarativeContainer(**overriding_providers)``.
- Add method to dynamic catalog for setting groups of providers - - Add method to dynamic catalog for setting groups of providers -
``DynamicContainer.set_providers(**providers)``. ``DynamicContainer.set_providers(**providers)``.
- Add method to dynamic catalog for overriding groups of providers - - Add method to dynamic catalog for overriding groups of providers -
``DynamicContainer.set_providers(**overriding_providers)``. ``DynamicContainer.set_providers(**overriding_providers)``.
- Rename ``ExternalDependency`` provider to ``Dependency``. - Rename ``ExternalDependency`` provider to ``Dependency``.
- Add default value for ``instance_of`` argument of ``Dependency`` provider - - Add default value for ``instance_of`` argument of ``Dependency`` provider -
@ -1359,7 +1366,7 @@ Misc:
3.7.0 3.7.0
----- -----
- Add ``FactoryAggregate`` provider. - Add ``FactoryAggregate`` provider.
- Add ``Provider.provider`` dynamic attribute that return new provider's - Add ``Provider.provider`` dynamic attribute that return new provider's
delegate (alias of method ``Provider.delegate()``). delegate (alias of method ``Provider.delegate()``).
- Add support of six 1.11.0. - Add support of six 1.11.0.
- Regenerate C sources using Cython 0.27.1. - Regenerate C sources using Cython 0.27.1.
@ -1376,7 +1383,7 @@ Misc:
3.5.0 3.5.0
----- -----
- Add functionality for initializing ``Configuration`` provider with default - Add functionality for initializing ``Configuration`` provider with default
values. values.
3.4.8 3.4.8
@ -1399,7 +1406,7 @@ Misc:
3.4.4 3.4.4
----- -----
- Add ``Provider.last_overriding`` read-only property that points to last - Add ``Provider.last_overriding`` read-only property that points to last
overriding provider, if any. If target provider is not overridden, ``None`` overriding provider, if any. If target provider is not overridden, ``None``
would be returned. would be returned.
- Update example of writing custom providers. - Update example of writing custom providers.
@ -1413,7 +1420,7 @@ Misc:
3.4.2 3.4.2
----- -----
- Make ``Provider`` overriding methods thread safe: - Make ``Provider`` overriding methods thread safe:
``Provider.override(provider)``, ``Provider.reset_last_overriding()``, ``Provider.override(provider)``, ``Provider.reset_last_overriding()``,
``Provider.reset_override()``. ``Provider.reset_override()``.
- Refactor storage locking of ``ThreadSafeSingleton`` provider. - Refactor storage locking of ``ThreadSafeSingleton`` provider.
- Fix few ``pydocstyle`` errors in examples. - Fix few ``pydocstyle`` errors in examples.
@ -1485,8 +1492,8 @@ Misc:
3.2.4 3.2.4
----- -----
- Switch to single version of documentation for getting shorter urls (without - Switch to single version of documentation for getting shorter urls (without
``/en/stable/``). Add appropriate redirects for compatibility with previous ``/en/stable/``). Add appropriate redirects for compatibility with previous
links. links.
- Update copyright date. - Update copyright date.
@ -1505,7 +1512,7 @@ Misc:
3.2.0 3.2.0
----- -----
- Add ``Configuration`` provider for late static binding of configuration - Add ``Configuration`` provider for late static binding of configuration
options. options.
3.1.5 3.1.5
@ -1515,7 +1522,7 @@ Misc:
3.1.4 3.1.4
----- -----
- Move ``inline`` functions from class level to module level for removing them - Move ``inline`` functions from class level to module level for removing them
from virtual table and enable inlining. from virtual table and enable inlining.
3.1.3 3.1.3
@ -1547,34 +1554,34 @@ Misc:
- **Providers** - **Providers**
1. All providers from ``dependency_injector.providers`` package are 1. All providers from ``dependency_injector.providers`` package are
implemented as C extension types using Cython. implemented as C extension types using Cython.
2. Add ``BaseSingleton`` super class for all singleton providers. 2. Add ``BaseSingleton`` super class for all singleton providers.
3. Make ``Singleton`` provider not thread-safe. It makes performance of 3. Make ``Singleton`` provider not thread-safe. It makes performance of
``Singleton`` provider 10x times faster. ``Singleton`` provider 10x times faster.
4. Add ``ThreadSafeSingleton`` provider - thread-safe version of 4. Add ``ThreadSafeSingleton`` provider - thread-safe version of
``Singleton`` provider. ``Singleton`` provider.
5. Add ``ThreadLocalSingleton`` provider - ``Singleton`` provider that uses 5. Add ``ThreadLocalSingleton`` provider - ``Singleton`` provider that uses
thread-local storage. thread-local storage.
6. Remove ``provides`` attribute from ``Factory`` and ``Singleton`` 6. Remove ``provides`` attribute from ``Factory`` and ``Singleton``
providers. providers.
7. Add ``set_args()`` and ``clear_args()`` methods for ``Callable``, 7. Add ``set_args()`` and ``clear_args()`` methods for ``Callable``,
``Factory`` and ``Singleton`` providers. ``Factory`` and ``Singleton`` providers.
- **Containers** - **Containers**
1. Module ``dependency_injector.containers`` was split into submodules 1. Module ``dependency_injector.containers`` was split into submodules
without any functional changes. without any functional changes.
- **Utils** - **Utils**
1. Module ``dependency_injector.utils`` is split into 1. Module ``dependency_injector.utils`` is split into
``dependency_injector.containers`` and ``dependency_injector.providers``. ``dependency_injector.containers`` and ``dependency_injector.providers``.
- **Miscellaneous** - **Miscellaneous**
1. Remove ``@inject`` decorator. 1. Remove ``@inject`` decorator.
2. Add makefile (``clean``, ``test``, ``build``, ``install``, ``uninstall`` 2. Add makefile (``clean``, ``test``, ``build``, ``install``, ``uninstall``
& ``publish`` commands). & ``publish`` commands).
3. Update repository structure: 3. Update repository structure:
@ -1641,7 +1648,7 @@ Misc:
2.0.0 2.0.0
------ ------
- Introduce new injections style for ``Callable``, ``Factory`` & - Introduce new injections style for ``Callable``, ``Factory`` &
``Singleton`` providers. ``Singleton`` providers.
- Drop providers: ``Static``, ``Value``, ``Function``, ``Class``, ``Config``. - Drop providers: ``Static``, ``Value``, ``Function``, ``Class``, ``Config``.
- Increase performance of making injections in 2 times (+100%). - Increase performance of making injections in 2 times (+100%).
@ -1654,8 +1661,8 @@ Misc:
1.17.0 1.17.0
------ ------
- Add ``add_injections()`` method to ``Callable``, ``DelegatedCallable``, - Add ``add_injections()`` method to ``Callable``, ``DelegatedCallable``,
``Factory``, ``DelegatedFactory``, ``Singleton`` and ``DelegatedSingleton`` ``Factory``, ``DelegatedFactory``, ``Singleton`` and ``DelegatedSingleton``
providers. providers.
- Fix bug with accessing to declarative catalog attributes from instance level. - Fix bug with accessing to declarative catalog attributes from instance level.
@ -1683,14 +1690,14 @@ Misc:
- Add "Examples" section into documentation. - Add "Examples" section into documentation.
- Add "Movie Lister" example. - Add "Movie Lister" example.
- Add "Services" example. - Add "Services" example.
- Move project documentation into organisation's domain - Move project documentation into organisation's domain
(dependency-injector.ets-labs.org). (dependency-injector.ets-labs.org).
1.15.2 1.15.2
------ ------
- [Refactoring] split ``catalogs`` module into smaller modules, - [Refactoring] split ``catalogs`` module into smaller modules,
``catalogs`` module become a package. ``catalogs`` module become a package.
- [Refactoring] split ``providers`` module into smaller modules, - [Refactoring] split ``providers`` module into smaller modules,
``providers`` module become a package. ``providers`` module become a package.
- Update introduction documentation. - Update introduction documentation.
@ -1700,7 +1707,7 @@ Misc:
1.15.0 1.15.0
------ ------
- Add ``Provider.provide()`` method. ``Provider.__call__()`` become a - Add ``Provider.provide()`` method. ``Provider.__call__()`` become a
reference to ``Provider.provide()``. reference to ``Provider.provide()``.
- Add provider overriding context. - Add provider overriding context.
- Update main examples and README. - Update main examples and README.
@ -1730,7 +1737,7 @@ Misc:
1.14.6 1.14.6
------ ------
- Add ``cls`` alias for ``provides`` attributes of ``Factory``, - Add ``cls`` alias for ``provides`` attributes of ``Factory``,
``DelegatedFactory``, ``Singleton`` and ``DelegatedSingleton`` providers. ``DelegatedFactory``, ``Singleton`` and ``DelegatedSingleton`` providers.
1.14.5 1.14.5
@ -1789,27 +1796,27 @@ Misc:
1.11.1 1.11.1
------ ------
Previous state of *Dependency Injector* framework (0.11.0 version) is Previous state of *Dependency Injector* framework (0.11.0 version) is
considered to be production ready / stable, so current release is considered considered to be production ready / stable, so current release is considered
to be the first major release. to be the first major release.
- Increase major version. - Increase major version.
- Backward compatibility with all previous versions above 0.7.6 has been saved. - Backward compatibility with all previous versions above 0.7.6 has been saved.
0.11.0 0.11.0
------ ------
- Rename ``AbstractCatalog`` to ``DeclarativeCatalog`` - Rename ``AbstractCatalog`` to ``DeclarativeCatalog``
(with backward compatibility). (with backward compatibility).
- Rename ``catalog`` module to ``catalogs`` with backward compatibility. - Rename ``catalog`` module to ``catalogs`` with backward compatibility.
- Implement dynamic binding of providers for ``DeclarativeCatalog``. - Implement dynamic binding of providers for ``DeclarativeCatalog``.
- Add ``DynamicCatalog``. - Add ``DynamicCatalog``.
- Change restrictions for providers-to-catalogs bindings - provider could be - Change restrictions for providers-to-catalogs bindings - provider could be
bound to several catalogs with different names. bound to several catalogs with different names.
- Restrict overriding of providers by themselves. - Restrict overriding of providers by themselves.
- Restrict overriding of catalogs by themselves. - Restrict overriding of catalogs by themselves.
- Make ``DeclarativeCatalog.last_overriding`` attribute to be ``None`` by - Make ``DeclarativeCatalog.last_overriding`` attribute to be ``None`` by
default. default.
- Make ``Provider.last_overriding`` attribute to be ``None`` by - Make ``Provider.last_overriding`` attribute to be ``None`` by
default. default.
- Refactor catalogs and providers modules. - Refactor catalogs and providers modules.
- Add API documentation - Add API documentation
@ -1817,7 +1824,7 @@ to be the first major release.
0.10.5 0.10.5
------ ------
- Add more representable implementation for ``AbstractCatalog`` and - Add more representable implementation for ``AbstractCatalog`` and
``AbstractCatalog.Bundle``. ``AbstractCatalog.Bundle``.
0.10.4 0.10.4
@ -1841,17 +1848,17 @@ to be the first major release.
- Add functionality for creating ``AbstractCatalog`` provider bundles. - Add functionality for creating ``AbstractCatalog`` provider bundles.
- Improve ``AbstractCatalog`` inheritance. - Improve ``AbstractCatalog`` inheritance.
- Improve ``AbstractCatalog`` overriding. - Improve ``AbstractCatalog`` overriding.
- Add images for catalog "Writing catalogs" and "Operating with catalogs" - Add images for catalog "Writing catalogs" and "Operating with catalogs"
examples. examples.
- Add functionality for using positional argument injections with - Add functionality for using positional argument injections with
``Factory``, ``Singleton``, ``Callable`` providers and ``Factory``, ``Singleton``, ``Callable`` providers and
``inject`` decorator. ``inject`` decorator.
- Add functionality for decorating classes with ``@inject``. - Add functionality for decorating classes with ``@inject``.
- Add ``Singleton.injections`` attribute that represents a tuple of all - Add ``Singleton.injections`` attribute that represents a tuple of all
``Singleton`` injections (including args, kwargs, attributes and methods). ``Singleton`` injections (including args, kwargs, attributes and methods).
- Add ``Callable.injections`` attribute that represents a tuple of all - Add ``Callable.injections`` attribute that represents a tuple of all
``Callable`` injections (including args and kwargs). ``Callable`` injections (including args and kwargs).
- Add optimization for ``Injection.value`` property that will compute - Add optimization for ``Injection.value`` property that will compute
type of injection once, instead of doing this on every call. type of injection once, instead of doing this on every call.
- Add ``VERSION`` constant for verification of currently installed version. - Add ``VERSION`` constant for verification of currently installed version.
- Add support of Python 3.5. - Add support of Python 3.5.
@ -1861,7 +1868,7 @@ to be the first major release.
0.9.5 0.9.5
----- -----
- Change provider attributes scope to public. - Change provider attributes scope to public.
- Add ``Factory.injections`` attribute that represents a tuple of all - Add ``Factory.injections`` attribute that represents a tuple of all
``Factory`` injections (including kwargs, attributes and methods). ``Factory`` injections (including kwargs, attributes and methods).
0.9.4 0.9.4
@ -1878,14 +1885,14 @@ to be the first major release.
0.9.1 0.9.1
----- -----
- Add simplified syntax of kwarg injections for ``di.Factory`` and - Add simplified syntax of kwarg injections for ``di.Factory`` and
``di.Singleton`` providers: ``di.Singleton`` providers:
``di.Factory(SomeClass, dependency1=injectable_provider_or_value)``. ``di.Factory(SomeClass, dependency1=injectable_provider_or_value)``.
- Add simplified syntax of kwarg injections for ``di.Callable`` provider: - Add simplified syntax of kwarg injections for ``di.Callable`` provider:
``di.Callable(some_callable, dependency1=injectable_provider_or_value)`` ``di.Callable(some_callable, dependency1=injectable_provider_or_value)``
- Add simplified syntax of kwarg injections for ``@di.inject`` decorator: - Add simplified syntax of kwarg injections for ``@di.inject`` decorator:
``@di.inject(dependency1=injectable_provider_or_value)``. ``@di.inject(dependency1=injectable_provider_or_value)``.
- Optimize ``@di.inject()`` decorations when they were made several times for - Optimize ``@di.inject()`` decorations when they were made several times for
the same callback. the same callback.
- Add minor refactorings. - Add minor refactorings.
- Fix of minor documentation issues. - Fix of minor documentation issues.
@ -1905,21 +1912,21 @@ to be the first major release.
0.7.6 0.7.6
----- -----
- Adding support of six from 1.7.0 to 1.9.0. - Adding support of six from 1.7.0 to 1.9.0.
- Factory / Singleton providers are free from restriction to operate with - Factory / Singleton providers are free from restriction to operate with
classes only. This feature gives a change to use factory method and classes only. This feature gives a change to use factory method and
functions with Factory / Singleton providers. functions with Factory / Singleton providers.
- All attributes of all entities that have to be protected was renamed using - All attributes of all entities that have to be protected was renamed using
``_protected`` manner. ``_protected`` manner.
- Providers extending was improved by implementing overriding logic in - Providers extending was improved by implementing overriding logic in
``Provider.__call__()`` and moving providing logic into ``Provider.__call__()`` and moving providing logic into
``Provider._provide()``. ``Provider._provide()``.
- ``NewInstance`` provider was renamed to ``Factory`` provider. - ``NewInstance`` provider was renamed to ``Factory`` provider.
``NewInstance`` still can be used, but it considered to be deprecated and ``NewInstance`` still can be used, but it considered to be deprecated and
will be removed in further releases. will be removed in further releases.
- ``@inject`` decorator was refactored to keep all injections in - ``@inject`` decorator was refactored to keep all injections in
``_injections`` attribute of decorated callback. It will give a possibility to ``_injections`` attribute of decorated callback. It will give a possibility to
track all the injections of particular callbacks and gives some performance track all the injections of particular callbacks and gives some performance
boost due minimizing number of calls for doing injections. boost due minimizing number of calls for doing injections.
- A lot of documentation updates were made. - A lot of documentation updates were made.
- A lot of examples were added. - A lot of examples were added.

View File

@ -1,4 +1,4 @@
cython==0.29.32 cython==0.29.37
pytest pytest
pytest-asyncio pytest-asyncio
tox tox
@ -11,7 +11,7 @@ mypy
pyyaml pyyaml
httpx httpx
fastapi fastapi
pydantic pydantic==1.10.17
numpy numpy
scipy scipy
boto3 boto3

View File

@ -1,8 +1,8 @@
# TODO: unpin 3.5.0 when this bug is fixed: https://github.com/sphinx-doc/sphinx/issues/8885 # TODO: unpin 3.5.0 when this bug is fixed: https://github.com/sphinx-doc/sphinx/issues/8885
sphinx<3.5.0 sphinx
# TODO: unpin jinja2 after sphinx update to 4+ # TODO: unpin jinja2 after sphinx update to 4+
jinja2<3.1 jinja2
-e git+https://github.com/rmk135/sphinxcontrib-disqus.git#egg=sphinxcontrib-disqus -e git+https://github.com/rmk135/sphinxcontrib-disqus.git#egg=sphinxcontrib-disqus

View File

@ -1,2 +1,3 @@
flask flask==2.1.3
aiohttp werkzeug==2.2.2
aiohttp==3.9.0b1

View File

@ -104,16 +104,13 @@ setup(name="dependency-injector",
"License :: OSI Approved :: BSD License", "License :: OSI Approved :: BSD License",
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Programming Language :: Python", "Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.9",
"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 :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: Implementation :: PyPy",
"Framework :: AsyncIO", "Framework :: AsyncIO",

View File

@ -1,6 +1,6 @@
"""Top-level package.""" """Top-level package."""
__version__ = "4.41.0" __version__ = "4.42.0b1"
"""Version number. """Version number.
:type: str :type: str

View File

@ -1,4 +1,4 @@
/* Generated by Cython 0.29.32 */ /* Generated by Cython 0.29.37 */
#ifndef PY_SSIZE_T_CLEAN #ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN #define PY_SSIZE_T_CLEAN
@ -9,8 +9,8 @@
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.6+ or Python 3.3+. #error Cython requires Python 2.6+ or Python 3.3+.
#else #else
#define CYTHON_ABI "0_29_32" #define CYTHON_ABI "0_29_37"
#define CYTHON_HEX_VERSION 0x001D20F0 #define CYTHON_HEX_VERSION 0x001D25F0
#define CYTHON_FUTURE_DIVISION 0 #define CYTHON_FUTURE_DIVISION 0
#include <stddef.h> #include <stddef.h>
#ifndef offsetof #ifndef offsetof
@ -78,16 +78,20 @@
#define CYTHON_FAST_THREAD_STATE 0 #define CYTHON_FAST_THREAD_STATE 0
#undef CYTHON_FAST_PYCALL #undef CYTHON_FAST_PYCALL
#define CYTHON_FAST_PYCALL 0 #define CYTHON_FAST_PYCALL 0
#undef CYTHON_PEP489_MULTI_PHASE_INIT #if PY_VERSION_HEX < 0x03090000
#define CYTHON_PEP489_MULTI_PHASE_INIT 0 #undef CYTHON_PEP489_MULTI_PHASE_INIT
#define CYTHON_PEP489_MULTI_PHASE_INIT 0
#elif !defined(CYTHON_PEP489_MULTI_PHASE_INIT)
#define CYTHON_PEP489_MULTI_PHASE_INIT 1
#endif
#undef CYTHON_USE_TP_FINALIZE #undef CYTHON_USE_TP_FINALIZE
#define CYTHON_USE_TP_FINALIZE 0 #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1 && PYPY_VERSION_NUM >= 0x07030C00)
#undef CYTHON_USE_DICT_VERSIONS #undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0 #define CYTHON_USE_DICT_VERSIONS 0
#undef CYTHON_USE_EXC_INFO_STACK #undef CYTHON_USE_EXC_INFO_STACK
#define CYTHON_USE_EXC_INFO_STACK 0 #define CYTHON_USE_EXC_INFO_STACK 0
#ifndef CYTHON_UPDATE_DESCRIPTOR_DOC #ifndef CYTHON_UPDATE_DESCRIPTOR_DOC
#define CYTHON_UPDATE_DESCRIPTOR_DOC (PYPY_VERSION_HEX >= 0x07030900) #define CYTHON_UPDATE_DESCRIPTOR_DOC 0
#endif #endif
#elif defined(PYSTON_VERSION) #elif defined(PYSTON_VERSION)
#define CYTHON_COMPILING_IN_PYPY 0 #define CYTHON_COMPILING_IN_PYPY 0
@ -203,7 +207,7 @@
#undef CYTHON_USE_PYLONG_INTERNALS #undef CYTHON_USE_PYLONG_INTERNALS
#define CYTHON_USE_PYLONG_INTERNALS 0 #define CYTHON_USE_PYLONG_INTERNALS 0
#elif !defined(CYTHON_USE_PYLONG_INTERNALS) #elif !defined(CYTHON_USE_PYLONG_INTERNALS)
#define CYTHON_USE_PYLONG_INTERNALS 1 #define CYTHON_USE_PYLONG_INTERNALS (PY_VERSION_HEX < 0x030C00A5)
#endif #endif
#ifndef CYTHON_USE_PYLIST_INTERNALS #ifndef CYTHON_USE_PYLIST_INTERNALS
#define CYTHON_USE_PYLIST_INTERNALS 1 #define CYTHON_USE_PYLIST_INTERNALS 1
@ -242,7 +246,7 @@
#define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1) #define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
#endif #endif
#ifndef CYTHON_USE_DICT_VERSIONS #ifndef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1) #define CYTHON_USE_DICT_VERSIONS ((PY_VERSION_HEX >= 0x030600B1) && (PY_VERSION_HEX < 0x030C00A5))
#endif #endif
#if PY_VERSION_HEX >= 0x030B00A4 #if PY_VERSION_HEX >= 0x030B00A4
#undef CYTHON_USE_EXC_INFO_STACK #undef CYTHON_USE_EXC_INFO_STACK
@ -365,9 +369,6 @@
#endif #endif
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
#define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n" #define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z" #define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3 #if PY_MAJOR_VERSION < 3
@ -445,6 +446,11 @@
#endif #endif
#define __Pyx_DefaultClassType PyType_Type #define __Pyx_DefaultClassType PyType_Type
#endif #endif
#if PY_VERSION_HEX >= 0x030900F0 && !CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyObject_GC_IsFinalized(o) PyObject_GC_IsFinalized(o)
#else
#define __Pyx_PyObject_GC_IsFinalized(o) _PyGC_FINALIZED(o)
#endif
#ifndef Py_TPFLAGS_CHECKTYPES #ifndef Py_TPFLAGS_CHECKTYPES
#define Py_TPFLAGS_CHECKTYPES 0 #define Py_TPFLAGS_CHECKTYPES 0
#endif #endif
@ -552,11 +558,11 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#endif #endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND) #if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
#define CYTHON_PEP393_ENABLED 1 #define CYTHON_PEP393_ENABLED 1
#if defined(PyUnicode_IS_READY) #if PY_VERSION_HEX >= 0x030C0000
#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\ #define __Pyx_PyUnicode_READY(op) (0)
0 : _PyUnicode_Ready((PyObject *)(op)))
#else #else
#define __Pyx_PyUnicode_READY(op) (0) #define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
0 : _PyUnicode_Ready((PyObject *)(op)))
#endif #endif
#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u) #define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i) #define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
@ -565,14 +571,14 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u) #define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i) #define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch) #define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
#if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE) #if PY_VERSION_HEX >= 0x030C0000
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000 #define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
#else #else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u))) #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x03090000
#endif #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : ((PyCompactUnicodeObject *)(u))->wstr_length))
#else #else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u)) #define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#endif
#endif #endif
#else #else
#define CYTHON_PEP393_ENABLED 0 #define CYTHON_PEP393_ENABLED 0
@ -2610,18 +2616,18 @@ static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UIN
/* GetModuleGlobalName.proto */ /* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS #if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name) {\ #define __Pyx_GetModuleGlobalName(var, name) do {\
static PY_UINT64_T __pyx_dict_version = 0;\ static PY_UINT64_T __pyx_dict_version = 0;\
static PyObject *__pyx_dict_cached_value = NULL;\ static PyObject *__pyx_dict_cached_value = NULL;\
(var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\ (var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
(likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\ (likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
__Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} } while(0)
#define __Pyx_GetModuleGlobalNameUncached(var, name) {\ #define __Pyx_GetModuleGlobalNameUncached(var, name) do {\
PY_UINT64_T __pyx_dict_version;\ PY_UINT64_T __pyx_dict_version;\
PyObject *__pyx_dict_cached_value;\ PyObject *__pyx_dict_cached_value;\
(var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\ (var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
} } while(0)
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else #else
#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name) #define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
@ -3013,14 +3019,22 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
#include <string.h> #include <string.h>
/* TypeImport.proto */ /* TypeImport.proto */
#ifndef __PYX_HAVE_RT_ImportType_proto #ifndef __PYX_HAVE_RT_ImportType_proto_0_29_37
#define __PYX_HAVE_RT_ImportType_proto #define __PYX_HAVE_RT_ImportType_proto_0_29_37
enum __Pyx_ImportType_CheckSize { #if __STDC_VERSION__ >= 201112L
__Pyx_ImportType_CheckSize_Error = 0, #include <stdalign.h>
__Pyx_ImportType_CheckSize_Warn = 1, #endif
__Pyx_ImportType_CheckSize_Ignore = 2 #if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) alignof(s)
#else
#define __PYX_GET_STRUCT_ALIGNMENT_0_29_37(s) sizeof(void*)
#endif
enum __Pyx_ImportType_CheckSize_0_29_37 {
__Pyx_ImportType_CheckSize_Error_0_29_37 = 0,
__Pyx_ImportType_CheckSize_Warn_0_29_37 = 1,
__Pyx_ImportType_CheckSize_Ignore_0_29_37 = 2
}; };
static PyTypeObject *__Pyx_ImportType(PyObject* module, const char *module_name, const char *class_name, size_t size, enum __Pyx_ImportType_CheckSize check_size); static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject* module, const char *module_name, const char *class_name, size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size);
#endif #endif
/* GetVTable.proto */ /* GetVTable.proto */
@ -3107,7 +3121,7 @@ static int __pyx_Generator_init(void);
static int __Pyx_check_binary_version(void); static int __Pyx_check_binary_version(void);
/* VoidPtrImport.proto */ /* VoidPtrImport.proto */
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig); static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig);
/* InitStrings.proto */ /* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
@ -6769,8 +6783,8 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
} else { } else {
__Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error) __Pyx_RaiseNoneNotIterableError(); __PYX_ERR(1, 450, __pyx_L1_error)
} }
if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error) if (!(likely(PyDict_CheckExact(__pyx_t_9))||((__pyx_t_9) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_9)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error) if (!(likely(PyDict_CheckExact(__pyx_t_10))||((__pyx_t_10) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_10)->tp_name), 0))) __PYX_ERR(1, 450, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9)); __Pyx_DECREF_SET(__pyx_v_kwargs, ((PyObject*)__pyx_t_9));
__pyx_t_9 = 0; __pyx_t_9 = 0;
__Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10)); __Pyx_DECREF_SET(__pyx_v_prefixed, ((PyObject*)__pyx_t_10));
@ -6877,7 +6891,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___provid
} }
__pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error) __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_prefixed, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error) if (!(likely(PyDict_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(1, 461, __pyx_L1_error)
__pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error) __pyx_t_10 = __pyx_f_19dependency_injector_9providers___get_value_kwargs(((struct __pyx_obj_19dependency_injector_9providers_Injection *)__pyx_v_kw_injection), ((PyObject*)__pyx_t_1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(1, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10); __Pyx_GOTREF(__pyx_t_10);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@ -10297,7 +10311,7 @@ static CYTHON_INLINE PyObject *__pyx_f_19dependency_injector_9providers___factor
* *
* return instance * return instance
*/ */
if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error) if (!(likely(PyDict_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) __PYX_ERR(1, 672, __pyx_L1_error)
__pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes)); __pyx_f_19dependency_injector_9providers___inject_attributes(__pyx_v_instance, ((PyObject*)__pyx_v_attributes));
/* "providers.pxd":661 /* "providers.pxd":661
@ -11635,7 +11649,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -11808,7 +11822,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -11929,7 +11943,7 @@ static PyTypeObject __pyx_type_19dependency_injector_8_cwiring___pyx_scope_struc
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -12025,7 +12039,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -12121,7 +12135,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object___t
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -12217,7 +12231,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_void____object____object____
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -12313,7 +12327,7 @@ static PyTypeObject __pyx_scope_struct____Pyx_CFunc_object____object____object__
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/ 0, /*tp_print*/
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, /*tp_pypy_flags*/ 0, /*tp_pypy_flags*/
#endif #endif
}; };
@ -12531,7 +12545,7 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type; __pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error); if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_int_2 = PyInt_FromLong(2); if (unlikely(!__pyx_int_2)) __PYX_ERR(0, 1, __pyx_L1_error)
return 0; return 0;
__pyx_L1_error:; __pyx_L1_error:;
@ -12650,149 +12664,99 @@ static int __Pyx_modinit_type_import_code(void) {
/*--- Type import code ---*/ /*--- Type import code ---*/
__pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error) __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (unlikely(!__pyx_t_1)) __PYX_ERR(1, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
__pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Provider = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Provider", sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Provider),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Provider) __PYX_ERR(1, 22, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Provider = (struct __pyx_vtabstruct_19dependency_injector_9providers_Provider*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Provider->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Provider)) __PYX_ERR(1, 22, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Object = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Object", sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Object),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Object) __PYX_ERR(1, 36, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Object = (struct __pyx_vtabstruct_19dependency_injector_9providers_Object*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Object->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Object)) __PYX_ERR(1, 36, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Self = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Self", sizeof(struct __pyx_obj_19dependency_injector_9providers_Self), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Self),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Self) __PYX_ERR(1, 42, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Self = (struct __pyx_vtabstruct_19dependency_injector_9providers_Self*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Self->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Self)) __PYX_ERR(1, 42, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Delegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Delegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Delegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Delegate) __PYX_ERR(1, 47, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Delegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Delegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Delegate)) __PYX_ERR(1, 47, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Aggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Aggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_Aggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Aggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Aggregate) __PYX_ERR(1, 53, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Aggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_Aggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Aggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Aggregate)) __PYX_ERR(1, 53, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Dependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Dependency) __PYX_ERR(1, 59, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Dependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dependency)) __PYX_ERR(1, 59, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ExternalDependency = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ExternalDependency", sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ExternalDependency) __PYX_ERR(1, 65, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ExternalDependency = (struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ExternalDependency->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ExternalDependency)) __PYX_ERR(1, 65, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DependenciesContainer = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DependenciesContainer", sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DependenciesContainer) __PYX_ERR(1, 69, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer = (struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DependenciesContainer->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DependenciesContainer)) __PYX_ERR(1, 69, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Callable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Callable", sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Callable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Callable) __PYX_ERR(1, 77, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Callable = (struct __pyx_vtabstruct_19dependency_injector_9providers_Callable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Callable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Callable)) __PYX_ERR(1, 77, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCallable) __PYX_ERR(1, 89, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCallable)) __PYX_ERR(1, 89, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_AbstractCallable = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCallable", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_AbstractCallable) __PYX_ERR(1, 93, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_AbstractCallable = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCallable->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCallable)) __PYX_ERR(1, 93, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_CallableDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CallableDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_CallableDelegate) __PYX_ERR(1, 97, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_CallableDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CallableDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CallableDelegate)) __PYX_ERR(1, 97, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Coroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Coroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Coroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Coroutine) __PYX_ERR(1, 102, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Coroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Coroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Coroutine)) __PYX_ERR(1, 102, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine) __PYX_ERR(1, 106, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedCoroutine)) __PYX_ERR(1, 106, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_AbstractCoroutine = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractCoroutine", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine) __PYX_ERR(1, 110, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractCoroutine->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractCoroutine)) __PYX_ERR(1, 110, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_CoroutineDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "CoroutineDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate) __PYX_ERR(1, 114, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_CoroutineDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_CoroutineDelegate)) __PYX_ERR(1, 114, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ConfigurationOption) __PYX_ERR(1, 119, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_ConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ConfigurationOption)) __PYX_ERR(1, 119, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "TypedConfigurationOption", sizeof(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_TypedConfigurationOption),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption) __PYX_ERR(1, 127, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption = (struct __pyx_vtabstruct_19dependency_injector_9providers_TypedConfigurationOption*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_TypedConfigurationOption->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_TypedConfigurationOption)) __PYX_ERR(1, 127, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Configuration = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Configuration", sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Configuration),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Configuration) __PYX_ERR(1, 131, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Configuration = (struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Configuration->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Configuration)) __PYX_ERR(1, 131, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Factory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Factory", sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Factory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Factory) __PYX_ERR(1, 143, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Factory = (struct __pyx_vtabstruct_19dependency_injector_9providers_Factory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Factory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Factory)) __PYX_ERR(1, 143, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedFactory) __PYX_ERR(1, 152, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedFactory)) __PYX_ERR(1, 152, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_AbstractFactory = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractFactory", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_AbstractFactory) __PYX_ERR(1, 156, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_AbstractFactory = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractFactory->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractFactory)) __PYX_ERR(1, 156, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_FactoryDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_FactoryDelegate) __PYX_ERR(1, 160, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryDelegate)) __PYX_ERR(1, 160, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_FactoryAggregate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "FactoryAggregate", sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_FactoryAggregate) __PYX_ERR(1, 164, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate = (struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_FactoryAggregate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_FactoryAggregate)) __PYX_ERR(1, 164, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_BaseSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_BaseSingleton) __PYX_ERR(1, 169, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_BaseSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_BaseSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_BaseSingleton)) __PYX_ERR(1, 169, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Singleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Singleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Singleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Singleton) __PYX_ERR(1, 174, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Singleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Singleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Singleton)) __PYX_ERR(1, 174, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton) __PYX_ERR(1, 179, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedSingleton)) __PYX_ERR(1, 179, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton) __PYX_ERR(1, 183, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadSafeSingleton)) __PYX_ERR(1, 183, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadSafeSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton) __PYX_ERR(1, 189, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadSafeSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadSafeSingleton)) __PYX_ERR(1, 189, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton) __PYX_ERR(1, 193, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ThreadLocalSingleton)) __PYX_ERR(1, 193, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ContextLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ContextLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton) __PYX_ERR(1, 198, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_ContextLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ContextLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ContextLocalSingleton)) __PYX_ERR(1, 198, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "DelegatedThreadLocalSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton) __PYX_ERR(1, 203, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_DelegatedThreadLocalSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_DelegatedThreadLocalSingleton)) __PYX_ERR(1, 203, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_AbstractSingleton = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AbstractSingleton", sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_AbstractSingleton) __PYX_ERR(1, 207, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton = (struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AbstractSingleton->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AbstractSingleton)) __PYX_ERR(1, 207, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_SingletonDelegate = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonDelegate", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_SingletonDelegate) __PYX_ERR(1, 211, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate = (struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_SingletonDelegate->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_SingletonDelegate)) __PYX_ERR(1, 211, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_List = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "List", sizeof(struct __pyx_obj_19dependency_injector_9providers_List), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_List),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_List) __PYX_ERR(1, 217, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_List = (struct __pyx_vtabstruct_19dependency_injector_9providers_List*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_List->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_List)) __PYX_ERR(1, 217, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Dict = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Dict", sizeof(struct __pyx_obj_19dependency_injector_9providers_Dict), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Dict),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Dict) __PYX_ERR(1, 224, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Dict = (struct __pyx_vtabstruct_19dependency_injector_9providers_Dict*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Dict->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Dict)) __PYX_ERR(1, 224, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Resource = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Resource", sizeof(struct __pyx_obj_19dependency_injector_9providers_Resource), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Resource),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Resource) __PYX_ERR(1, 231, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Resource = (struct __pyx_vtabstruct_19dependency_injector_9providers_Resource*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Resource->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Resource)) __PYX_ERR(1, 231, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Container = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Container", sizeof(struct __pyx_obj_19dependency_injector_9providers_Container), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Container),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Container) __PYX_ERR(1, 246, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Container = (struct __pyx_vtabstruct_19dependency_injector_9providers_Container*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Container->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Container)) __PYX_ERR(1, 246, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Selector = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Selector", sizeof(struct __pyx_obj_19dependency_injector_9providers_Selector), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Selector),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Selector) __PYX_ERR(1, 255, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_Selector = (struct __pyx_vtabstruct_19dependency_injector_9providers_Selector*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_Selector->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_Selector)) __PYX_ERR(1, 255, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ProvidedInstance = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ProvidedInstance", sizeof(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ProvidedInstance),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ProvidedInstance) __PYX_ERR(1, 263, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance = (struct __pyx_vtabstruct_19dependency_injector_9providers_ProvidedInstance*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ProvidedInstance->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ProvidedInstance)) __PYX_ERR(1, 263, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_AttributeGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "AttributeGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_AttributeGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_AttributeGetter) __PYX_ERR(1, 269, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_AttributeGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_AttributeGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_AttributeGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_AttributeGetter)) __PYX_ERR(1, 269, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_ItemGetter = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "ItemGetter", sizeof(struct __pyx_obj_19dependency_injector_9providers_ItemGetter), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_ItemGetter),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_ItemGetter) __PYX_ERR(1, 276, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_ItemGetter = (struct __pyx_vtabstruct_19dependency_injector_9providers_ItemGetter*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_ItemGetter->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_ItemGetter)) __PYX_ERR(1, 276, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_MethodCaller = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "MethodCaller", sizeof(struct __pyx_obj_19dependency_injector_9providers_MethodCaller), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_MethodCaller),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_MethodCaller) __PYX_ERR(1, 283, __pyx_L1_error)
__pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error) __pyx_vtabptr_19dependency_injector_9providers_MethodCaller = (struct __pyx_vtabstruct_19dependency_injector_9providers_MethodCaller*)__Pyx_GetVtable(__pyx_ptype_19dependency_injector_9providers_MethodCaller->tp_dict); if (unlikely(!__pyx_vtabptr_19dependency_injector_9providers_MethodCaller)) __PYX_ERR(1, 283, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_Injection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "Injection", sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_Injection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_Injection) __PYX_ERR(1, 294, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_PositionalInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "PositionalInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_NamedInjection),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_PositionalInjection) __PYX_ERR(1, 301, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_OverridingContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_NamedInjection = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "NamedInjection", sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_NamedInjection) __PYX_ERR(1, 305, __pyx_L1_error) __pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_OverridingContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "OverridingContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), __Pyx_ImportType_CheckSize_Warn); __pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType_0_29_37(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __PYX_GET_STRUCT_ALIGNMENT_0_29_37(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext),__Pyx_ImportType_CheckSize_Warn_0_29_37); if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
if (!__pyx_ptype_19dependency_injector_9providers_OverridingContext) __PYX_ERR(1, 316, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "BaseSingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
if (!__pyx_ptype_19dependency_injector_9providers_BaseSingletonResetContext) __PYX_ERR(1, 321, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonResetContext), __Pyx_ImportType_CheckSize_Warn);
if (!__pyx_ptype_19dependency_injector_9providers_SingletonResetContext) __PYX_ERR(1, 325, __pyx_L1_error)
__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext = __Pyx_ImportType(__pyx_t_1, "dependency_injector.providers", "SingletonFullResetContext", sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonFullResetContext), __Pyx_ImportType_CheckSize_Warn);
if (!__pyx_ptype_19dependency_injector_9providers_SingletonFullResetContext) __PYX_ERR(1, 329, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_RefNannyFinishContext(); __Pyx_RefNannyFinishContext();
return 0; return 0;
@ -12812,12 +12776,12 @@ static int __Pyx_modinit_variable_import_code(void) {
/*--- Variable import code ---*/ /*--- Variable import code ---*/
__pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_t_1 = PyImport_ImportModule("dependency_injector.providers"); if (!__pyx_t_1) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1); __Pyx_GOTREF(__pyx_t_1);
if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_UNDEFINED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_UNDEFINED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_ENABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_ENABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
if (__Pyx_ImportVoidPtr(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "ASYNC_MODE_DISABLED", (void **)&__pyx_vp_19dependency_injector_9providers_ASYNC_MODE_DISABLED, "int") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
if (__Pyx_ImportVoidPtr(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__iscoroutine_typecache", (void **)&__pyx_vp_19dependency_injector_9providers___iscoroutine_typecache, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
if (__Pyx_ImportVoidPtr(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "__COROUTINE_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers___COROUTINE_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
if (__Pyx_ImportVoidPtr(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_ImportVoidPtr_0_29_37(__pyx_t_1, "CLASS_TYPES", (void **)&__pyx_vp_19dependency_injector_9providers_CLASS_TYPES, "PyObject *") < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_RefNannyFinishContext(); __Pyx_RefNannyFinishContext();
return 0; return 0;
@ -13002,7 +12966,7 @@ if (!__Pyx_RefNanny) {
Py_INCREF(__pyx_b); Py_INCREF(__pyx_b);
__pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error)
Py_INCREF(__pyx_cython_runtime); Py_INCREF(__pyx_cython_runtime);
if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error); if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
/*--- Initialize various global constants etc. ---*/ /*--- Initialize various global constants etc. ---*/
if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT) #if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
@ -13612,7 +13576,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
return __Pyx_PyFunction_FastCall(func, NULL, 0); return __Pyx_PyFunction_FastCall(func, NULL, 0);
} }
#endif #endif
#ifdef __Pyx_CyFunction_USED #if defined(__Pyx_CyFunction_USED) && defined(NDEBUG)
if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func))) if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else #else
if (likely(PyCFunction_Check(func))) if (likely(PyCFunction_Check(func)))
@ -13743,10 +13707,8 @@ static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
Py_DECREF(retval); Py_DECREF(retval);
__Pyx_RaiseTooManyValuesError(expected); __Pyx_RaiseTooManyValuesError(expected);
return -1; return -1;
} else {
return __Pyx_IterFinish();
} }
return 0; return __Pyx_IterFinish();
} }
/* ExtTypeTest */ /* ExtTypeTest */
@ -14412,9 +14374,14 @@ static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, P
self = PyTuple_GetItem(args, 0); self = PyTuple_GetItem(args, 0);
if (unlikely(!self)) { if (unlikely(!self)) {
Py_DECREF(new_args); Py_DECREF(new_args);
#if PY_MAJOR_VERSION > 2
PyErr_Format(PyExc_TypeError, PyErr_Format(PyExc_TypeError,
"unbound method %.200S() needs an argument", "unbound method %.200S() needs an argument",
cyfunc->func_qualname); cyfunc->func_qualname);
#else
PyErr_SetString(PyExc_TypeError,
"unbound method needs an argument");
#endif
return NULL; return NULL;
} }
result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw);
@ -14489,7 +14456,10 @@ static PyTypeObject __pyx_CyFunctionType_type = {
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, 0,
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if PY_VERSION_HEX >= 0x030C0000
0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, 0,
#endif #endif
}; };
@ -14768,13 +14738,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
} }
PyErr_SetObject(type, value); PyErr_SetObject(type, value);
if (tb) { if (tb) {
#if CYTHON_COMPILING_IN_PYPY #if CYTHON_FAST_THREAD_STATE
PyObject *tmp_type, *tmp_value, *tmp_tb;
PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
Py_INCREF(tb);
PyErr_Restore(tmp_type, tmp_value, tb);
Py_XDECREF(tmp_tb);
#else
PyThreadState *tstate = __Pyx_PyThreadState_Current; PyThreadState *tstate = __Pyx_PyThreadState_Current;
PyObject* tmp_tb = tstate->curexc_traceback; PyObject* tmp_tb = tstate->curexc_traceback;
if (tb != tmp_tb) { if (tb != tmp_tb) {
@ -14782,6 +14746,12 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
tstate->curexc_traceback = tb; tstate->curexc_traceback = tb;
Py_XDECREF(tmp_tb); Py_XDECREF(tmp_tb);
} }
#else
PyObject *tmp_type, *tmp_value, *tmp_tb;
PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb);
Py_INCREF(tb);
PyErr_Restore(tmp_type, tmp_value, tb);
Py_XDECREF(tmp_tb);
#endif #endif
} }
bad: bad:
@ -16032,7 +16002,10 @@ static PyTypeObject __pyx_CoroutineAwaitType_type = {
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, 0,
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if PY_VERSION_HEX >= 0x030C0000
0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, 0,
#endif #endif
}; };
@ -16184,7 +16157,10 @@ static PyTypeObject __pyx_CoroutineType_type = {
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, 0,
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if PY_VERSION_HEX >= 0x030C0000
0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, 0,
#endif #endif
}; };
@ -16259,7 +16235,11 @@ static PyObject *__Pyx__Coroutine_GetAwaitableIter(PyObject *obj) {
} else } else
#endif #endif
#if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE) #if CYTHON_COMPILING_IN_CPYTHON && defined(CO_ITERABLE_COROUTINE)
#if PY_VERSION_HEX >= 0x030C00A6
if (PyGen_CheckExact(obj) && (PyGen_GetCode((PyGenObject*)obj)->co_flags & CO_ITERABLE_COROUTINE)) {
#else
if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) { if (PyGen_CheckExact(obj) && ((PyGenObject*)obj)->gi_code && ((PyCodeObject *)((PyGenObject*)obj)->gi_code)->co_flags & CO_ITERABLE_COROUTINE) {
#endif
return __Pyx_NewRef(obj); return __Pyx_NewRef(obj);
} else } else
#endif #endif
@ -16309,7 +16289,7 @@ bad:
} }
/* CoroutineYieldFrom */ /* CoroutineYieldFrom */
static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) { static PyObject* __Pyx__Coroutine_Yield_From_Generic(__pyx_CoroutineObject *gen, PyObject *source) {
PyObject *retval; PyObject *retval;
PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source); PyObject *source_gen = __Pyx__Coroutine_GetAwaitableIter(source);
if (unlikely(!source_gen)) { if (unlikely(!source_gen)) {
@ -16356,7 +16336,7 @@ static CYTHON_INLINE PyObject* __Pyx_Coroutine_Yield_From(__pyx_CoroutineObject
} }
/* ReturnWithStopIteration */ /* ReturnWithStopIteration */
static void __Pyx__ReturnWithStopIteration(PyObject* value) { static void __Pyx__ReturnWithStopIteration(PyObject* value) {
PyObject *exc, *args; PyObject *exc, *args;
#if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_PYSTON #if CYTHON_COMPILING_IN_CPYTHON || CYTHON_COMPILING_IN_PYSTON
__Pyx_PyThreadState_declare __Pyx_PyThreadState_declare
@ -16398,7 +16378,7 @@ static void __Pyx__ReturnWithStopIteration(PyObject* value) {
} }
/* WriteUnraisableException */ /* WriteUnraisableException */
static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno, static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename, CYTHON_UNUSED int lineno, CYTHON_UNUSED const char *filename,
int full_traceback, CYTHON_UNUSED int nogil) { int full_traceback, CYTHON_UNUSED int nogil) {
PyObject *old_exc, *old_val, *old_tb; PyObject *old_exc, *old_val, *old_tb;
@ -16408,9 +16388,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
PyGILState_STATE state; PyGILState_STATE state;
if (nogil) if (nogil)
state = PyGILState_Ensure(); state = PyGILState_Ensure();
#ifdef _MSC_VER else state = (PyGILState_STATE)0;
else state = (PyGILState_STATE)-1;
#endif
#endif #endif
__Pyx_PyThreadState_assign __Pyx_PyThreadState_assign
__Pyx_ErrFetch(&old_exc, &old_val, &old_tb); __Pyx_ErrFetch(&old_exc, &old_val, &old_tb);
@ -16440,7 +16418,7 @@ static void __Pyx_WriteUnraisable(const char *name, CYTHON_UNUSED int clineno,
} }
/* SliceObject */ /* SliceObject */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj, static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
Py_ssize_t cstart, Py_ssize_t cstop, Py_ssize_t cstart, Py_ssize_t cstop,
PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice, PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) { int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
@ -16537,7 +16515,7 @@ bad:
} }
/* PyIntBinop */ /* PyIntBinop */
#if !CYTHON_COMPILING_IN_PYPY #if !CYTHON_COMPILING_IN_PYPY
static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) { static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED long intval, int inplace, int zerodivision_check) {
(void)inplace; (void)inplace;
(void)zerodivision_check; (void)zerodivision_check;
@ -16661,12 +16639,12 @@ static PyObject* __Pyx_PyInt_AddObjC(PyObject *op1, PyObject *op2, CYTHON_UNUSED
#endif #endif
/* RaiseNoneIterError */ /* RaiseNoneIterError */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
} }
/* PyErrExceptionMatches */ /* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE #if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
Py_ssize_t i, n; Py_ssize_t i, n;
n = PyTuple_GET_SIZE(tuple); n = PyTuple_GET_SIZE(tuple);
@ -16691,7 +16669,7 @@ static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tsta
#endif #endif
/* GetException */ /* GetException */
#if CYTHON_FAST_THREAD_STATE #if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else #else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
@ -16765,7 +16743,7 @@ bad:
} }
/* GetAttr */ /* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) { static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS #if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3 #if PY_MAJOR_VERSION >= 3
if (likely(PyUnicode_Check(n))) if (likely(PyUnicode_Check(n)))
@ -16778,7 +16756,7 @@ static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
} }
/* HasAttr */ /* HasAttr */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) { static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
PyObject *r; PyObject *r;
if (unlikely(!__Pyx_PyBaseString_Check(n))) { if (unlikely(!__Pyx_PyBaseString_Check(n))) {
PyErr_SetString(PyExc_TypeError, PyErr_SetString(PyExc_TypeError,
@ -16796,7 +16774,7 @@ static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
} }
/* pyfrozenset_new */ /* pyfrozenset_new */
static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) { static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
if (it) { if (it) {
PyObject* result; PyObject* result;
#if CYTHON_COMPILING_IN_PYPY #if CYTHON_COMPILING_IN_PYPY
@ -16828,7 +16806,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyFrozenSet_New(PyObject* it) {
} }
/* PySetContains */ /* PySetContains */
static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) { static int __Pyx_PySet_ContainsUnhashable(PyObject *set, PyObject *key) {
int result = -1; int result = -1;
if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) { if (PySet_Check(key) && PyErr_ExceptionMatches(PyExc_TypeError)) {
PyObject *tmpkey; PyObject *tmpkey;
@ -16850,16 +16828,18 @@ static CYTHON_INLINE int __Pyx_PySet_ContainsTF(PyObject* key, PyObject* set, in
} }
/* TypeImport */ /* TypeImport */
#ifndef __PYX_HAVE_RT_ImportType #ifndef __PYX_HAVE_RT_ImportType_0_29_37
#define __PYX_HAVE_RT_ImportType #define __PYX_HAVE_RT_ImportType_0_29_37
static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name, const char *class_name, static PyTypeObject *__Pyx_ImportType_0_29_37(PyObject *module, const char *module_name, const char *class_name,
size_t size, enum __Pyx_ImportType_CheckSize check_size) size_t size, size_t alignment, enum __Pyx_ImportType_CheckSize_0_29_37 check_size)
{ {
PyObject *result = 0; PyObject *result = 0;
char warning[200]; char warning[200];
Py_ssize_t basicsize; Py_ssize_t basicsize;
Py_ssize_t itemsize;
#ifdef Py_LIMITED_API #ifdef Py_LIMITED_API
PyObject *py_basicsize; PyObject *py_basicsize;
PyObject *py_itemsize;
#endif #endif
result = PyObject_GetAttrString(module, class_name); result = PyObject_GetAttrString(module, class_name);
if (!result) if (!result)
@ -16872,6 +16852,7 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
} }
#ifndef Py_LIMITED_API #ifndef Py_LIMITED_API
basicsize = ((PyTypeObject *)result)->tp_basicsize; basicsize = ((PyTypeObject *)result)->tp_basicsize;
itemsize = ((PyTypeObject *)result)->tp_itemsize;
#else #else
py_basicsize = PyObject_GetAttrString(result, "__basicsize__"); py_basicsize = PyObject_GetAttrString(result, "__basicsize__");
if (!py_basicsize) if (!py_basicsize)
@ -16881,22 +16862,37 @@ static PyTypeObject *__Pyx_ImportType(PyObject *module, const char *module_name,
py_basicsize = 0; py_basicsize = 0;
if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred()) if (basicsize == (Py_ssize_t)-1 && PyErr_Occurred())
goto bad; goto bad;
py_itemsize = PyObject_GetAttrString(result, "__itemsize__");
if (!py_itemsize)
goto bad;
itemsize = PyLong_AsSsize_t(py_itemsize);
Py_DECREF(py_itemsize);
py_itemsize = 0;
if (itemsize == (Py_ssize_t)-1 && PyErr_Occurred())
goto bad;
#endif #endif
if ((size_t)basicsize < size) { if (itemsize) {
if (size % alignment) {
alignment = size % alignment;
}
if (itemsize < (Py_ssize_t)alignment)
itemsize = (Py_ssize_t)alignment;
}
if ((size_t)(basicsize + itemsize) < size) {
PyErr_Format(PyExc_ValueError, PyErr_Format(PyExc_ValueError,
"%.200s.%.200s size changed, may indicate binary incompatibility. " "%.200s.%.200s size changed, may indicate binary incompatibility. "
"Expected %zd from C header, got %zd from PyObject", "Expected %zd from C header, got %zd from PyObject",
module_name, class_name, size, basicsize); module_name, class_name, size, basicsize);
goto bad; goto bad;
} }
if (check_size == __Pyx_ImportType_CheckSize_Error && (size_t)basicsize != size) { if (check_size == __Pyx_ImportType_CheckSize_Error_0_29_37 && (size_t)basicsize != size) {
PyErr_Format(PyExc_ValueError, PyErr_Format(PyExc_ValueError,
"%.200s.%.200s size changed, may indicate binary incompatibility. " "%.200s.%.200s size changed, may indicate binary incompatibility. "
"Expected %zd from C header, got %zd from PyObject", "Expected %zd from C header, got %zd from PyObject",
module_name, class_name, size, basicsize); module_name, class_name, size, basicsize);
goto bad; goto bad;
} }
else if (check_size == __Pyx_ImportType_CheckSize_Warn && (size_t)basicsize > size) { else if (check_size == __Pyx_ImportType_CheckSize_Warn_0_29_37 && (size_t)basicsize > size) {
PyOS_snprintf(warning, sizeof(warning), PyOS_snprintf(warning, sizeof(warning),
"%s.%s size changed, may indicate binary incompatibility. " "%s.%s size changed, may indicate binary incompatibility. "
"Expected %zd from C header, got %zd from PyObject", "Expected %zd from C header, got %zd from PyObject",
@ -16911,7 +16907,7 @@ bad:
#endif #endif
/* GetVTable */ /* GetVTable */
static void* __Pyx_GetVtable(PyObject *dict) { static void* __Pyx_GetVtable(PyObject *dict) {
void* ptr; void* ptr;
PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable); PyObject *ob = PyObject_GetItem(dict, __pyx_n_s_pyx_vtable);
if (!ob) if (!ob)
@ -16931,7 +16927,7 @@ bad:
} }
/* Import */ /* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
PyObject *empty_list = 0; PyObject *empty_list = 0;
PyObject *module = 0; PyObject *module = 0;
PyObject *global_dict = 0; PyObject *global_dict = 0;
@ -16996,7 +16992,7 @@ bad:
} }
/* PatchInspect */ /* PatchInspect */
static PyObject* __Pyx_patch_inspect(PyObject* module) { static PyObject* __Pyx_patch_inspect(PyObject* module) {
#if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT) #if defined(__Pyx_Generator_USED) && (!defined(CYTHON_PATCH_INSPECT) || CYTHON_PATCH_INSPECT)
static int inspect_patched = 0; static int inspect_patched = 0;
if (unlikely((!inspect_patched) && module)) { if (unlikely((!inspect_patched) && module)) {
@ -17021,7 +17017,7 @@ static PyObject* __Pyx_patch_inspect(PyObject* module) {
} }
/* PatchAsyncIO */ /* PatchAsyncIO */
static PyObject* __Pyx_patch_asyncio(PyObject* module) { static PyObject* __Pyx_patch_asyncio(PyObject* module) {
#if PY_VERSION_HEX < 0x030500B2 &&\ #if PY_VERSION_HEX < 0x030500B2 &&\
(defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\ (defined(__Pyx_Coroutine_USED) || defined(__Pyx_Generator_USED)) &&\
(!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO) (!defined(CYTHON_PATCH_ASYNCIO) || CYTHON_PATCH_ASYNCIO)
@ -17104,7 +17100,7 @@ ignore:
} }
/* ImportFrom */ /* ImportFrom */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); PyObject* value = __Pyx_PyObject_GetAttrStr(module, name);
if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) {
PyErr_Format(PyExc_ImportError, PyErr_Format(PyExc_ImportError,
@ -17118,8 +17114,8 @@ static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) {
} }
/* CLineInTraceback */ /* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK #ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) { static int __Pyx_CLineForTraceback(CYTHON_UNUSED PyThreadState *tstate, int c_line) {
PyObject *use_cline; PyObject *use_cline;
PyObject *ptype, *pvalue, *ptraceback; PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON #if CYTHON_COMPILING_IN_CPYTHON
@ -17160,7 +17156,7 @@ static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int
#endif #endif
/* CodeObjectCache */ /* CodeObjectCache */
static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) {
int start = 0, mid = 0, end = count - 1; int start = 0, mid = 0, end = count - 1;
if (end >= 0 && code_line > entries[end].code_line) { if (end >= 0 && code_line > entries[end].code_line) {
return count; return count;
@ -17240,7 +17236,7 @@ static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) {
} }
/* AddTraceback */ /* AddTraceback */
#include "compile.h" #include "compile.h"
#include "frameobject.h" #include "frameobject.h"
#include "traceback.h" #include "traceback.h"
#if PY_VERSION_HEX >= 0x030b00a6 #if PY_VERSION_HEX >= 0x030b00a6
@ -17347,7 +17343,7 @@ bad:
} }
/* CIntFromPyVerify */ /* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\ #define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0) __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\ #define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1) __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
@ -17369,7 +17365,7 @@ bad:
} }
/* CIntToPy */ /* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) { static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion" #pragma GCC diagnostic ignored "-Wconversion"
@ -17407,7 +17403,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_int(int value) {
} }
/* CIntFromPy */ /* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion" #pragma GCC diagnostic ignored "-Wconversion"
@ -17466,7 +17462,7 @@ static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
break; break;
} }
#endif #endif
#if CYTHON_COMPILING_IN_CPYTHON #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
if (unlikely(Py_SIZE(x) < 0)) { if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow; goto raise_neg_overflow;
} }
@ -17603,7 +17599,7 @@ raise_neg_overflow:
} }
/* CIntToPy */ /* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion" #pragma GCC diagnostic ignored "-Wconversion"
@ -17641,7 +17637,7 @@ static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
} }
/* CIntFromPy */ /* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC #ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push #pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion" #pragma GCC diagnostic ignored "-Wconversion"
@ -17700,7 +17696,7 @@ static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
break; break;
} }
#endif #endif
#if CYTHON_COMPILING_IN_CPYTHON #if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030C00A7
if (unlikely(Py_SIZE(x) < 0)) { if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow; goto raise_neg_overflow;
} }
@ -17837,7 +17833,7 @@ raise_neg_overflow:
} }
/* FastTypeChecks */ /* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON #if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
while (a) { while (a) {
a = a->tp_base; a = a->tp_base;
@ -17937,7 +17933,7 @@ static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObj
#endif #endif
/* Generator */ /* Generator */
static PyMethodDef __pyx_Generator_methods[] = { static PyMethodDef __pyx_Generator_methods[] = {
{"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O, {"send", (PyCFunction) __Pyx_Coroutine_Send, METH_O,
(char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")}, (char*) PyDoc_STR("send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration.")},
{"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS, {"throw", (PyCFunction) __Pyx_Coroutine_Throw, METH_VARARGS,
@ -18025,7 +18021,10 @@ static PyTypeObject __pyx_GeneratorType_type = {
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, 0,
#endif #endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 #if PY_VERSION_HEX >= 0x030C0000
0,
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX >= 0x03090000 && PY_VERSION_HEX < 0x030a0000
0, 0,
#endif #endif
}; };
@ -18040,7 +18039,7 @@ static int __pyx_Generator_init(void) {
} }
/* CheckBinaryVersion */ /* CheckBinaryVersion */
static int __Pyx_check_binary_version(void) { static int __Pyx_check_binary_version(void) {
char ctversion[5]; char ctversion[5];
int same=1, i, found_dot; int same=1, i, found_dot;
const char* rt_from_call = Py_GetVersion(); const char* rt_from_call = Py_GetVersion();
@ -18078,9 +18077,9 @@ static int __Pyx_check_binary_version(void) {
} }
/* VoidPtrImport */ /* VoidPtrImport */
#ifndef __PYX_HAVE_RT_ImportVoidPtr #ifndef __PYX_HAVE_RT_ImportVoidPtr_0_29_37
#define __PYX_HAVE_RT_ImportVoidPtr #define __PYX_HAVE_RT_ImportVoidPtr_0_29_37
static int __Pyx_ImportVoidPtr(PyObject *module, const char *name, void **p, const char *sig) { static int __Pyx_ImportVoidPtr_0_29_37(PyObject *module, const char *name, void **p, const char *sig) {
PyObject *d = 0; PyObject *d = 0;
PyObject *cobj = 0; PyObject *cobj = 0;
d = PyObject_GetAttrString(module, (char *)"__pyx_capi__"); d = PyObject_GetAttrString(module, (char *)"__pyx_capi__");
@ -18127,7 +18126,7 @@ bad:
#endif #endif
/* InitStrings */ /* InitStrings */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) {
while (t->p) { while (t->p) {
#if PY_MAJOR_VERSION < 3 #if PY_MAJOR_VERSION < 3
if (t->is_unicode) { if (t->is_unicode) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -6,5 +6,6 @@ filterwarnings =
ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning ignore:Module \"dependency_injector.ext.aiohttp\" is deprecated since version 4\.0\.0:DeprecationWarning
ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning ignore:Module \"dependency_injector.ext.flask\" is deprecated since version 4\.0\.0:DeprecationWarning
ignore:Please use \`.*?\` from the \`scipy.*?\`(.*?)namespace is deprecated\.:DeprecationWarning ignore:Please use \`.*?\` from the \`scipy.*?\`(.*?)namespace is deprecated\.:DeprecationWarning
ignore:The \`scipy(.*?)\` namespace is deprecated(.*):DeprecationWarning ignore:Please import \`.*?\` from the \`scipy(.*?)\` namespace(.*):DeprecationWarning
ignore:\`scipy(.*?)\` is deprecated(.*):DeprecationWarning
ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.* ignore:ssl\.PROTOCOL_TLS is deprecated:DeprecationWarning:botocore.*

View File

@ -1,12 +1,13 @@
from pathlib import Path from pathlib import Path
from typing import Any
from dependency_injector import providers from dependency_injector import providers
from pydantic import BaseSettings as PydanticSettings from pydantic import BaseSettings as PydanticSettings
# Test 1: to check the getattr # Test 1: to check the getattr
config1 = providers.Configuration() config1: providers.Configuration = providers.Configuration()
provider1 = providers.Factory(dict, a=config1.a) provider1: providers.Provider[dict] = providers.Factory(dict, a=config1.a)
# Test 2: to check the from_*() method # Test 2: to check the from_*() method
config2 = providers.Configuration() config2 = providers.Configuration()

View File

@ -6,30 +6,30 @@ from pytest import fixture, mark, raises
class Section11(pydantic.BaseModel): class Section11(pydantic.BaseModel):
value1 = 1 value1: int = 1
class Section12(pydantic.BaseModel): class Section12(pydantic.BaseModel):
value2 = 2 value2: int = 2
class Settings1(pydantic.BaseSettings): class Settings1(pydantic.BaseSettings):
section1 = Section11() section1: Section11 = Section11()
section2 = Section12() section2: Section12 = Section12()
class Section21(pydantic.BaseModel): class Section21(pydantic.BaseModel):
value1 = 11 value1: int = 11
value11 = 11 value11: int = 11
class Section3(pydantic.BaseModel): class Section3(pydantic.BaseModel):
value3 = 3 value3: int = 3
class Settings2(pydantic.BaseSettings): class Settings2(pydantic.BaseSettings):
section1 = Section21() section1: Section21 = Section21()
section3 = Section3() section3: Section3= Section3()
@fixture @fixture

50
tox.ini
View File

@ -1,6 +1,6 @@
[tox] [tox]
envlist= envlist=
coveralls, pylint, flake8, pydocstyle, 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, pypy2.7, pypy3.9 coveralls, pylint, flake8, pydocstyle, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, pypy3.9, pypy3.10
[testenv] [testenv]
deps= deps=
@ -10,25 +10,25 @@ deps=
typing_extensions typing_extensions
httpx httpx
fastapi fastapi
flask<2.2
aiohttp<=3.9.0b1
numpy numpy
scipy scipy
boto3 boto3
mypy_boto3_s3 mypy_boto3_s3
pydantic<2
werkzeug<=2.2.2
extras= extras=
yaml yaml
pydantic
flask
aiohttp
commands = pytest -c tests/.configs/pytest.ini 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_*
basepython=python3.11 basepython=python3.12
usedevelop=True
deps= deps=
{[testenv]deps} {[testenv]deps}
cython cython<3.0
coverage coverage
coveralls coveralls
commands= commands=
@ -37,49 +37,27 @@ commands=
coverage report --rcfile=./.coveragerc coverage report --rcfile=./.coveragerc
coveralls coveralls
[testenv:2.7]
deps=
pytest
extras=
yaml
flask
commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:3.5]
deps=
pytest
pytest-asyncio
contextvars
extras=
yaml
flask
commands = pytest -c tests/.configs/pytest-py35.ini
[testenv:pypy2.7]
deps=
pytest
extras=
yaml
flask
commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:pypy3.9] [testenv:pypy3.9]
deps= deps=
pytest pytest
pytest-asyncio pytest-asyncio
httpx httpx
flask<2.2
pydantic<2
werkzeug<=2.2.2
fastapi fastapi
boto3 boto3
mypy_boto3_s3 mypy_boto3_s3
extras= extras=
yaml yaml
flask commands = pytest -c tests/.configs/pytest-py35.ini
commands = pytest -c tests/.configs/pytest-py27.ini
[testenv:pylint] [testenv:pylint]
deps= deps=
pylint pylint
flask<2.2
werkzeug<=2.2.2
commands= commands=
- pylint -f colorized --rcfile=./.pylintrc src/dependency_injector - pylint -f colorized --rcfile=./.pylintrc src/dependency_injector
@ -99,6 +77,8 @@ commands=
[testenv:mypy] [testenv:mypy]
deps= deps=
typing_extensions
pydantic<2
mypy mypy
commands= commands=
mypy tests/typing mypy tests/typing