Download pyproject.toml from FineEnvs/DesignGym: direct link, hf CLI and curl.
- Browser
- Download file 2.01 kB
-
https://huggingface.co/spaces/FineEnvs/DesignGym/resolve/main/pyproject.toml
- Command line
-
hf download hf://spaces/FineEnvs/DesignGym/pyproject.toml
-
curl -L -o pyproject.toml https://huggingface.co/spaces/FineEnvs/DesignGym/resolve/main/pyproject.toml
2.01 kB
| [build-system] | |
| requires = ["setuptools>=77"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "openenv-design-canvas" | |
| version = "0.1.0" | |
| description = "Recreate graphic designs from Crello in a real editor: tool calls, MCP, HTML, or computer use, one document model and one renderer" | |
| requires-python = ">=3.11,<3.14" | |
| license = "Apache-2.0" | |
| dependencies = [ | |
| "openenv==0.7.0", | |
| "fastmcp>=3,<4", | |
| "skia-python>=138,<200", | |
| "numpy>=1.26,<3", | |
| "scipy>=1.13,<2", | |
| "Pillow>=11,<13", | |
| "pydantic>=2.8,<3", | |
| "huggingface-hub>=0.34,<2", | |
| "gradio>=6,<7", | |
| "uvicorn[standard]>=0.30", | |
| "websockets>=12", | |
| # The GUI surface and task-pack preparation are core features, not add-ons. | |
| "playwright>=1.48,<2", | |
| "datasets>=3,<6", | |
| "pyarrow>=17", | |
| ] | |
| [project.optional-dependencies] | |
| rollout = ["anthropic>=0.60", "openai>=1.60,<3", "python-dotenv>=1"] | |
| # real apps in Daytona sandboxes run by the env server (realapps/daytona.py, DESIGN_CANVAS_APPS=daytona) | |
| daytona = ["daytona>=0.220,<1"] | |
| dev = ["pytest>=8,<10", "ruff>=0.12,<1", "httpx>=0.27", "openenv-design-canvas[rollout]"] | |
| [project.scripts] | |
| # OpenEnv's entry point (uv run server / openenv serve); PORT, DESIGN_CANVAS_WORKERS and DESIGN_CANVAS_HOST configure it | |
| server = "design_canvas.server.app:main" | |
| design-canvas = "design_canvas.cli:main" | |
| design-canvas-smoke = "design_canvas.smoke:main" | |
| [tool.setuptools] | |
| packages = ["design_canvas", "design_canvas.core", "design_canvas.server", "design_canvas.realapps", "design_canvas.realapps.penpot", | |
| "design_canvas.realapps.desktop"] | |
| package-dir = {design_canvas = "."} | |
| [tool.setuptools.package-data] | |
| design_canvas = ["openenv.yaml", "web/*", "web/**/*"] | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| [tool.ruff] | |
| target-version = "py311" | |
| line-length = 100 | |
| [tool.ruff.lint] | |
| select = ["E4", "E7", "E9", "F", "I", "B"] | |
| [tool.ruff.lint.flake8-bugbear] | |
| # FastAPI and Gradio read these call defaults as declarations, not shared state. | |
| extend-immutable-calls = ["fastapi.Body", "gradio.Progress"] | |