Merge branch 'release/3.15.0' into master

This commit is contained in:
Roman Mogylatov 2020-01-26 18:56:37 -05:00
commit a58e300707
42 changed files with 442 additions and 105 deletions

View File

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

View File

@ -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 <https://github .com/GitterRemote>`_, issue details are
`here <https://github.com/ets-labs/python-dependency-injector/issues/235>`_).
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 <https://github.com/davidcim>`_, issue details are
`here <https://github.com/ets-labs/python-dependency-injector/issues/231>`_).
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 <https://github.com/supakeen>`_).
- Improve README - minor English nitpicking (thanks to `supakeen <https://github.com/supakeen>`_).
3.14.8
------

View File

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

View File

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

View File

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

View File

@ -1,4 +1,4 @@
"""TBD."""
"""Main module."""
from dependency_injector import providers

View File

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

View File

@ -1,6 +1,6 @@
"""TBD."""
"""Tests module."""
from mock import Mock
from unittest.mock import Mock
import main
import api

View File

@ -1,5 +1,5 @@
"""Photos bundle entities module."""
class Photo(object):
class Photo:
"""Photo entity."""

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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())

View File

@ -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()

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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):

View File

@ -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):

View File

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

View File

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

View File

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

View File

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

View File

@ -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):

View File

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

View File

@ -4,7 +4,7 @@ import dependency_injector.providers as providers
import dependency_injector.errors as errors
class BaseService(object):
class BaseService:
"""Base service class."""

View File

@ -3,7 +3,7 @@
import dependency_injector.providers as providers
class User(object):
class User:
"""Example class User."""

View File

@ -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):

View File

@ -4,7 +4,7 @@ import dependency_injector.providers as providers
import dependency_injector.errors as errors
class BaseService(object):
class BaseService:
"""Base service class."""

View File

@ -1,4 +1,4 @@
cython==0.29.13
cython==0.29.14
tox
unittest2
coverage

View File

@ -1 +1 @@
six>=1.7.0,<=1.12.0
six>=1.7.0,<=1.14.0

View File

@ -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',

View File

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

View File

@ -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 <stddef.h>
#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;

View File

@ -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 <stddef.h>
#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);

View File

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