-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathsetup.py
92 lines (79 loc) · 3.44 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
#!/usr/bin/env/python
"""
setup.py
===============================================================================
Copyright (C) 2019 Rudolf Cardinal (rudolf@pobox.com).
This file is part of pdn_project_allocation.
This is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this software. If not, see <https://www.gnu.org/licenses/>.
===============================================================================
Python package configuration.
"""
from setuptools import setup, find_packages
from pdn_project_allocation.version import VERSION
setup(
name="pdn_project_allocation",
version=VERSION,
description="Allocate students to projects",
url="https://github.com/RudolfCardinal/pdn_project_allocation.git",
author="Rudolf Cardinal",
author_email="rudolf@pobox.com",
license="GNU General Public License v3 or later (GPLv3+)",
# See https://pypi.org/classifiers/
classifiers=[
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Education",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", # noqa
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Topic :: Education",
],
# Python code:
packages=find_packages(),
# Static files:
# https://stackoverflow.com/questions/11848030/how-include-static-files-to-setuptools-python-package
package_data={
"pdn_project_allocation.testdata": ["*"],
},
# Requirements:
python_requires=">= 3.8",
install_requires=[
# Versions: in general, ">= tested, < next_major_version".
# This relies on semantic versioning (https://semver.org/): until the
# major version changes, the public API must remain the same. (But
# after that it may not.)
# Syntax: https://peps.python.org/pep-0440/#version-specifiers
"cardinal_pythonlib >= 1.1.23, < 2",
"mip >= 1.14.1, < 2",
"matching >= 1.4",
"openpyxl >= 3.0.10, < 4",
"lxml >= 5.2.2, < 6", # Will speed up openpyxl export
"rich-argparse >= 0.5.0", # colourful help
"scipy >= 1.10.1, < 2", # used by others, but also for rankdata
# -------------------------------------------------------------------------
# For development:
# -------------------------------------------------------------------------
"black >= 24.3.0, < 25", # auto code formatter
"flake8 >= 3.8.3, < 4", # code checks
"pytest >= 7.1.1, < 8", # automatic testing
],
# Launch scripts:
entry_points={
"console_scripts": [
# Format is 'script=module:function".
"pdn_project_allocation=pdn_project_allocation.main:main",
"pdn_project_allocation_run_tests=pdn_project_allocation.run_tests:main", # noqa
# noqa
],
},
)