sandpypi/python/pyproject.toml

81 lines
1.6 KiB
TOML

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "sandpypi"
version = "0.1.0"
authors = [
{name = "Stan44", email = "stan44@example.com"},
]
description = "Falling Sand Simulation in Python"
readme = "README.md"
requires-python = ">=3.8"
dependencies = [
"numpy>=1.21.0,<3.0.0",
"pygame>=2.1.0",
"numba>=0.57.0"
]
[project.optional-dependencies.gpu]
# GPU acceleration (optional)
taichi = ">=1.6.0"
cupy = ">=12.0.0"
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0",
"pytest-cov>=4.0",
"black>=22.0",
"flake8>=4.0",
"isort>=5.0",
"mypy>=0.9",
"pylint>=2.10",
"sphinx>=4.0",
"sphinx-rtd-theme>=1.0"
]
[tool.black]
line-length = 79
target-version = ['py38']
[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 79
force_grid_wrap = 0
include_trailing_comma = true
use_parentheses = true
ensure_newline_before_comments = true
[tool.flake8]
max-line-length = 79
[tool.mypy]
python_version = "3.8"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
check_untyped_defs = true
strict_optional = true
[tool.pylint]
max-line-length = 79
ignored-modules = ["pygame"]
disable = ["E1101"]
[tool.setuptools]
package-dir = {"" = "python"}
[tool.setuptools.packages.find]
where = ["python"]