forked from Materials-Consortia/optimade-python-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
93 lines (88 loc) · 2.59 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
from pathlib import Path
from setuptools import setup, find_packages
module_dir = Path(__file__).resolve().parent
# Dependencies
# Server minded
django_deps = ["django>=2.2.9,<4.0"]
elastic_deps = ["elasticsearch-dsl>=6.4,<8.0"]
mongo_deps = ["pymongo~=3.10", "mongomock~=3.19"]
server_deps = ["uvicorn", "Jinja2~=2.11"] + mongo_deps
# Client minded
aiida_deps = ["aiida-core~=1.1"]
ase_deps = ["ase~=3.19"]
cif_deps = ["numpy~=1.18"]
pdb_deps = cif_deps
pymatgen_deps = ["pymatgen~=2020.3"]
jarvis_deps = ["jarvis-tools~=2020.6"]
client_deps = cif_deps
# General
testing_deps = [
"pytest~=5.4",
"pytest-cov",
"codecov",
"openapi-spec-validator",
"jsondiff",
] + server_deps
dev_deps = ["pylint", "black", "pre-commit", "invoke"] + testing_deps + client_deps
all_deps = (
dev_deps
+ django_deps
+ elastic_deps
+ aiida_deps
+ ase_deps
+ pymatgen_deps
+ jarvis_deps
)
setup(
name="optimade",
version="0.8.1",
url="https://github.com/Materials-Consortia/optimade-python-tools",
license="MIT",
author="OPTIMADE Development Team",
author_email="dev@optimade.org",
description="Tools for implementing and consuming OPTIMADE APIs.",
long_description=open(module_dir.joinpath("README.md")).read(),
long_description_content_type="text/markdown",
keywords="optimade jsonapi materials",
include_package_data=True,
packages=find_packages(),
classifiers=[
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Intended Audience :: Developers",
"Topic :: Database",
"Topic :: Database :: Database Engines/Servers",
"Topic :: Database :: Front-Ends",
],
python_requires=">=3.6",
install_requires=[
"lark-parser~=0.8.5",
"fastapi~=0.53",
"pydantic~=1.4",
"email_validator",
"requests~=2.23",
'typing-extensions~=3.7.4.1;python_version<"3.8"',
],
extras_require={
"all": all_deps,
"dev": dev_deps,
"testing": testing_deps,
"server": server_deps,
"client": client_deps,
"django": django_deps,
"elastic": elastic_deps,
"mongo": mongo_deps,
"aiida": aiida_deps,
"ase": ase_deps,
"cif": cif_deps,
"pdb": pdb_deps,
"pymatgen": pymatgen_deps,
"jarvis": jarvis_deps,
},
entry_points={
"console_scripts": ["optimade_validator=optimade.validator:validate"]
},
)