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
|
|
|
|
|
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
|
|
|
|
2016-11-03 01:06:14 +03:00
|
|
|
# Defining setup variables:
|
|
|
|
defined_macros = list()
|
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting description:
|
2015-04-03 00:31:26 +03:00
|
|
|
with open('README.rst') as readme_file:
|
|
|
|
description = readme_file.read()
|
2015-01-05 12:11:21 +03:00
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting requirements:
|
2016-12-04 14:13:29 +03:00
|
|
|
with open('requirements.txt') as requirements_file:
|
|
|
|
requirements = requirements_file.readlines()
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2015-10-23 15:20:25 +03:00
|
|
|
# Getting version:
|
2016-11-02 23:58:30 +03:00
|
|
|
with open('src/dependency_injector/__init__.py') as init_file:
|
2016-12-04 14:13:29 +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:
|
2016-11-02 18:21:40 +03:00
|
|
|
if os.environ.get('DEPENDENCY_INJECTOR_DEBUG_MODE') == '1':
|
|
|
|
defined_macros.append(('CYTHON_TRACE', 1))
|
|
|
|
defined_macros.append(('CYTHON_TRACE_NOGIL', 1))
|
|
|
|
|
2015-01-04 16:54:25 +03:00
|
|
|
|
2016-09-06 13:18:43 +03:00
|
|
|
setup(name='dependency-injector',
|
2015-04-03 16:11:05 +03:00
|
|
|
version=version,
|
2016-10-12 10:41:50 +03:00
|
|
|
description='Dependency injection microframework for Python',
|
2015-04-03 16:11:05 +03:00
|
|
|
long_description=description,
|
2016-01-11 11:53:35 +03:00
|
|
|
author='ETS Labs',
|
2015-04-03 16:11:05 +03:00
|
|
|
author_email='rmogilatov@gmail.com',
|
2016-03-17 03:02:17 +03:00
|
|
|
maintainer='Roman Mogilatov',
|
2015-04-03 16:11:05 +03:00
|
|
|
maintainer_email='rmogilatov@gmail.com',
|
2016-04-25 11:07:47 +03:00
|
|
|
url='https://github.com/ets-labs/python-dependency-injector',
|
2016-03-17 03:02:17 +03:00
|
|
|
download_url='https://pypi.python.org/pypi/dependency_injector',
|
2016-10-31 12:31:56 +03:00
|
|
|
install_requires=requirements,
|
2016-11-02 23:58:30 +03:00
|
|
|
packages=[
|
|
|
|
'dependency_injector',
|
2016-11-04 14:06:47 +03:00
|
|
|
'dependency_injector.containers',
|
2016-11-02 23:58:30 +03:00
|
|
|
'dependency_injector.providers',
|
|
|
|
],
|
|
|
|
package_dir={
|
2016-11-03 00:55:14 +03:00
|
|
|
'': 'src',
|
2016-11-02 23:58:30 +03:00
|
|
|
},
|
2016-10-31 12:31:56 +03:00
|
|
|
ext_modules=[
|
2016-11-04 19:35:53 +03:00
|
|
|
Extension('dependency_injector.providers.base',
|
|
|
|
['src/dependency_injector/providers/base.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
2016-12-02 14:53:37 +03:00
|
|
|
Extension('dependency_injector.providers.configuration',
|
|
|
|
['src/dependency_injector/providers/configuration.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
2016-11-04 19:35:53 +03:00
|
|
|
Extension('dependency_injector.providers.callables',
|
|
|
|
['src/dependency_injector/providers/callables.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
|
|
|
Extension('dependency_injector.providers.factories',
|
|
|
|
['src/dependency_injector/providers/factories.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
|
|
|
Extension('dependency_injector.providers.singletons',
|
|
|
|
['src/dependency_injector/providers/singletons.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
2016-11-04 14:06:47 +03:00
|
|
|
Extension('dependency_injector.providers.injections',
|
|
|
|
['src/dependency_injector/providers/injections.c'],
|
2016-11-04 11:49:08 +03:00
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
2016-11-04 16:48:26 +03:00
|
|
|
Extension('dependency_injector.providers.utils',
|
|
|
|
['src/dependency_injector/providers/utils.c'],
|
|
|
|
define_macros=defined_macros,
|
|
|
|
extra_compile_args=['-O2']),
|
2016-10-31 12:31:56 +03:00
|
|
|
],
|
2016-11-03 01:56:30 +03:00
|
|
|
package_data={
|
|
|
|
'dependency_injector': ['*.pxd'],
|
|
|
|
},
|
2015-04-03 16:11:05 +03:00
|
|
|
zip_safe=True,
|
2016-10-31 12:31:56 +03:00
|
|
|
license='BSD New',
|
|
|
|
platforms=['any'],
|
2015-04-03 16:21:42 +03:00
|
|
|
keywords=[
|
2016-03-17 03:02:17 +03:00
|
|
|
'Dependency injection',
|
2016-11-11 19:36:35 +03:00
|
|
|
'DI',
|
2016-03-17 03:02:17 +03:00
|
|
|
'Inversion of Control',
|
2016-11-11 19:36:35 +03:00
|
|
|
'IoC',
|
2017-02-01 14:07:44 +03:00
|
|
|
'Factory',
|
|
|
|
'Singleton',
|
|
|
|
'Design patterns',
|
2015-04-03 16:21:42 +03:00
|
|
|
],
|
2015-04-03 16:11:05 +03:00
|
|
|
classifiers=[
|
2015-11-26 16:50:12 +03:00
|
|
|
'Development Status :: 5 - Production/Stable',
|
2015-04-03 16:11:05 +03:00
|
|
|
'Intended Audience :: Developers',
|
|
|
|
'License :: OSI Approved :: BSD License',
|
|
|
|
'Operating System :: OS Independent',
|
|
|
|
'Programming Language :: Python',
|
|
|
|
'Programming Language :: Python :: 2',
|
|
|
|
'Programming Language :: Python :: 2.6',
|
|
|
|
'Programming Language :: Python :: 2.7',
|
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3.3',
|
|
|
|
'Programming Language :: Python :: 3.4',
|
2015-10-12 18:20:20 +03:00
|
|
|
'Programming Language :: Python :: 3.5',
|
2017-01-30 01:12:08 +03:00
|
|
|
'Programming Language :: Python :: 3.6',
|
2015-04-03 16:11:05 +03:00
|
|
|
'Programming Language :: Python :: Implementation :: CPython',
|
|
|
|
'Programming Language :: Python :: Implementation :: PyPy',
|
|
|
|
'Topic :: Software Development',
|
|
|
|
'Topic :: Software Development :: Libraries',
|
|
|
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
|
|
])
|