-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathsetup.py
More file actions
105 lines (99 loc) · 2.9 KB
/
setup.py
File metadata and controls
105 lines (99 loc) · 2.9 KB
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
104
105
"""Sets up the ProMis package for installation."""
#
# Copyright (c) Simon Kohaut, Honda Research Institute Europe GmbH, Felix Divo, and contributors
#
# This file is part of ProMis and licensed under the BSD 3-Clause License.
# You should have received a copy of the BSD 3-Clause License along with ProMis.
# If not, see https://opensource.org/license/bsd-3-clause/.
#
import re
import setuptools
# Find Promis version and author strings
with open("promis/__init__.py", encoding="utf8") as fd:
content = fd.read()
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', content, re.MULTILINE).group(1)
author = re.search(r'^__author__\s*=\s*[\'"]([^\'"]*)[\'"]', content, re.MULTILINE).group(1)
# Import readme
with open("README.md", encoding="utf8") as readme:
long_description = readme.read()
setuptools.setup(
name="promis",
version=version,
author=author,
author_email="simon.kohaut@cs.tu-darmstadt.de",
description="A Python package to apply probabilistic logic programming to navigation tasks.",
long_description=long_description,
long_description_content_type="text/markdown",
url="",
packages=setuptools.find_packages(),
package_data={
"promis": ["py.typed"], # https://www.python.org/dev/peps/pep-0561/
},
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
],
python_requires=">=3.10",
install_requires=[
# general tools
"rich",
"tqdm",
# generic scientific
"numpy",
"scipy",
"scikit-learn",
"pandas",
"matplotlib",
# geospatial / GIS tools
"pyproj",
"geojson",
"geopy",
"shapely",
"overpy",
"geojson_pydantic",
# probabilistic logic and modelling
"nflows",
"torch",
"pyro-ppl",
"pysdd",
"gpytorch",
# plotting and visualization
"fastapi[standard]",
"graphviz",
"seaborn",
"smopy",
"ipywidgets",
# networking
"requests",
],
extras_require={
# Building the documentation locally with sphinx
"doc": [
"sphinx",
"nbsphinx",
"sphinx-markdown-builder",
"sphinx_rtd_theme",
"sphinxcontrib-programoutput",
],
# Loading nautical chart data into ProMis
# Requires GDAL to be installed on the system
"nautical": [
"gdal",
],
# Development tools for quality assurance
"dev": [
# static code analysis
"black",
"ruff",
# dynamic code analysis
"pytest",
],
},
entry_points={
"console_scripts": [
"promis_gui=promis.gui.cli:main"
]
},
include_package_data=True,
)