-
Notifications
You must be signed in to change notification settings - Fork 6
/
setup.py
66 lines (58 loc) · 1.73 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
import os
from codecs import open
from setuptools import find_packages, setup
INSTALL_REQUIRES = (
"boto3>=1.34",
"botocore>=1.34.162",
"click>=8.1",
"cvxpy~=1.5",
"elex-solver>=2.1.1",
"pandas>=2.2",
"python-dotenv>=1.0",
"scipy>=1.14",
"s3transfer>=0.9.0",
)
THIS_FILE_DIR = os.path.dirname(__file__)
LONG_DESCRIPTION = ""
# Get the long description from the README file
with open(os.path.join(THIS_FILE_DIR, "README.md"), encoding="utf-8") as f:
LONG_DESCRIPTION = f.read()
# The full version, including alpha/beta/rc tags
RELEASE = "2.2.5"
# The short X.Y version
VERSION = ".".join(RELEASE.split(".")[:2])
PROJECT = "elex-model"
AUTHOR = "The Wapo Newsroom Engineering Team"
COPYRIGHT = "2024, {}".format(AUTHOR)
setup(
name=PROJECT,
version=RELEASE,
classifiers=[
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
],
description="A package for the Washington Post's live election night model",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",
license="MIT",
packages=find_packages("src", exclude=["docs", "tests"]),
package_dir={"": "src"},
include_package_data=True,
zip_safe=False,
install_requires=INSTALL_REQUIRES,
command_options={
"build_sphinx": {
"project": ("setup.py", PROJECT),
"version": ("setup.py", VERSION),
"release": ("setup.py", RELEASE),
}
},
py_modules=["elexmodel"],
entry_points="""
[console_scripts]
elexmodel=elexmodel.cli:cli
""",
)