diff --git a/pyproject.toml b/pyproject.toml index d057515d..237d94af 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,17 +1,75 @@ [build-system] build-backend = "setuptools.build_meta" -requires = [ - "wheel", - "setuptools>=45", - "setuptools_scm[toml]>=6.0", +requires = ["wheel", "setuptools>=45", "setuptools_scm[toml]>=6.0"] + +[project] +name = "adam-robotics" +dynamic = ["version"] +description = "Automatic Differentiation for rigid-body-dynamics AlgorithMs" +readme = "README.md" +license = { file = "LICENSE" } +authors = [ + { name = "Giuseppe L'Erario", email = "gl.giuseppelerario@gmail.com" }, +] +requires-python = ">=3.10" +keywords = [ + "robotics", + "urdf", + "rigid body dynamics", + "featherstone", + "automatic differentiation", + "optimization", + "casadi", + "jax", + "pytorch", + "reinforcement-learning", + "motion-planning", +] +dependencies = [ + "numpy>=1.20", + "scipy", + "casadi>=3.6", + "prettytable", + "urdf_parser_py", +] + +[project.optional-dependencies] +jax = ["jax", "jaxlib"] +casadi = ["casadi"] +pytorch = ["torch", "jax", "jaxlib", "jax2torch"] +test = [ + "jax", + "jaxlib", + "casadi", + "torch", + "pytest", + "idyntree", + "icub-models", + "black", + "jax2torch", + "requests", ] +conversion = ["idyntree"] +all = ["jax", "jaxlib", "casadi>=3.6", "torch", "jax2torch"] -[tool.setuptools_scm] -local_scheme = "dirty-tag" +[project.urls] +"Documentation" = "https://adam-robotics.readthedocs.io/en/latest/" +"Source" = "https://github.com/ami-iit/adam" + +[tool.setuptools] +package-dir = {"" = "src"} # keeps the src/ layout + +[tool.setuptools.packages.find] +where = ["src"] +exclude = ["tests*", "docs*", "examples*"] [tool.black] line-length = 88 -[tool.isort] -multi_line_output = 3 -profile = "black" +[tool.ruff] +line-length = 88 +src = ["src"] + +[tool.pytest.ini_options] +addopts = "--capture=no --verbose" +testpaths = ["tests"] diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index c9c57676..00000000 --- a/setup.cfg +++ /dev/null @@ -1,72 +0,0 @@ -[metadata] -name = adam-robotics -description = Automatic Differentiation for rigid-body-dynamics AlgorithMs -long_description = file: README.md -long_description_content_type = text/markdown -author = Giuseppe L'Erario -author_email = gl.giuseppelerario@gmail.com -license_files = LICENSE -url = https://github.com/ami-iit/ADAM - -keywords = - robotics - urdf - rigid body dynamics - featherstone - automatic-differentiation - optimization - casadi - jax - pytorch - reinforcement-learning - motion-planning - -[options] -packages = find: -package_dir = - = src -python_requires = >=3.7 -install_requires = - numpy >=1.20 - scipy - casadi >=3.6 - prettytable - urdf_parser_py - -[options.packages.find] -where = src - -[options.extras_require] -jax = - jax - jaxlib -casadi = - casadi -pytorch = - torch - jax - jaxlib - jax2torch -test = - jax - jaxlib - casadi - torch - pytest - idyntree - icub-models - black - jax2torch - requests - -conversions = - idyntree -all = - jax - jaxlib - casadi - torch - jax2torch - -[tool:pytest] -addopts = --capture=no --verbose diff --git a/setup.py b/setup.py deleted file mode 100644 index d7b82f52..00000000 --- a/setup.py +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (C) Istituto Italiano di Tecnologia (IIT). All rights reserved. -# This software may be modified and distributed under the terms of the - -from setuptools import setup - -setup()