Files
factorio-learning-environment/pyproject.toml
kiankyars a62f7f208c Restructure (#274)
* add changes

* refactor: clean up unused Docker scripts and redundant files

Remove unused and redundant files from fle/cluster/docker/:

- main.py: Redundant Python script that duplicates run_local.sh functionality
  with hardcoded ports and basic container management. Not used in workflow.

- install-docker.sh: AWS EC2-specific setup script with hardcoded instance
  (ec2-18-133-239-115) and outdated Amazon Linux commands. Current workflow
  uses docker-compose instead.

- probe.sh: Simple port checking script using lsof. Redundant since
  docker-compose handles health checks and container status monitoring.

- setup_docker_repo.sh: AWS ECR-specific setup with hardcoded AWS account
  (216370203482). Contains mostly commented code and unused ECR repository
  configuration. Not used in current workflow.

- requirements.txt: Redundant Python dependency file. Docker is a system
  dependency, not a Python package. The Python docker SDK is already
  included in pyproject.toml dependencies.

Kept essential files: Dockerfile, build scripts, run scripts, config/,
mods/, and README.md which are actively used in the Docker workflow.

* refactor: move lib/ and tools/ to mods/, clean up fle/env/utils/ (all deleted files were unused), prep for entrypoints/ refactor

* readd

* last undo

* refactor: move evaluator.py to algorithms/mcts, move experiment entrypoints to entrypoints/, update imports accordingly

* version info

* incorrect gitignore

* style: replace all relative imports in fle.agents with absolute imports

* simplify gitignore

* commit

* gitignore

* redo

* update

* No code is importing the fle.agents.data package/module

* exclude data/prompts from ruff lint/format in pre-commit

* yaml

* Files were cleared but not deleted

* finalize Neel's suggestions

* Jul 12, 2025 at 13:29

* Jul 12, 2025 at 15:47

* push

* Jul 12, 2025 at 16:03

* Jul 12, 2025 at 16:03

* Jul 12, 2025 at 16:03

* fix

* fix

* fix

* push

* push

* Jul 12, 2025 at 17:48

* remove publish on merge
2025-07-17 17:12:47 +03:00

144 lines
3.0 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "factorio-learning-environment"
version = "0.2.2"
description = "Factorio Learning Environment"
authors = [
{name = "Jack Hopkins", email = "noreply@github.com"},
{name = "Mart Bakler", email = "noreply@github.com"},
{name = "Neel Kant", email = "contact@neelkant.io"},
{name = "Kian Kyars", email = "kiankyars@gmail.com"},
]
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
dependencies = [
"python-dotenv>=1.0.1",
"pydantic>=2.10.6",
"lupa>=2.4",
"slpp>=1.2.3",
"factorio-rcon-py==1.2.1",
"construct>=2.10.70",
"pillow>=11.1.0",
"tomli",
"numpy>=2.2.3",
"gym",
"a2a-sdk",
"anthropic>=0.49.0",
"openai>=1.66.3",
"tenacity>=9.0.0",
"psycopg2>=2.9.10",
"aiohttp>=3.8.0",
"uvicorn>=0.15.0",
"gym",
"a2a-sdk",
"anthropic>=0.49.0",
"openai>=1.66.3",
"tenacity>=9.0.0",
"psycopg2>=2.9.10",
"aiohttp>=3.8.0",
"uvicorn>=0.15.0",
"pytest>=8.4.1",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"black>=23.0.0",
"isort>=5.12.0",
"rich>=14.0.0",
"questionary>=2.1.0",
]
agents = [
"anthropic>=0.49.0",
"openai>=1.66.3",
]
cluster = [
"docker>=6.0.0",
"boto3>=1.26.0",
"opencv-python",
"pyautogui>=0.9.54",
"pillow>=10.0.0",
"psutil>=5.9.0",
"opencv-python",
"pyautogui>=0.9.54",
"pillow>=10.0.0",
"psutil>=5.9.0",
]
eval = [
"scikit-image>=0.25.2",
"psycopg2>=2.9.10",
]
all = [
"docker>=6.0.0",
"boto3>=1.26.0",
"scikit-image>=0.25.2",
]
mcp = [
"mcp[cli]",
"dulwich",
]
env = [
"anyio",
"pygame",
"neptune",
"rich",
"openai",
"scipy",
"scikit-image",
"pyautogui",
"tenacity",
"fastapi>=0.68.0",
]
[project.scripts]
fle = "fle.run:main"
[tool.hatch.version]
path = "fle/__init__.py"
[tool.hatch.build]
exclude = [
"fle/**/__pycache__",
"fle/**/*.pyc",
"fle/**/*.pyo",
"fle/**/*.pyd",
]
[tool.hatch.build.targets.wheel]
packages = ["fle"]
[tool.pytest.ini_options]
pythonpath = "fle/env"
testpaths = "tests"
python_files = "test_*.py"
[project.urls]
homepage = "https://jackhopkins.github.io/factorio-learning-environment/"
leaderboard = "https://jackhopkins.github.io/factorio-learning-environment/leaderboard/"
[[tool.uv.index]]
name = "pypi"
url = "https://pypi.org/simple"
publish-url = "https://upload.pypi.org/legacy/"
[[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/legacy/"
publish-url = "https://test.pypi.org/legacy/"