/
setup.py
executable file
·116 lines (112 loc) · 4.3 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
104
105
106
107
108
109
110
111
112
113
114
115
116
"""A setuptools based setup module.
See:
https://packaging.python.org/en/latest/distributing.html
https://github.com/pypa/sampleproject
Autogenerated by poetry-setup:
https://github.com/orsinium/poetry-setup
"""
# IMPORTANT: this file is autogenerated. Do not edit it manually.
# All changes will be lost after `poetry-setup` command execution.
# ----------------------------------------------------------------
# Always prefer setuptools over distutils
import re
# io.open is needed for projects that support Python 2.7
# It ensures open() defaults to text mode with universal newlines,
# and accepts an argument to specify the text encoding
# Python 3 only projects can skip this import
from io import open
from os import path
from setuptools import find_packages, setup
here = path.abspath(path.dirname(__file__))
# Get the long description from the README file
with open(path.join(here, "README.rst"), encoding="utf-8") as f:
readme_txt = f.read()
with open(path.join(here, "HISTORY.rst"), encoding="utf-8") as f:
history_txt = f.read()
long_description = "%s\n%s" % (
re.compile("^.. start-badges.*^.. end-badges", re.M | re.S).sub("", readme_txt),
re.sub(":[a-z]+:`~?(.*?)`", r"``\1``", history_txt),
)
# Arguments marked as "Required" below must be included for upload to PyPI.
# Fields marked as "Optional" may be commented out.
setup(
# https://packaging.python.org/specifications/core-metadata/#name
name="negmas", # Required
# https://www.python.org/dev/peps/pep-0440/
# https://packaging.python.org/en/latest/single_source_version.html
version="0.6.8", # Required
# https://packaging.python.org/specifications/core-metadata/#summary
description="NEGotiations Managed by Agent Simulations", # Required
# https://packaging.python.org/specifications/core-metadata/#description-optional
long_description=long_description, # Optional
# https://packaging.python.org/specifications/core-metadata/#description-content-type-optional
long_description_content_type="text/x-rst", # Optional (see note above)
url="https://github.com/yasserfarouk/negmas", # Optional
author="Yasser Mohammad", # Optional
author_email="yasserfarouk@gmail.com", # Optional
# For a list of valid classifiers, see https://pypi.org/classifiers/
classifiers=[
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
], # Optional
keywords=" ".join(
["negotiation", "mas", "multi-agent", "simulation", "AI"]
), # Optional
packages=find_packages(
exclude=[
"negmas/**/*.pyc",
"nemgas/**/__pycache__",
"config",
"docs",
"etc",
"notebooks",
"tests",
]
), # Required
# https://packaging.python.org/en/latest/requirements.html
install_requires=[
"Click (>=6.0)",
'dataclasses; python_version < "3.7"',
"PyYAML",
"progressbar2 (>=3.39)",
"typing_extensions (>=3.7)",
"pytest-runner (>=4.4)",
"pandas (>=0.24.1)",
"scipy (>=1.2)",
"numpy (>=1.16)",
"stringcase",
"py4j",
"colorlog",
"inflect",
"matplotlib",
"setuptools (>=40.8.0)",
"tabulate",
"typing",
"tqdm (>=4.31.1)",
"click-config-file",
"dill",
"seaborn",
"sklearn",
"nose",
"cython",
"networkx",
"pyqt5",
], # Optional
extras_require={
"elicitation": ["blist"],
"visualizer": ["flask", "dash", "dash-daq", "dash-bootstrap-components"],
},
# https://setuptools.readthedocs.io/en/latest/setuptools.html#dependencies-that-aren-t-in-pypi
dependency_links=[], # Optional
# https://stackoverflow.com/a/16576850
include_package_data=True,
entry_points={ # Optional
"console_scripts": ["negmas=negmas.scripts.app:cli", "negui=negmas.gui.app:cli"]
},
# https://packaging.python.org/specifications/core-metadata/#project-url-multiple-use
project_urls={"homepage": "https://github.com/yasserfarouk/negmas"}, # Optional
python_requires=">=3.6",
)