-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsetup.py
103 lines (102 loc) · 3.43 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
96
97
98
99
100
101
102
103
#!/usr/bin/env python
"""See <https://setuptools.readthedocs.io/en/latest/>.
"""
from setuptools import setup, find_packages
setup(
# ┏━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Publication Metadata ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━┛
version="1.1.0",
name="datacatalog-core",
description="Core of the Amsterdam Data Catalog Project",
# TODO:
# long_description="""
#
# """,
url="https://github.com/Amsterdam/datacatalog-core",
author="Amsterdam Data en Informatie",
author_email="datapunt@amsterdam.nl",
license="Mozilla Public License Version 2.0",
classifiers=[
"License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
"Programming Language :: Python",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
],
entry_points={
"console_scripts": [
"datacatalog-core=datacatalog.main:main",
]
},
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
# ┃ Packages and package data ┃
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
package_dir={"": "src"},
packages=find_packages("src"),
# TODO: is there a more elegant way to do this?
package_data={
"datacatalog": ["*.yml"],
"datacatalog.handlers": ["*.yml"],
"datacatalog.plugins": ["*.yml"],
"datacatalog.plugins.postgres": ["*.yml"],
"datacatalog.plugins.swift": ["*.yml"],
},
# ┏━━━━━━━━━━━━━━┓
# ┃ Requirements ┃
# ┗━━━━━━━━━━━━━━┛
python_requires=">=3.8",
setup_requires=["pytest-runner"],
install_requires=[
"aiohttp==3.10.11",
"aiohttp_cors==0.7.0",
"aiopluggy==0.1.5rc3",
"amsterdam-schema==0.1.2",
"asyncpg==0.26.0", # for postgres plugin
"bleach==3.3.0", # Markdown to text conversion
"cryptography==43.0.1",
"datapunt_config_loader==1.1.2",
"jsonschema==3.2.0",
"jsonpointer==2.0",
"pluggy==0.13.1",
"jwcrypto==1.5.6",
"pyld==1.0.5",
"PyYaml==5.4",
"sentry-sdk==2.8.0",
"whoosh==2.7.4",
"requests==2.32.0",
"urllib3==1.26.19",
# Recommended by aiohttp docs:
"aiodns==2.0.0", # optional asynchronous DNS client
"uvloop==0.17.0", # optional fast eventloop for asyncio
"click==7.1.2",
],
extras_require={
"docs": [
# 'MacFSEvents', # Too Mac-specific?
"Sphinx==3.0.3",
"sphinx-autobuild==0.7.1",
"sphinx-autodoc-typehints==1.10.3",
"sphinx-rtd-theme==0.4.3",
],
"dev": ["aiohttp-devtools==0.13.1"],
"test": [
"mockito==1.2.1",
"pytest==5.4.2",
"pytest-cov==2.8.1",
"pytest-aiohttp==0.3.0",
],
},
# To keep PyCharm from complaining about missing requirements:
tests_require=[
"mockito==1.2.1",
"pytest==5.4.2",
"pytest-cov==2.8.1",
"pytest-aiohttp==0.3.0",
"pytest-mock",
"pytest-env",
"attrdict",
],
)