diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..730b200 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,69 @@ +[tool.poetry] +name = "gobblet-rl" +version = "1.3.5" +description = "Interactive Multi-Agent Reinforcement Learning Environment for the board game Gobblet using PettingZoo." +repository = "https://github.com/elliottower/gobblet-rl/" +keywords = ["gobblet", "board game", "multiagent-reinforcement-learning", "pettingzoo", "gymnasium", "interactive", "pygame"] +authors = ["elliottower "] +license = "MIT" +readme = "README.md" +packages = [{include = "gobblet_rl"}] +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + 'Intended Audience :: Science/Research', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', +] + +[tool.poetry.urls] +"Bug Tracker" = "https://github.com/elliottower/gobblet-rl/issues" + +[tool.poetry.dependencies] +python = ">=3.8, <3.12" +PettingZoo = "^1.22.3" +gymnasium = "^0.27.1" +pygame = "^2.1.3" +SuperSuit = "^3.7.1" +poetry = "^1.3.2" +numpy = "1.23.5" # cathedral uses 1.24.2 + +[tool.poetry.group.dev.dependencies] +pytest = "^7.2.1" +hypothesis = "^6.68.2" +pytest-cov = "^4.0.0" +pre-commit = "^3.1.1" +black = "^23.1.0" # TODO: can this be updated automatically with pre-commit CI? + +[tool.poetry.group.wasm.dependencies] +python = ">=3.11" +asyncio = "^3.4.3" +pygbag = "^0.7.1" +token-utils = "^0.1.8" + +[tool.poetry.group.training.dependencies] +pymunk = "^6.4.0" +protobuf = "3.19.6" +gym = "^0.23.1" # current tianshou release requires gym +tianshou = "^0.4.11" +torch = "^1.13.1" +#ray = {extras = ["rllib"], version = "^2.3.0"} +#tensorflow-probability = "^0.19.0" +#tensorflow = "^2.11.0" + + +[tool.pytest.ini_options] +testpaths = ["tests"] + +[tool.poetry-dynamic-versioning] +enable = true +vcs = "git" + +[tool.poetry-dynamic-versioning.substitution] +files = ["*.py", "*/__init__.py", "*/__version__.py", "*/_version.py", ".pre-commit-config.yaml"] + + +[build-system] +requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] +build-backend = "poetry_dynamic_versioning.backend" diff --git a/pyproject_setuptools.toml b/pyproject_setuptools.toml deleted file mode 100644 index 5c38def..0000000 --- a/pyproject_setuptools.toml +++ /dev/null @@ -1,37 +0,0 @@ -[build-system] -requires = ["setuptools>=61.0"] -build-backend = "setuptools.build_meta" - -[project] -name = "gobblet-rl" -authors = [ - { name="Elliot Tower", email="elliot@elliottower.com" }, -] -description = "Multi-Agent Reinforcement Learning Environment for the board game Gobblet using PettingZoo." -readme = "README.md" -requires-python = ">=3.8" -keywords = ["gobblet", "rl", "reinforcement learning", "pettingzoo", "gymnasium", "pygame", "tianshou"] -license = {file = 'LICENSE'} -classifiers = [ - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "License :: OSI Approved :: MIT License", - "Operating System :: OS Independent", -] -dynamic=["version", "dependencies"] - -[tool.setuptools.packages.find] -where = ["gobblet_rl"] -exclude = ["examples*"] -namespaces = false - -[tool.setuptools.dynamic] -version = {attr = "gobblet_rl.__version__"} -dependencies = {file = ["requirements.txt"]} - -[tool.pytest.ini_options] -testpaths = ["tests"] - -[project.urls] -"Homepage" = "https://github.com/elliottower/gobblet-rl/" -"Bug Tracker" = "https://github.com/elliottower/gobblet/issues" \ No newline at end of file