2015-08-31 16:31:38 +03:00
|
|
|
"""`Dependency injector` setup script."""
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2016-11-02 18:21:40 +03:00
|
|
|
import os
|
2015-10-23 15:20:25 +03:00
|
|
|
import re
|
2022-12-19 05:59:31 +03:00
|
|
|
import sys
|
2015-10-23 15:20:25 +03:00
|
|
|
|
2016-10-31 12:31:56 +03:00
|
|
|
from setuptools import setup, Extension
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2015-04-03 01:01:05 +03:00
|
|
|
|
2022-12-19 05:59:31 +03:00
|
|
|
def _open(filename):
|
|
|
|
if sys.version_info[0] == 2:
|
|
|
|
return open(filename)
|
|
|
|
return open(filename, encoding="utf-8")
|
|
|
|
|
|
|
|
|
2016-11-03 01:06:14 +03:00
|
|
|
# Defining setup variables:
|
2017-08-08 19:27:33 +03:00
|
|
|
defined_macros = dict()
|
2021-10-01 03:24:53 +03:00
|
|
|
defined_macros["CYTHON_CLINE_IN_TRACEBACK"] = 0
|
2016-11-03 01:06:14 +03:00
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting description:
|
2022-12-19 05:59:31 +03:00
|
|
|
with _open("README.rst") as readme_file:
|
2020-07-11 20:18:52 +03:00
|
|
|
description = readme_file.read()
|
2015-01-05 12:11:21 +03:00
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting requirements:
|
2022-12-19 05:59:31 +03:00
|
|
|
with _open("requirements.txt") as requirements_file:
|
2016-12-04 14:13:29 +03:00
|
|
|
requirements = requirements_file.readlines()
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting version:
|
2022-12-19 05:59:31 +03:00
|
|
|
with _open("src/dependency_injector/__init__.py") as init_file:
|
2021-10-01 03:24:53 +03:00
|
|
|
version = re.search("__version__ = \"(.*?)\"", init_file.read()).group(1)
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2016-11-03 01:06:14 +03:00
|
|
|
# Adding debug options:
|
2021-10-01 03:24:53 +03:00
|
|
|
if os.environ.get("DEPENDENCY_INJECTOR_DEBUG_MODE") == "1":
|
|
|
|
defined_macros["CYTHON_TRACE"] = 1
|
|
|
|
defined_macros["CYTHON_TRACE_NOGIL"] = 1
|
|
|
|
defined_macros["CYTHON_CLINE_IN_TRACEBACK"] = 1
|
2016-11-02 18:21:40 +03:00
|
|
|
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2021-10-01 03:24:53 +03:00
|
|
|
setup(name="dependency-injector",
|
2015-04-03 16:11:05 +03:00
|
|
|
version=version,
|
2021-10-01 03:24:53 +03:00
|
|
|
description="Dependency injection framework for Python",
|
2015-04-03 16:11:05 +03:00
|
|
|
long_description=description,
|
2021-10-01 03:24:53 +03:00
|
|
|
author="Roman Mogylatov",
|
|
|
|
author_email="rmogilatov@gmail.com",
|
|
|
|
maintainer="Roman Mogylatov",
|
|
|
|
maintainer_email="rmogilatov@gmail.com",
|
|
|
|
url="https://github.com/ets-labs/python-dependency-injector",
|
|
|
|
download_url="https://pypi.python.org/pypi/dependency_injector",
|
2020-06-25 04:01:33 +03:00
|
|
|
packages=[
|
2021-10-01 03:24:53 +03:00
|
|
|
"dependency_injector",
|
|
|
|
"dependency_injector.ext",
|
2020-06-25 04:01:33 +03:00
|
|
|
],
|
2016-11-02 23:58:30 +03:00
|
|
|
package_dir={
|
2021-10-01 03:24:53 +03:00
|
|
|
"": "src",
|
2016-11-02 23:58:30 +03:00
|
|
|
},
|
2020-06-25 04:01:33 +03:00
|
|
|
package_data={
|
2021-10-01 03:24:53 +03:00
|
|
|
"dependency_injector": ["*.pxd", "*.pyi", "py.typed"],
|
2020-06-25 04:01:33 +03:00
|
|
|
},
|
2016-10-31 12:31:56 +03:00
|
|
|
ext_modules=[
|
2021-10-01 03:24:53 +03:00
|
|
|
Extension("dependency_injector.containers",
|
|
|
|
["src/dependency_injector/containers.c"],
|
2017-08-08 19:27:33 +03:00
|
|
|
define_macros=list(defined_macros.items()),
|
2021-10-01 03:24:53 +03:00
|
|
|
extra_compile_args=["-O2"]),
|
|
|
|
Extension("dependency_injector.providers",
|
|
|
|
["src/dependency_injector/providers.c"],
|
2017-08-08 19:27:33 +03:00
|
|
|
define_macros=list(defined_macros.items()),
|
2021-10-01 03:24:53 +03:00
|
|
|
extra_compile_args=["-O2"]),
|
2022-03-28 05:20:05 +03:00
|
|
|
Extension("dependency_injector._cwiring",
|
|
|
|
["src/dependency_injector/_cwiring.c"],
|
|
|
|
define_macros=list(defined_macros.items()),
|
|
|
|
extra_compile_args=["-O2"]),
|
2016-10-31 12:31:56 +03:00
|
|
|
],
|
2020-06-25 04:01:33 +03:00
|
|
|
install_requires=requirements,
|
|
|
|
extras_require={
|
2021-10-01 03:24:53 +03:00
|
|
|
"yaml": [
|
|
|
|
"pyyaml",
|
2020-06-25 04:01:33 +03:00
|
|
|
],
|
2021-10-01 03:24:53 +03:00
|
|
|
"pydantic": [
|
|
|
|
"pydantic",
|
2021-02-03 17:21:32 +03:00
|
|
|
],
|
2021-10-01 03:24:53 +03:00
|
|
|
"flask": [
|
|
|
|
"flask",
|
2020-07-11 19:15:00 +03:00
|
|
|
],
|
2021-10-01 03:24:53 +03:00
|
|
|
"aiohttp": [
|
|
|
|
"aiohttp",
|
2020-07-29 02:19:05 +03:00
|
|
|
],
|
2016-11-03 01:56:30 +03:00
|
|
|
},
|
2015-04-03 16:11:05 +03:00
|
|
|
zip_safe=True,
|
2021-10-01 03:24:53 +03:00
|
|
|
license="BSD New",
|
|
|
|
platforms=["any"],
|
2015-04-03 16:21:42 +03:00
|
|
|
keywords=[
|
2021-10-01 03:24:53 +03:00
|
|
|
"Dependency injection",
|
|
|
|
"DI",
|
|
|
|
"Inversion of Control",
|
|
|
|
"IoC",
|
|
|
|
"Factory",
|
|
|
|
"Singleton",
|
|
|
|
"Design patterns",
|
|
|
|
"Flask",
|
2015-04-03 16:21:42 +03:00
|
|
|
],
|
2015-04-03 16:11:05 +03:00
|
|
|
classifiers=[
|
2021-10-01 03:24:53 +03:00
|
|
|
"Development Status :: 5 - Production/Stable",
|
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"License :: OSI Approved :: BSD License",
|
|
|
|
"Operating System :: OS Independent",
|
|
|
|
"Programming Language :: Python",
|
|
|
|
"Programming Language :: Python :: 3",
|
|
|
|
"Programming Language :: Python :: 3.7",
|
|
|
|
"Programming Language :: Python :: 3.8",
|
|
|
|
"Programming Language :: Python :: 3.9",
|
2021-10-20 19:10:05 +03:00
|
|
|
"Programming Language :: Python :: 3.10",
|
2022-12-19 05:09:14 +03:00
|
|
|
"Programming Language :: Python :: 3.11",
|
2023-11-15 04:38:39 +03:00
|
|
|
"Programming Language :: Python :: 3.12",
|
2021-10-01 03:24:53 +03:00
|
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
|
|
"Framework :: AsyncIO",
|
|
|
|
"Framework :: Bottle",
|
|
|
|
"Framework :: Django",
|
|
|
|
"Framework :: Flask",
|
|
|
|
"Framework :: Pylons",
|
|
|
|
"Framework :: Pyramid",
|
|
|
|
"Framework :: Pytest",
|
|
|
|
"Framework :: TurboGears",
|
|
|
|
"Topic :: Software Development",
|
|
|
|
"Topic :: Software Development :: Libraries",
|
|
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
2015-04-03 16:11:05 +03:00
|
|
|
])
|