sky2 / pyproject.toml
JustinTX's picture
Add files using upload-large-folder tool
725b3aa verified
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "skydiscover"
dynamic = ["version"]
description = "A Flexible Framework for AI-Driven Scientific and Algorithmic Discovery"
readme = "README.md"
requires-python = ">=3.10, <3.14"
license = {text = "Apache-2.0"}
dependencies = [
"openai>=1.0.0",
"pyyaml>=6.0",
"tqdm>=4.64.0",
"numpy>=1.22.0",
]
[project.optional-dependencies]
math = [
"scipy>=1.11.0",
"sympy>=1.14.0",
"jax>=0.6.2",
"optax>=0.2.6",
"torch",
"scikit-learn>=1.0.0",
"numba",
"pandas",
"matplotlib",
"plotly",
"networkx",
"cvxpy",
"autograd",
"pymoo",
"PyWavelets",
]
adrs = [
"numpy>=1.22.0",
"pandas",
"networkx>=3.2,<3.4",
"torch",
]
external = [
"openevolve",
"gepa[full]",
"litellm>=1.81", # gepa[full] needs litellm, but uv override-dependencies strips the [full] extra
]
dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"black>=22.0.0",
"isort>=5.10.0",
"mypy>=0.950",
"requests>=2.28.0",
]
frontier-cs = [
"anthropic>=0.74.0",
"colorlog>=6.10.1",
"datasets>=4.4.1",
"google-genai>=1.55.0",
"google-generativeai>=0.8.5",
"numpy>=2.0.0", # Frontier-CS requires numpy 2.x
"python-dotenv>=1.2.1",
"skypilot>=0.10.5",
]
prompt-optimization = [
"dspy>=3.1.3",
"litellm>=1.81",
"bm25s>=0.3.0",
"pystemmer>=2.2.0.3",
"datasets>=4.5.0",
"diskcache>=5.6.3",
"ujson>=5.11.0",
]
[tool.uv]
override-dependencies = ["httpx>=0.28.1", "gepa>=0.0.26"]
[tool.uv.sources]
openevolve = { git = "https://github.com/algorithmicsuperintelligence/openevolve.git", branch = "main" }
gepa = { git = "https://github.com/gepa-ai/gepa.git", branch = "main" }
[tool.black]
line-length = 100
target-version = ['py310']
include = '\.pyi?$'
[tool.isort]
profile = "black"
line_length = 100
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
[project.scripts]
skydiscover-run = "skydiscover.cli:main"
skydiscover-viewer = "skydiscover.extras.monitor.viewer:main"
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests requiring external services"
]
addopts = "--strict-markers"
[tool.setuptools.packages.find]
include = ["skydiscover*"]
[tool.setuptools.package-data]
skydiscover = [
"context_builder/*/templates/*.txt",
"search/evox/config/*.yaml",
"search/evox/config/*.txt",
"extras/external/defaults/*.yaml",
"extras/monitor/dashboard.html",
]
[tool.setuptools.dynamic]
version = {attr = "skydiscover._version.__version__"}