[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"]