forked from PrefectHQ/prefect
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
80 lines (78 loc) · 2.82 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
import versioneer
from setuptools import find_packages, setup
client_requires = open("requirements-client.txt").read().strip().split("\n")
# strip the first line since setup.py will not recognize '-r requirements-client.txt'
install_requires = (
open("requirements.txt").read().strip().split("\n")[1:] + client_requires
)
dev_requires = open("requirements-dev.txt").read().strip().split("\n")
setup(
# Package metadata
name="prefect",
description="Workflow orchestration and management.",
author="Prefect Technologies, Inc.",
author_email="[email protected]",
url="https://www.prefect.io",
project_urls={
"Changelog": "https://github.com/PrefectHQ/prefect/blob/main/RELEASE-NOTES.md",
"Documentation": "https://docs.prefect.io",
"Source": "https://github.com/PrefectHQ/prefect",
"Tracker": "https://github.com/PrefectHQ/prefect/issues",
},
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
# Versioning
version=versioneer.get_version(),
cmdclass=versioneer.get_cmdclass(),
# Package setup
packages=find_packages(where="src"),
package_dir={"": "src"},
include_package_data=True,
# CLI
entry_points={
"console_scripts": ["prefect=prefect.cli:app"],
"mkdocs.plugins": [
"render_swagger = prefect.utilities.render_swagger:SwaggerPlugin",
],
},
# Requirements
python_requires=">=3.9",
install_requires=install_requires,
extras_require={
"dev": dev_requires,
# Infrastructure extras
"aws": "prefect-aws",
"azure": "prefect-azure",
"gcp": "prefect-gcp",
"docker": "prefect-docker",
"kubernetes": "prefect-kubernetes",
"shell": "prefect-shell",
# Distributed task execution extras
"dask": "prefect-dask",
"ray": "prefect-ray",
# Version control extras
"bitbucket": "prefect-bitbucket",
"github": "prefect-github",
"gitlab": "prefect-gitlab",
# Database extras
"databricks": "prefect-databricks",
"dbt": "prefect-dbt",
"snowflake": "prefect-snowflake",
"sqlalchemy": "prefect-sqlalchemy",
# Monitoring extras
"email": "prefect-email",
"slack": "prefect-slack",
},
classifiers=[
"Natural Language :: English",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries",
],
)