haileyhalimj@gmail.com
commited on
Commit
·
f80b531
1
Parent(s):
7fa68d2
📦 Upgrade setup.py to v1.0.0 with comprehensive metadata and dependencies
Browse files- Update package name to 'supply-roster-optimization'
- Bump version to 1.0.0 (stable release)
- Add comprehensive project metadata (URLs, classifiers, keywords)
- Include long description from README.md
- Sync dependencies with requirements.txt
- Add development and visualization extras
- Include console script entry point
- Add package data configuration
- Expand Python version support to 3.11
- Organize dependencies by category with comments
- Add proper project URLs (GitHub, Hugging Face demo)
- requirements.txt +20 -6
- setup.py +72 -18
requirements.txt
CHANGED
|
@@ -1,12 +1,26 @@
|
|
| 1 |
-
|
|
|
|
| 2 |
pandas>=1.5.0
|
| 3 |
numpy>=1.21.0
|
| 4 |
-
plotly>=5.0.0
|
| 5 |
scipy>=1.9.0
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
openpyxl>=3.0.0
|
| 8 |
xlrd>=2.0.0
|
| 9 |
-
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Core optimization and data processing
|
| 2 |
+
ortools>=9.0.0
|
| 3 |
pandas>=1.5.0
|
| 4 |
numpy>=1.21.0
|
|
|
|
| 5 |
scipy>=1.9.0
|
| 6 |
+
|
| 7 |
+
# Web interface
|
| 8 |
+
streamlit>=1.28.0
|
| 9 |
+
plotly>=5.0.0
|
| 10 |
+
|
| 11 |
+
# Data processing
|
| 12 |
openpyxl>=3.0.0
|
| 13 |
xlrd>=2.0.0
|
| 14 |
+
python-dateutil>=2.9.0
|
| 15 |
+
python-dotenv>=1.0.0
|
| 16 |
+
pytz>=2024.1
|
| 17 |
+
|
| 18 |
+
# Visualization and network analysis
|
| 19 |
+
networkx>=2.8.0
|
| 20 |
|
| 21 |
+
# Supporting libraries
|
| 22 |
+
absl-py>=1.0.0
|
| 23 |
+
immutabledict>=4.0.0
|
| 24 |
+
protobuf>=3.20,<6
|
| 25 |
+
six>=1.16.0
|
| 26 |
+
typing_extensions>=4.0.0
|
setup.py
CHANGED
|
@@ -1,29 +1,83 @@
|
|
| 1 |
from setuptools import setup, find_packages
|
| 2 |
|
|
|
|
|
|
|
|
|
|
| 3 |
setup(
|
| 4 |
-
name="supply-roster-
|
| 5 |
-
version="
|
| 6 |
-
description="
|
|
|
|
|
|
|
| 7 |
author="HaLim Jun",
|
| 8 |
author_email="hjun@unicef.org",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
packages=find_packages(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
install_requires=[
|
| 11 |
-
|
| 12 |
-
"
|
| 13 |
-
"
|
| 14 |
-
"
|
| 15 |
-
"
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
"
|
| 19 |
-
"
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
"streamlit>=1.39.0",
|
| 23 |
-
"typing_extensions>=4.14.0",
|
| 24 |
-
"tzdata>=2025.2",
|
| 25 |
"openpyxl>=3.0.0",
|
| 26 |
"xlrd>=2.0.0",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
],
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
)
|
|
|
|
| 1 |
from setuptools import setup, find_packages
|
| 2 |
|
| 3 |
+
with open("README.md", "r", encoding="utf-8") as fh:
|
| 4 |
+
long_description = fh.read()
|
| 5 |
+
|
| 6 |
setup(
|
| 7 |
+
name="supply-roster-optimization",
|
| 8 |
+
version="1.0.0",
|
| 9 |
+
description="A comprehensive Streamlit application for optimizing supply roster management using OR-Tools",
|
| 10 |
+
long_description=long_description,
|
| 11 |
+
long_description_content_type="text/markdown",
|
| 12 |
author="HaLim Jun",
|
| 13 |
author_email="hjun@unicef.org",
|
| 14 |
+
url="https://github.com/UNICEF-Ventures/SupplyDivision_Roster_Management",
|
| 15 |
+
project_urls={
|
| 16 |
+
"Bug Reports": "https://github.com/UNICEF-Ventures/SupplyDivision_Roster_Management/issues",
|
| 17 |
+
"Source": "https://github.com/UNICEF-Ventures/SupplyDivision_Roster_Management",
|
| 18 |
+
"Demo": "https://huggingface.co/spaces/OOI-FrontierTech/supply-roster-optimization",
|
| 19 |
+
},
|
| 20 |
packages=find_packages(),
|
| 21 |
+
classifiers=[
|
| 22 |
+
"Development Status :: 4 - Beta",
|
| 23 |
+
"Intended Audience :: Manufacturing",
|
| 24 |
+
"Intended Audience :: Science/Research",
|
| 25 |
+
"Topic :: Office/Business :: Scheduling",
|
| 26 |
+
"Topic :: Scientific/Engineering :: Mathematics",
|
| 27 |
+
"License :: OSI Approved :: MIT License",
|
| 28 |
+
"Programming Language :: Python :: 3",
|
| 29 |
+
"Programming Language :: Python :: 3.10",
|
| 30 |
+
"Operating System :: OS Independent",
|
| 31 |
+
],
|
| 32 |
+
keywords="optimization, scheduling, supply-chain, streamlit, or-tools, workforce-management",
|
| 33 |
install_requires=[
|
| 34 |
+
# Core optimization and data processing
|
| 35 |
+
"ortools>=9.0.0",
|
| 36 |
+
"pandas>=1.5.0",
|
| 37 |
+
"numpy>=1.21.0",
|
| 38 |
+
"scipy>=1.9.0",
|
| 39 |
+
|
| 40 |
+
# Web interface
|
| 41 |
+
"streamlit>=1.28.0",
|
| 42 |
+
"plotly>=5.0.0",
|
| 43 |
+
|
| 44 |
+
# Data processing
|
|
|
|
|
|
|
|
|
|
| 45 |
"openpyxl>=3.0.0",
|
| 46 |
"xlrd>=2.0.0",
|
| 47 |
+
"python-dateutil>=2.9.0",
|
| 48 |
+
"python-dotenv>=1.0.0",
|
| 49 |
+
"pytz>=2024.1",
|
| 50 |
+
|
| 51 |
+
# Visualization and network analysis
|
| 52 |
+
"networkx>=2.8.0",
|
| 53 |
+
|
| 54 |
+
# Supporting libraries
|
| 55 |
+
"absl-py>=1.0.0",
|
| 56 |
+
"immutabledict>=4.0.0",
|
| 57 |
+
"protobuf>=3.20,<6",
|
| 58 |
+
"six>=1.16.0",
|
| 59 |
+
"typing_extensions>=4.0.0",
|
| 60 |
],
|
| 61 |
+
extras_require={
|
| 62 |
+
"dev": [
|
| 63 |
+
"pytest>=7.0.0",
|
| 64 |
+
"black>=22.0.0",
|
| 65 |
+
"flake8>=4.0.0",
|
| 66 |
+
"mypy>=0.950",
|
| 67 |
+
],
|
| 68 |
+
"viz": [
|
| 69 |
+
"matplotlib>=3.5.0",
|
| 70 |
+
"seaborn>=0.11.0",
|
| 71 |
+
]
|
| 72 |
+
},
|
| 73 |
+
python_requires=">=3.10,<3.12",
|
| 74 |
+
entry_points={
|
| 75 |
+
"console_scripts": [
|
| 76 |
+
"supply-roster=main:main",
|
| 77 |
+
],
|
| 78 |
+
},
|
| 79 |
+
include_package_data=True,
|
| 80 |
+
package_data={
|
| 81 |
+
"": ["*.yaml", "*.json", "*.md"],
|
| 82 |
+
},
|
| 83 |
)
|