-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathsetup.py
executable file
·95 lines (90 loc) · 3.21 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/env python
import re
from pathlib import Path
from setuptools import find_packages
from setuptools import setup
def read(*names, **kwargs):
with Path(__file__).parent.joinpath(*names).open(encoding=kwargs.get('encoding', 'utf8')) as fh:
return fh.read()
setup(
name='aspectlib',
version='2.0.0',
license='BSD-2-Clause',
description='``aspectlib`` is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing',
long_description='{}\n{}'.format(
re.compile('^.. start-badges.*^.. end-badges', re.M | re.S).sub('', read('README.rst')),
re.sub(':[a-z]+:`~?(.*?)`', r'``\1``', read('CHANGELOG.rst')),
),
author='Ionel Cristian Mărieș',
author_email='[email protected]',
url='https://github.com/ionelmc/python-aspectlib',
packages=find_packages('src'),
package_dir={'': 'src'},
py_modules=[path.stem for path in Path('src').glob('*.py')],
include_package_data=True,
zip_safe=False,
classifiers=[
# complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: Unix',
'Operating System :: POSIX',
'Operating System :: Microsoft :: Windows',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3 :: Only',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
# uncomment if you test on these interpreters:
# 'Programming Language :: Python :: Implementation :: IronPython',
# 'Programming Language :: Python :: Implementation :: Jython',
# 'Programming Language :: Python :: Implementation :: Stackless',
'Topic :: Utilities',
],
project_urls={
'Documentation': 'https://python-aspectlib.readthedocs.io/',
'Changelog': 'https://python-aspectlib.readthedocs.io/en/latest/changelog.html',
'Issue Tracker': 'https://github.com/ionelmc/python-aspectlib/issues',
},
keywords=[
'aop',
'aspects',
'aspect oriented programming',
'decorators',
'patch',
'monkeypatch',
'weave',
'debug',
'log',
'tests',
'mock',
'capture',
'replay',
'capture-replay',
'debugging',
'patching',
'monkeypatching',
'record',
'recording',
'mocking',
'logger',
],
python_requires='>=3.8',
install_requires=[
# eg: "aspectlib==1.1.1", "six>=1.7",
],
extras_require={
# eg:
# "rst": ["docutils>=0.11"],
# ":python_version=='3.8'": ["backports.zoneinfo"],
},
entry_points={
'pytest11': ['aspectlib = aspectlib.pytestsupport'],
},
)