-
Florian Schröder authored
This commit introduces a function to dynamically include package data files from specified directories. It replaces the hardcoded paths in `package_data` with the newly generated paths from the `package_files` function, ensuring all necessary files from 'configs', 'pygame_2d_vis', and 'reinforcement_learning' are included.
Florian Schröder authoredThis commit introduces a function to dynamically include package data files from specified directories. It replaces the hardcoded paths in `package_data` with the newly generated paths from the `package_files` function, ensuring all necessary files from 'configs', 'pygame_2d_vis', and 'reinforcement_learning' are included.
setup.py 2.38 KiB
#!/usr/bin/env python
"""The setup script."""
import os
from setuptools import setup, find_packages
with open("README.md") as readme_file:
readme = readme_file.read()
with open("CHANGELOG.md") as history_file:
history = history_file.read()
requirements = [
"numpy>=1.26.2",
"pygame>=2.5.2",
"scipy>=1.11.4",
"pytest>=3",
"pyyaml>=6.0.1",
"pygame-gui==0.6.9",
"pydantic>=2.6.3",
"fastapi>=0.109.2",
"uvicorn>=0.27.0",
"websockets>=12.0",
"requests>=2.31.0",
"platformdirs>=4.1.0",
"matplotlib>=3.8.0",
"pygraphviz>=1.9",
"pydot>=2.0.0",
"networkx>=3.2.1",
"tqdm>=4.65.0",
"networkx",
]
test_requirements = ["pytest>=3", "pytest-cov>=4.1", "httpx"]
def package_files(directory):
paths = []
for (path, directories, filenames) in os.walk(directory):
for filename in filenames:
paths.append(os.path.join('..', path, filename))
return paths
extra_files = package_files('configs') + package_files('pygame_2d_vis')
setup(
author="Annika Österdiekhoff, Dominik Battefeld, Fabian Heinrich, Florian Schröder",
author_email="florian.schroeder@uni-bielefeld.de",
python_requires=">=3.10",
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
],
description="The real-time overcooked simulation for a cognitive cooperative system",
entry_points={
"console_scripts": ["cooperative-cuisine = cooperative_cuisine.__main__:main"]
},
install_requires=requirements,
license="CC BY-NC-SA 4.0",
long_description=readme + "\n\n" + history,
include_package_data=True,
package_data={'': extra_files, 'rl': extra_files + package_files('reinforcement_learning')},
keywords=["cooperative_cuisine"],
name="cooperative_cuisine",
packages=find_packages(include=["cooperative_cuisine", "cooperative_cuisine.*"]),
test_suite="tests",
url="https://gitlab.ub.uni-bielefeld.de/scs/cocosy/cooperative-cuisine",
version="1.1.3",
zip_safe=False,
extras_require={
"rl": [
"gymnasium>=0.28.1",
"stable-baselines3[extra]>=2.2.1",
"opencv-python>=4.9",
"wandb>=0.16.3",
],
"test": test_requirements,
},
)