diff --git a/.travis.yml b/.travis.yml index b519b994..229c03a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,13 @@ matrix: env: TOXENV=py37 sudo: required dist: xenial + - python: 3.8 + env: TOXENV=py38 + sudo: required + dist: xenial - python: pypy env: TOXENV=pypy + - python: pypy3 + env: TOXENV=pypy3 notifications: slack: ets-labs:g9OU0r5PXjA5ueeoQw01dVvV diff --git a/docs/main/changelog.rst b/docs/main/changelog.rst index 787435ad..cb71c263 100644 --- a/docs/main/changelog.rst +++ b/docs/main/changelog.rst @@ -7,27 +7,40 @@ that were made in every particular version. From version 0.7.6 *Dependency Injector* framework strictly follows `Semantic versioning`_ +3.15.0 +------ +- Add Python 3.8 support. +- Add PyPy 3.6 support. +- Add support of six 1.14.0. +- Add support of six 1.13.0. +- Regenerate C sources using Cython 0.29.14. +- Remove Python 2-ish inheritance from ``object`` in example modules. +- Replace Python 2-ish ``super(class, self).__init__()`` calls with Python 3-ish + ``super().__init__()`` in example modules. +- Fix doc block errors in example modules, including related to PEP257-compliance. +- Clean up tox.ini file. + 3.14.12 ------- -+ Fix ``3.14.11`` degradation issue causing inability of using ``Delegate`` provider in +- Fix ``3.14.11`` degradation issue causing inability of using ``Delegate`` provider in ``DeclarativeContainer`` when this container is instantiated with overriding of delegating provider (thanks to `GitterRemote `_, issue details are `here `_). 3.14.11 ------- -+ Fix issue causing creation of a copy of provided object by ``Object`` provider when it was a +- Fix issue causing creation of a copy of provided object by ``Object`` provider when it was a part of ``DeclarativeContainer`` and this container was instantiated (thanks to `davidcim `_, issue details are `here `_). 3.14.10 ------ -+ Make spelling fix for the list of contributors. +- Make spelling fix for the list of contributors. 3.14.9 ------ -+ Improve README - minor English nitpicking (thanks to `supakeen `_). +- Improve README - minor English nitpicking (thanks to `supakeen `_). 3.14.8 ------ diff --git a/examples/di_demo/example.py b/examples/di_demo/example.py index 3a0d8036..4aaa9590 100644 --- a/examples/di_demo/example.py +++ b/examples/di_demo/example.py @@ -1,15 +1,15 @@ """The Code.""" -class Service(object): +class Service: """Some "Service".""" -class Client(object): +class Client: """Some "Client" that uses "Service".""" def __init__(self): - """Initializer.""" + """Initialize instance.""" self.service = Service() # Service instance is created inside Client diff --git a/examples/di_demo/example_di.py b/examples/di_demo/example_di.py index cb289a19..cd19c591 100644 --- a/examples/di_demo/example_di.py +++ b/examples/di_demo/example_di.py @@ -1,15 +1,15 @@ """The Code, that demonstrates dependency injection pattern.""" -class Service(object): +class Service: """Some "Service".""" -class Client(object): +class Client: """Some "Client" that uses "Service".""" def __init__(self, service): # Service instance is injected into Client - """Initializer.""" + """Initialize instance.""" self.service = service diff --git a/examples/miniapps/api_client/api.py b/examples/miniapps/api_client/api.py index b92641e3..b876a470 100644 --- a/examples/miniapps/api_client/api.py +++ b/examples/miniapps/api_client/api.py @@ -1,11 +1,11 @@ -"""TBD.""" +"""API client module.""" -class ApiClient(object): +class ApiClient: """Some API client.""" def __init__(self, host, api_key): - """Initializer.""" + """Initialize instance.""" self.host = host self.api_key = api_key diff --git a/examples/miniapps/api_client/main.py b/examples/miniapps/api_client/main.py index 9755e055..d99979d8 100644 --- a/examples/miniapps/api_client/main.py +++ b/examples/miniapps/api_client/main.py @@ -1,4 +1,4 @@ -"""TBD.""" +"""Main module.""" from dependency_injector import providers diff --git a/examples/miniapps/api_client/models.py b/examples/miniapps/api_client/models.py index 0cd1c7c9..f8145c02 100644 --- a/examples/miniapps/api_client/models.py +++ b/examples/miniapps/api_client/models.py @@ -1,11 +1,11 @@ -"""TBD.""" +"""Models module.""" -class User(object): +class User: """User model.""" def __init__(self, id, api_client): - """Initializer.""" + """Initialize instance.""" self.id = id self.api_client = api_client diff --git a/examples/miniapps/api_client/tests.py b/examples/miniapps/api_client/tests.py index 4619679d..c304e6b0 100644 --- a/examples/miniapps/api_client/tests.py +++ b/examples/miniapps/api_client/tests.py @@ -1,6 +1,6 @@ -"""TBD.""" +"""Tests module.""" -from mock import Mock +from unittest.mock import Mock import main import api diff --git a/examples/miniapps/bundles/bundles/photos/entities.py b/examples/miniapps/bundles/bundles/photos/entities.py index 173ace39..f93b9f22 100644 --- a/examples/miniapps/bundles/bundles/photos/entities.py +++ b/examples/miniapps/bundles/bundles/photos/entities.py @@ -1,5 +1,5 @@ """Photos bundle entities module.""" -class Photo(object): +class Photo: """Photo entity.""" diff --git a/examples/miniapps/bundles/bundles/photos/repositories.py b/examples/miniapps/bundles/bundles/photos/repositories.py index 710872ae..229b907e 100644 --- a/examples/miniapps/bundles/bundles/photos/repositories.py +++ b/examples/miniapps/bundles/bundles/photos/repositories.py @@ -1,11 +1,11 @@ """Photos bundle entity repositories module.""" -class PhotoRepository(object): +class PhotoRepository: """Photo entity repository.""" def __init__(self, object_factory, fs, db): - """Initializer.""" + """Initialize instance.""" self.object_factory = object_factory self.fs = fs self.db = db diff --git a/examples/miniapps/bundles/bundles/users/entities.py b/examples/miniapps/bundles/bundles/users/entities.py index 104dace4..399b3164 100644 --- a/examples/miniapps/bundles/bundles/users/entities.py +++ b/examples/miniapps/bundles/bundles/users/entities.py @@ -1,9 +1,9 @@ """Users bundle entities module.""" -class User(object): +class User: """User entity.""" def __init__(self, id): - """Initializer.""" + """Initialize instance.""" self.id = id diff --git a/examples/miniapps/bundles/bundles/users/repositories.py b/examples/miniapps/bundles/bundles/users/repositories.py index d661a4c3..cf4ad06b 100644 --- a/examples/miniapps/bundles/bundles/users/repositories.py +++ b/examples/miniapps/bundles/bundles/users/repositories.py @@ -1,11 +1,11 @@ """Users bundle entity repositories module.""" -class UserRepository(object): +class UserRepository: """User entity repository.""" def __init__(self, object_factory, db): - """Initializer.""" + """Initialize instance.""" self.object_factory = object_factory self.db = db diff --git a/examples/miniapps/engines_cars/example/cars.py b/examples/miniapps/engines_cars/example/cars.py index a1ddc027..c82361f1 100644 --- a/examples/miniapps/engines_cars/example/cars.py +++ b/examples/miniapps/engines_cars/example/cars.py @@ -1,9 +1,9 @@ """Dependency injection example, cars module.""" -class Car(object): +class Car: """Example car.""" def __init__(self, engine): - """Initializer.""" + """Initialize instance.""" self._engine = engine # Engine is injected diff --git a/examples/miniapps/engines_cars/example/engines.py b/examples/miniapps/engines_cars/example/engines.py index 8e42ec1d..9cdfd357 100644 --- a/examples/miniapps/engines_cars/example/engines.py +++ b/examples/miniapps/engines_cars/example/engines.py @@ -1,7 +1,7 @@ """Dependency injection example, engines module.""" -class Engine(object): +class Engine: """Example engine base class. Engine is a heart of every car. Engine is a very common term and could be @@ -17,5 +17,5 @@ class DieselEngine(Engine): """Diesel engine.""" -class ElectroEngine(Engine): - """Electro engine.""" +class ElectricEngine(Engine): + """Electric engine.""" diff --git a/examples/miniapps/engines_cars/example_di.py b/examples/miniapps/engines_cars/example_di.py index 317d7d8f..fe5912d8 100644 --- a/examples/miniapps/engines_cars/example_di.py +++ b/examples/miniapps/engines_cars/example_di.py @@ -7,4 +7,4 @@ import example.engines if __name__ == '__main__': gasoline_car = example.cars.Car(example.engines.GasolineEngine()) diesel_car = example.cars.Car(example.engines.DieselEngine()) - electro_car = example.cars.Car(example.engines.ElectroEngine()) + electric_car = example.cars.Car(example.engines.ElectricEngine()) diff --git a/examples/miniapps/engines_cars/example_ioc_containers.py b/examples/miniapps/engines_cars/example_ioc_containers.py index b97ab121..7edda6d2 100644 --- a/examples/miniapps/engines_cars/example_ioc_containers.py +++ b/examples/miniapps/engines_cars/example_ioc_containers.py @@ -14,7 +14,7 @@ class Engines(containers.DeclarativeContainer): diesel = providers.Factory(example.engines.DieselEngine) - electro = providers.Factory(example.engines.ElectroEngine) + electric = providers.Factory(example.engines.ElectricEngine) class Cars(containers.DeclarativeContainer): @@ -26,11 +26,11 @@ class Cars(containers.DeclarativeContainer): diesel = providers.Factory(example.cars.Car, engine=Engines.diesel) - electro = providers.Factory(example.cars.Car, - engine=Engines.electro) + electric = providers.Factory(example.cars.Car, + engine=Engines.electric) if __name__ == '__main__': gasoline_car = Cars.gasoline() diesel_car = Cars.diesel() - electro_car = Cars.electro() + electric_car = Cars.electric() diff --git a/examples/miniapps/mail_service/example.py b/examples/miniapps/mail_service/example.py index ae69b9aa..0703e476 100644 --- a/examples/miniapps/mail_service/example.py +++ b/examples/miniapps/mail_service/example.py @@ -1,7 +1,7 @@ """Mail service and user registration example.""" -class AbstractMailService(object): +class AbstractMailService: """Abstract mail service.""" def send(self, email, body): @@ -13,7 +13,7 @@ class MailService(AbstractMailService): """Mail service.""" def __init__(self, host, port, login, password): - """Initializer.""" + """Initialize instance.""" self._host = host self._port = port self._login = login diff --git a/examples/miniapps/movie_lister/movies/finders.py b/examples/miniapps/movie_lister/movies/finders.py index b9b8f42a..557dcbdb 100644 --- a/examples/miniapps/movie_lister/movies/finders.py +++ b/examples/miniapps/movie_lister/movies/finders.py @@ -6,15 +6,15 @@ This module contains all finder implementations. import csv -class MovieFinder(object): +class MovieFinder: """Movie finder component. Movie finder component is responsible for fetching movies data from - different storages. + various storage. """ def __init__(self, movie_model): - """Initializer. + """Initialize instance. :param movie_model: Movie model's factory :type movie_model: movies.models.Movie @@ -34,7 +34,7 @@ class CsvMovieFinder(MovieFinder): """Movie finder that fetches movies data from csv file.""" def __init__(self, movie_model, csv_file_path, delimiter): - """Initializer. + """Initialize instance. :param movie_model: Movie model's factory :type movie_model: movies.models.Movie @@ -47,7 +47,7 @@ class CsvMovieFinder(MovieFinder): """ self._csv_file_path = csv_file_path self._delimiter = delimiter - super(CsvMovieFinder, self).__init__(movie_model) + super().__init__(movie_model) def find_all(self): """Return all found movies. @@ -64,7 +64,7 @@ class SqliteMovieFinder(MovieFinder): """Movie finder that fetches movies data from sqlite database.""" def __init__(self, movie_model, database): - """Initializer. + """Initialize instance. :param movie_model: Movie model's factory :type movie_model: (object) -> movies.models.Movie @@ -73,7 +73,7 @@ class SqliteMovieFinder(MovieFinder): :type database: sqlite3.Connection """ self._database = database - super(SqliteMovieFinder, self).__init__(movie_model) + super().__init__(movie_model) def find_all(self): """Return all found movies. diff --git a/examples/miniapps/movie_lister/movies/listers.py b/examples/miniapps/movie_lister/movies/listers.py index 2ae78860..f00b22ba 100644 --- a/examples/miniapps/movie_lister/movies/listers.py +++ b/examples/miniapps/movie_lister/movies/listers.py @@ -4,7 +4,7 @@ This module contains all lister implementations. """ -class MovieLister(object): +class MovieLister: """Movie lister component. Movie lister component provides several methods for filtering movies by @@ -12,7 +12,7 @@ class MovieLister(object): """ def __init__(self, movie_finder): - """Initializer. + """Initialize instance. :param movie_finder: Movie finder instance :type movie_finder: movies.finders.MovieFinder diff --git a/examples/miniapps/movie_lister/movies/models.py b/examples/miniapps/movie_lister/movies/models.py index 9e22d693..c42d6903 100644 --- a/examples/miniapps/movie_lister/movies/models.py +++ b/examples/miniapps/movie_lister/movies/models.py @@ -4,11 +4,11 @@ This module contains all model implementations. """ -class Movie(object): +class Movie: """Base movie model.""" def __init__(self, name, year, director): - """Initializer. + """Initialize instance. :param name: Movie's name :type name: str diff --git a/examples/miniapps/password_hashing/example.py b/examples/miniapps/password_hashing/example.py index a291485d..1273330e 100644 --- a/examples/miniapps/password_hashing/example.py +++ b/examples/miniapps/password_hashing/example.py @@ -6,11 +6,11 @@ import dependency_injector.containers as containers import dependency_injector.providers as providers -class UsersService(object): +class UsersService: """Users service.""" def __init__(self, password_hasher): - """Initializer.""" + """Initialize instance.""" self._password_hasher = password_hasher def create_user(self, name, password): @@ -23,7 +23,7 @@ class Container(containers.DeclarativeContainer): """Inversion of control container.""" password_hasher = providers.Callable( - passlib.hash.sha256_crypt.encrypt, + passlib.hash.sha256_crypt.hash, salt_size=16, rounds=10000) diff --git a/examples/miniapps/services_v1/example/services.py b/examples/miniapps/services_v1/example/services.py index c3b1b7cf..04206916 100644 --- a/examples/miniapps/services_v1/example/services.py +++ b/examples/miniapps/services_v1/example/services.py @@ -1,7 +1,7 @@ """Example business services module.""" -class BaseService(object): +class BaseService: """Service base class.""" @@ -9,7 +9,7 @@ class UsersService(BaseService): """Users service.""" def __init__(self, logger, db): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db @@ -23,7 +23,7 @@ class AuthService(BaseService): """Authentication service.""" def __init__(self, logger, db, token_ttl): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db self.token_ttl = token_ttl @@ -39,7 +39,7 @@ class PhotosService(BaseService): """Photos service.""" def __init__(self, logger, db, s3): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db self.s3 = s3 diff --git a/examples/miniapps/services_v2/example/services.py b/examples/miniapps/services_v2/example/services.py index c3b1b7cf..04206916 100644 --- a/examples/miniapps/services_v2/example/services.py +++ b/examples/miniapps/services_v2/example/services.py @@ -1,7 +1,7 @@ """Example business services module.""" -class BaseService(object): +class BaseService: """Service base class.""" @@ -9,7 +9,7 @@ class UsersService(BaseService): """Users service.""" def __init__(self, logger, db): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db @@ -23,7 +23,7 @@ class AuthService(BaseService): """Authentication service.""" def __init__(self, logger, db, token_ttl): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db self.token_ttl = token_ttl @@ -39,7 +39,7 @@ class PhotosService(BaseService): """Photos service.""" def __init__(self, logger, db, s3): - """Initializer.""" + """Initialize instance.""" self.logger = logger self.db = db self.s3 = s3 diff --git a/examples/miniapps/use_cases/example/adapters.py b/examples/miniapps/use_cases/example/adapters.py index 8b9312c9..d940cf0a 100644 --- a/examples/miniapps/use_cases/example/adapters.py +++ b/examples/miniapps/use_cases/example/adapters.py @@ -1,7 +1,7 @@ """Example adapters package.""" -class EmailSender(object): +class EmailSender: """Abstract email sender.""" def send(self, to, body): @@ -9,7 +9,7 @@ class EmailSender(object): raise NotImplementedError() -class SmtpEmailSender(object): +class SmtpEmailSender: """SMTP email sender uses SMTP protocol for sending emails.""" def send(self, to, body): @@ -17,7 +17,7 @@ class SmtpEmailSender(object): # Send email via SMTP -class EchoEmailSender(object): +class EchoEmailSender: """Echo email sender prints emails to stdout.""" def send(self, to, body): diff --git a/examples/miniapps/use_cases/example/use_cases.py b/examples/miniapps/use_cases/example/use_cases.py index 8bf5c938..4946ae46 100644 --- a/examples/miniapps/use_cases/example/use_cases.py +++ b/examples/miniapps/use_cases/example/use_cases.py @@ -1,7 +1,7 @@ """Example use cases package.""" -class UseCase(object): +class UseCase: """Abstract use case.""" def execute(self): @@ -9,11 +9,11 @@ class UseCase(object): raise NotImplementedError() -class SignupUseCase(object): +class SignupUseCase: """Sign up use cases registers users.""" def __init__(self, email_sender): - """Initializer.""" + """Initialize instance.""" self.email_sender = email_sender def execute(self, email): diff --git a/examples/providers/abstract_factory/cache.py b/examples/providers/abstract_factory/cache.py index fe499a2c..51cdc3c2 100644 --- a/examples/providers/abstract_factory/cache.py +++ b/examples/providers/abstract_factory/cache.py @@ -1,7 +1,7 @@ """Example hierarchy of cache clients with abstract base class.""" -class AbstractCacheClient(object): +class AbstractCacheClient: """Abstract cache client.""" @@ -9,7 +9,7 @@ class RedisCacheClient(AbstractCacheClient): """Cache client implementation based on Redis.""" def __init__(self, host, port, db): - """Initializer.""" + """Initialize instance.""" self.host = host self.port = port self.db = db @@ -19,7 +19,7 @@ class MemcacheCacheClient(AbstractCacheClient): """Cache client implementation based on Memcached.""" def __init__(self, hosts, port, prefix): - """Initializer.""" + """Initialize instance.""" self.hosts = hosts self.port = port self.prefix = prefix diff --git a/examples/providers/custom_factory.py b/examples/providers/custom_factory.py index 8e978872..01c17425 100644 --- a/examples/providers/custom_factory.py +++ b/examples/providers/custom_factory.py @@ -3,7 +3,7 @@ import dependency_injector.providers as providers -class User(object): +class User: """Example class User.""" @@ -13,9 +13,9 @@ class UsersFactory(providers.Provider): __slots__ = ('_factory',) def __init__(self): - """Initializer.""" + """Initialize instance.""" self._factory = providers.Factory(User) - super(UsersFactory, self).__init__() + super().__init__() def __call__(self, *args, **kwargs): """Return provided object. diff --git a/examples/providers/dependency.py b/examples/providers/dependency.py index 142db49a..a96aa58d 100644 --- a/examples/providers/dependency.py +++ b/examples/providers/dependency.py @@ -6,14 +6,14 @@ import contextlib import dependency_injector.providers as providers -class UsersService(object): +class UsersService: """Example class UsersService. UsersService has dependency on DBAPI 2.0 database connection. """ def __init__(self, database): - """Initializer. + """Initialize instance. :param database: Database connection. :type database: sqlite3.dbapi2.Connection diff --git a/examples/providers/factory_aggregate/games.py b/examples/providers/factory_aggregate/games.py index f7627496..aa9e7a8a 100644 --- a/examples/providers/factory_aggregate/games.py +++ b/examples/providers/factory_aggregate/games.py @@ -1,11 +1,11 @@ """Example games module.""" -class Game(object): +class Game: """Base game class.""" def __init__(self, player1, player2): - """Initializer.""" + """Initialize instance.""" self.player1 = player1 self.player2 = player2 diff --git a/examples/providers/factory_aggregate/prototype.py b/examples/providers/factory_aggregate/prototype.py index 08ebed3d..930a3159 100644 --- a/examples/providers/factory_aggregate/prototype.py +++ b/examples/providers/factory_aggregate/prototype.py @@ -1,11 +1,11 @@ """FactoryAggregate provider prototype.""" -class FactoryAggregate(object): +class FactoryAggregate: """FactoryAggregate provider prototype.""" def __init__(self, **factories): - """Initializer.""" + """Initialize instance.""" self.factories = factories def __call__(self, factory_name, *args, **kwargs): diff --git a/examples/providers/factory_delegation.py b/examples/providers/factory_delegation.py index 2a2a01fc..64ce36ce 100644 --- a/examples/providers/factory_delegation.py +++ b/examples/providers/factory_delegation.py @@ -8,11 +8,11 @@ import dependency_injector.providers as providers Photo = collections.namedtuple('Photo', []) -class User(object): +class User: """Example user model.""" def __init__(self, photos_factory): - """Initializer.""" + """Initialize instance.""" self.photos_factory = photos_factory self._main_photo = None diff --git a/examples/providers/factory_provided_type.py b/examples/providers/factory_provided_type.py index 4e4d645c..8009300f 100644 --- a/examples/providers/factory_provided_type.py +++ b/examples/providers/factory_provided_type.py @@ -4,7 +4,7 @@ import dependency_injector.providers as providers import dependency_injector.errors as errors -class BaseService(object): +class BaseService: """Base service class.""" diff --git a/examples/providers/overriding_simple.py b/examples/providers/overriding_simple.py index 77a5a6d0..96533d2c 100644 --- a/examples/providers/overriding_simple.py +++ b/examples/providers/overriding_simple.py @@ -3,7 +3,7 @@ import dependency_injector.providers as providers -class User(object): +class User: """Example class User.""" diff --git a/examples/providers/overriding_users_model.py b/examples/providers/overriding_users_model.py index b3ab2adc..7af62069 100644 --- a/examples/providers/overriding_users_model.py +++ b/examples/providers/overriding_users_model.py @@ -3,23 +3,23 @@ import dependency_injector.providers as providers -class User(object): +class User: """Example class User.""" def __init__(self, id, password): - """Initializer.""" + """Initialize instance.""" self.id = id self.password = password - super(User, self).__init__() + super().__init__() -class UsersService(object): +class UsersService: """Example class UsersService.""" def __init__(self, user_cls): - """Initializer.""" + """Initialize instance.""" self.user_cls = user_cls - super(UsersService, self).__init__() + super().__init__() def get_by_id(self, id): """Find user by his id and return user model.""" @@ -52,11 +52,11 @@ class ExtendedUser(User): def __init__(self, id, password, first_name=None, last_name=None, gender=None): - """Initializer.""" + """Initialize instance.""" self.first_name = first_name self.last_name = last_name self.gender = gender - super(ExtendedUser, self).__init__(id, password) + super().__init__(id, password) class ExtendedUsersService(UsersService): diff --git a/examples/providers/singleton_provided_type.py b/examples/providers/singleton_provided_type.py index 517744ca..1402fd5c 100644 --- a/examples/providers/singleton_provided_type.py +++ b/examples/providers/singleton_provided_type.py @@ -4,7 +4,7 @@ import dependency_injector.providers as providers import dependency_injector.errors as errors -class BaseService(object): +class BaseService: """Base service class.""" diff --git a/requirements-dev.txt b/requirements-dev.txt index d11bc97e..92f4c88a 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,4 @@ -cython==0.29.13 +cython==0.29.14 tox unittest2 coverage diff --git a/requirements.txt b/requirements.txt index b25b5e35..c71dc73e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -six>=1.7.0,<=1.12.0 +six>=1.7.0,<=1.14.0 diff --git a/setup.py b/setup.py index 47eb0b78..8ddafba7 100644 --- a/setup.py +++ b/setup.py @@ -84,6 +84,7 @@ setup(name='dependency-injector', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development', diff --git a/src/dependency_injector/__init__.py b/src/dependency_injector/__init__.py index 2028a217..8d9e7b32 100644 --- a/src/dependency_injector/__init__.py +++ b/src/dependency_injector/__init__.py @@ -1,6 +1,6 @@ """Dependency injector top-level package.""" -__version__ = '3.14.12' +__version__ = '3.15.0' """Version number that follows semantic versioning. :type: str diff --git a/src/dependency_injector/containers.c b/src/dependency_injector/containers.c index 47ab18a3..257c53eb 100644 --- a/src/dependency_injector/containers.c +++ b/src/dependency_injector/containers.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.29.13 */ +/* Generated by Cython 0.29.14 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -7,8 +7,8 @@ #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) #error Cython requires Python 2.6+ or Python 3.3+. #else -#define CYTHON_ABI "0_29_13" -#define CYTHON_HEX_VERSION 0x001D0DF0 +#define CYTHON_ABI "0_29_14" +#define CYTHON_HEX_VERSION 0x001D0EF0 #define CYTHON_FUTURE_DIVISION 0 #include #ifndef offsetof @@ -9580,7 +9580,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct____new__), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct____new__, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -9633,6 +9638,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_1_genexpr *__pyx_freelist_19dependency_injector_10containers___pyx_scope_struct_1_genexpr[8]; @@ -9690,7 +9698,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_1_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct_1_genexpr, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -9743,6 +9756,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_2_genexpr *__pyx_freelist_19dependency_injector_10containers___pyx_scope_struct_2_genexpr[8]; @@ -9800,7 +9816,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_2_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct_2_genexpr, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -9853,6 +9874,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_3_genexpr *__pyx_freelist_19dependency_injector_10containers___pyx_scope_struct_3_genexpr[8]; @@ -9918,7 +9942,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_3_genexpr), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct_3_genexpr, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -9971,6 +10000,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_4_override *__pyx_freelist_19dependency_injector_10containers___pyx_scope_struct_4_override[8]; @@ -10025,7 +10057,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_4_override), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct_4_override, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -10078,6 +10115,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_5_copy *__pyx_freelist_19dependency_injector_10containers___pyx_scope_struct_5_copy[8]; @@ -10132,7 +10172,12 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st sizeof(struct __pyx_obj_19dependency_injector_10containers___pyx_scope_struct_5_copy), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_10containers___pyx_scope_struct_5_copy, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -10185,6 +10230,9 @@ static PyTypeObject __pyx_type_19dependency_injector_10containers___pyx_scope_st #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyMethodDef __pyx_methods[] = { @@ -13214,6 +13262,9 @@ static PyTypeObject __pyx_CyFunctionType_type = { #if PY_VERSION_HEX >= 0x030800b1 0, #endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif }; static int __pyx_CyFunction_init(void) { __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); @@ -15492,6 +15543,9 @@ static PyTypeObject __pyx_GeneratorType_type = { #if PY_VERSION_HEX >= 0x030800b1 0, #endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif }; static int __pyx_Generator_init(void) { __pyx_GeneratorType_type.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict; diff --git a/src/dependency_injector/providers.c b/src/dependency_injector/providers.c index 925885dd..4172d9a5 100644 --- a/src/dependency_injector/providers.c +++ b/src/dependency_injector/providers.c @@ -1,4 +1,4 @@ -/* Generated by Cython 0.29.13 */ +/* Generated by Cython 0.29.14 */ #define PY_SSIZE_T_CLEAN #include "Python.h" @@ -7,8 +7,8 @@ #elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000) #error Cython requires Python 2.6+ or Python 3.3+. #else -#define CYTHON_ABI "0_29_13" -#define CYTHON_HEX_VERSION 0x001D0DF0 +#define CYTHON_ABI "0_29_14" +#define CYTHON_HEX_VERSION 0x001D0EF0 #define CYTHON_FUTURE_DIVISION 0 #include #ifndef offsetof @@ -52792,7 +52792,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Provider = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Provider), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Provider, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -52845,6 +52850,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Provider = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Object __pyx_vtable_19dependency_injector_9providers_Object; @@ -52905,7 +52913,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Object = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Object), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Object, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -52962,6 +52975,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Object = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Delegate __pyx_vtable_19dependency_injector_9providers_Delegate; @@ -53022,7 +53038,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Delegate = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Delegate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Delegate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53079,6 +53100,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Delegate = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Dependency __pyx_vtable_19dependency_injector_9providers_Dependency; @@ -53148,7 +53172,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Dependency = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Dependency), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Dependency, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53201,6 +53230,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Dependency = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_ExternalDependency __pyx_vtable_19dependency_injector_9providers_ExternalDependency; @@ -53225,7 +53257,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ExternalDependen sizeof(struct __pyx_obj_19dependency_injector_9providers_ExternalDependency), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Dependency, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53294,6 +53331,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ExternalDependen #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DependenciesContainer __pyx_vtable_19dependency_injector_9providers_DependenciesContainer; @@ -53376,7 +53416,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DependenciesCont sizeof(struct __pyx_obj_19dependency_injector_9providers_DependenciesContainer), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_DependenciesContainer, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53441,6 +53486,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DependenciesCont #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyObject *__pyx_tp_new_19dependency_injector_9providers_OverridingContext(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { @@ -53509,7 +53557,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_OverridingContex sizeof(struct __pyx_obj_19dependency_injector_9providers_OverridingContext), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_OverridingContext, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53562,6 +53615,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_OverridingContex #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Callable __pyx_vtable_19dependency_injector_9providers_Callable; @@ -53663,7 +53719,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Callable = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Callable), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53724,6 +53785,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Callable = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCallable __pyx_vtable_19dependency_injector_9providers_DelegatedCallable; @@ -53748,7 +53812,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedCallabl sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCallable), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53817,6 +53886,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedCallabl #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCallable __pyx_vtable_19dependency_injector_9providers_AbstractCallable; @@ -53843,7 +53915,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractCallable sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCallable), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53908,6 +53985,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractCallable #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_CallableDelegate __pyx_vtable_19dependency_injector_9providers_CallableDelegate; @@ -53932,7 +54012,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_CallableDelegate sizeof(struct __pyx_obj_19dependency_injector_9providers_CallableDelegate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Delegate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -53997,6 +54082,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_CallableDelegate #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Coroutine __pyx_vtable_19dependency_injector_9providers_Coroutine; @@ -54021,7 +54109,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Coroutine = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Coroutine), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54086,6 +54179,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Coroutine = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedCoroutine __pyx_vtable_19dependency_injector_9providers_DelegatedCoroutine; @@ -54110,7 +54206,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedCorouti sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedCoroutine), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54179,6 +54280,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedCorouti #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractCoroutine __pyx_vtable_19dependency_injector_9providers_AbstractCoroutine; @@ -54205,7 +54309,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractCoroutin sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractCoroutine), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Callable, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54270,6 +54379,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractCoroutin #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_CoroutineDelegate __pyx_vtable_19dependency_injector_9providers_CoroutineDelegate; @@ -54294,7 +54406,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_CoroutineDelegat sizeof(struct __pyx_obj_19dependency_injector_9providers_CoroutineDelegate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Delegate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54359,6 +54476,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_CoroutineDelegat #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Configuration __pyx_vtable_19dependency_injector_9providers_Configuration; @@ -54437,7 +54557,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Configuration = sizeof(struct __pyx_obj_19dependency_injector_9providers_Configuration), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Configuration, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54498,6 +54623,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Configuration = #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Factory __pyx_vtable_19dependency_injector_9providers_Factory; @@ -54599,7 +54727,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Factory = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Factory), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Factory, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54660,6 +54793,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Factory = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedFactory __pyx_vtable_19dependency_injector_9providers_DelegatedFactory; @@ -54684,7 +54820,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedFactory sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedFactory), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Factory, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54753,6 +54894,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedFactory #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractFactory __pyx_vtable_19dependency_injector_9providers_AbstractFactory; @@ -54779,7 +54923,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractFactory sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractFactory), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Factory, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54844,6 +54993,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractFactory #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryDelegate __pyx_vtable_19dependency_injector_9providers_FactoryDelegate; @@ -54868,7 +55020,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_FactoryDelegate sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryDelegate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Delegate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -54933,6 +55090,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_FactoryDelegate #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_FactoryAggregate __pyx_vtable_19dependency_injector_9providers_FactoryAggregate; @@ -55012,7 +55172,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_FactoryAggregate sizeof(struct __pyx_obj_19dependency_injector_9providers_FactoryAggregate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_FactoryAggregate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55069,6 +55234,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_FactoryAggregate #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_BaseSingleton __pyx_vtable_19dependency_injector_9providers_BaseSingleton; @@ -55162,7 +55330,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_BaseSingleton = sizeof(struct __pyx_obj_19dependency_injector_9providers_BaseSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_BaseSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55223,6 +55396,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_BaseSingleton = #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_Singleton __pyx_vtable_19dependency_injector_9providers_Singleton; @@ -55283,7 +55459,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Singleton = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Singleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Singleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55348,6 +55529,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Singleton = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedSingleton __pyx_vtable_19dependency_injector_9providers_DelegatedSingleton; @@ -55372,7 +55556,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedSinglet sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Singleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55441,6 +55630,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedSinglet #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadSafeSingleton __pyx_vtable_19dependency_injector_9providers_ThreadSafeSingleton; @@ -55509,7 +55701,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ThreadSafeSingle sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadSafeSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_ThreadSafeSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55574,6 +55771,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ThreadSafeSingle #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadSafeSingleton __pyx_vtable_19dependency_injector_9providers_DelegatedThreadSafeSingleton; @@ -55598,7 +55798,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedThreadS sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadSafeSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_ThreadSafeSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55667,6 +55872,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedThreadS #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_ThreadLocalSingleton __pyx_vtable_19dependency_injector_9providers_ThreadLocalSingleton; @@ -55727,7 +55935,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ThreadLocalSingl sizeof(struct __pyx_obj_19dependency_injector_9providers_ThreadLocalSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_ThreadLocalSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55792,6 +56005,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_ThreadLocalSingl #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_DelegatedThreadLocalSingleton __pyx_vtable_19dependency_injector_9providers_DelegatedThreadLocalSingleton; @@ -55816,7 +56032,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedThreadL sizeof(struct __pyx_obj_19dependency_injector_9providers_DelegatedThreadLocalSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_ThreadLocalSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55885,6 +56106,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_DelegatedThreadL #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_AbstractSingleton __pyx_vtable_19dependency_injector_9providers_AbstractSingleton; @@ -55911,7 +56135,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractSingleto sizeof(struct __pyx_obj_19dependency_injector_9providers_AbstractSingleton), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_BaseSingleton, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -55976,6 +56205,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_AbstractSingleto #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static struct __pyx_vtabstruct_19dependency_injector_9providers_SingletonDelegate __pyx_vtable_19dependency_injector_9providers_SingletonDelegate; @@ -56000,7 +56232,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_SingletonDelegat sizeof(struct __pyx_obj_19dependency_injector_9providers_SingletonDelegate), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Delegate, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -56065,6 +56302,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_SingletonDelegat #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyObject *__pyx_tp_new_19dependency_injector_9providers_Injection(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) { @@ -56123,7 +56363,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Injection = { sizeof(struct __pyx_obj_19dependency_injector_9providers_Injection), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Injection, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -56176,6 +56421,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_Injection = { #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyObject *__pyx_tp_new_19dependency_injector_9providers_PositionalInjection(PyTypeObject *t, PyObject *a, PyObject *k) { @@ -56199,7 +56447,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_PositionalInject sizeof(struct __pyx_obj_19dependency_injector_9providers_PositionalInjection), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_Injection, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -56252,6 +56505,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_PositionalInject #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyObject *__pyx_tp_new_19dependency_injector_9providers_NamedInjection(PyTypeObject *t, PyObject *a, PyObject *k) { @@ -56312,7 +56568,12 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_NamedInjection = sizeof(struct __pyx_obj_19dependency_injector_9providers_NamedInjection), /*tp_basicsize*/ 0, /*tp_itemsize*/ __pyx_tp_dealloc_19dependency_injector_9providers_NamedInjection, /*tp_dealloc*/ + #if PY_VERSION_HEX < 0x030800b4 0, /*tp_print*/ + #endif + #if PY_VERSION_HEX >= 0x030800b4 + 0, /*tp_vectorcall_offset*/ + #endif 0, /*tp_getattr*/ 0, /*tp_setattr*/ #if PY_MAJOR_VERSION < 3 @@ -56365,6 +56626,9 @@ static PyTypeObject __pyx_type_19dependency_injector_9providers_NamedInjection = #if PY_VERSION_HEX >= 0x030800b1 0, /*tp_vectorcall*/ #endif + #if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, /*tp_print*/ + #endif }; static PyMethodDef __pyx_methods[] = { @@ -61803,6 +62067,9 @@ static PyTypeObject __pyx_CyFunctionType_type = { #if PY_VERSION_HEX >= 0x030800b1 0, #endif +#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000 + 0, +#endif }; static int __pyx_CyFunction_init(void) { __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); diff --git a/tox.ini b/tox.ini index 7908ae09..f9c344b6 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist= - coveralls, pylint, flake8, pydocstyle, py26, py27, py33, py34, py35, py36, pypy, pypy3 + coveralls, pylint, flake8, pydocstyle, py27, py34, py35, py36, py37, py38, pypy, pypy3 [testenv] deps= @@ -23,10 +23,6 @@ commands= coverage report --rcfile=./.coveragerc coveralls -[testenv:py26] -commands= - unit2 discover -s tests/unit -p test_*_py2_py3.py - [testenv:py27] commands= unit2 discover -s tests/unit -p test_*_py2_py3.py