[build-system] requires = ["setuptools", "setuptools-scm"] build-backend = "setuptools.build_meta" [project] name = "pysindy" description = "Sparse Identification of Nonlinear Dynamics" authors = [ {name="Brian de Silva", email="bdesilva@uw.edu"}, {name="Kathleen Champion", email="kpchamp@uw.edu"}, {name="Jacob Stevens-Haas", email="jacob.stevens.haas@gmail.com"}, {name="Markus Quade", email="info@markusqua.de"}, {name="Alan Kaptanoglu", email="akaptano@uw.edu"}, ] license = {text = "MIT"} requires-python = ">=3.11" dynamic = ["version"] classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Topic :: Scientific/Engineering :: Mathematics", ] readme = "README.rst" dependencies = [ "scikit-learn>=1.1, !=1.5.0, !=1.6.0, !=1.7.1", "numpy>=2.0", "derivative>=0.6.2", "scipy", "typing_extensions", ] [project.optional-dependencies] dev = [ "asv", "matplotlib", "seaborn", "pytest>=6.2.4, <8.0.0", "black", "build", "pytest-cov", "pytest-lazy-fixture", "flake8-builtins-unleashed", "jupyter", "jupytext", "pre-commit", "hypothesis", "jupyter-contrib-nbextensions", "sindy_exp>=0.4.0", ] docs = [ "ipython", "nbsphinx", "pandoc", "requests", "sphinx-rtd-theme", "sphinx==8.2.3", "pyyaml", "sphinxcontrib-apidoc", "matplotlib" ] miosr = [ "gurobipy>=9.5.1,!=10.0.0" ] cvxpy = [ "cvxpy>=1.5", "scs>=2.1, !=2.1.4" ] sbr = [ "numpyro", "jax" ] [tool.black] line-length = 88 force-exclude = ''' \.git \.mypy_cache \.venv .vscode version.py build dist env ''' [tool.pytest.ini_options] filterwarnings = [ "ignore::RuntimeWarning",] addopts = '-m "not slow and not notebooks"' markers = ["slow", "notebooks"] [tool.codespell] ignore-words-list = "pres,nd,hist,wit" [tool.setuptools] packages = ["pysindy"] [tool.setuptools_scm] write_to = "pysindy/version.py" [tool.autopep8] ignore = ["E731"]