[build-system] requires = [ "setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2", ] build-backend = "setuptools.build_meta" [project] name = "build123d" dynamic = ["version"] authors = [ {name = "Roger Maitland", email = "gumyr9@gmail.com"}, ] description = "A python CAD programming library" readme = "README.md" requires-python = ">= 3.10, < 3.14" keywords = [ "3d models", "3d printing", "3d", "brep", "cad", "cadquery", "opencscade", "python", ] license = {text = "Apache-2.0"} classifiers = [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", ] dependencies = [ "cadquery-ocp >= 7.8.0, < 7.9.0", "typing_extensions >= 4.6.0, < 5", "numpy >= 2, < 3", "svgpathtools >= 1.5.1, < 2", "anytree >= 2.8.0, < 3", "ezdxf >= 1.1.0, < 2", "ipython >= 8.0.0, < 9", "py-lib3mf >= 2.3.1", "ocpsvg >= 0.4", "trianglesolver", ] [project.urls] "Homepage" = "/~https://github.com/gumyr/build123d" "Documentation" = "https://build123d.readthedocs.io/en/latest/index.html" "Bug Tracker" = "/~https://github.com/gumyr/build123d/issues" [project.optional-dependencies] # enable the optional ocp_vscode visualization package ocp_vscode = [ "ocp_vscode", ] # development dependencies development = [ "wheel", "pytest", "pytest-cov", "pylint", "mypy", "black", ] # dependency to run the pytest benchmarks benchmark = [ "pytest-benchmark", ] # dependencies to build the docs docs = [ "sphinx==8.1.3", # pin for stability of docs builds "sphinx-design", "sphinx-copybutton", "sphinx-hoverxref", "sphinx-rtd-theme", "sphinx_autodoc_typehints", ] # all dependencies all = [ "build123d[ocp_vscode]", "build123d[development]", "build123d[benchmark]", "build123d[docs]", ] [tool.setuptools.packages.find] where = ["src"] # exclude build123d._dev from wheels exclude = ["build123d._dev"] [tool.setuptools_scm] write_to = "src/build123d/_version.py" [tool.black] target-version = ["py310", "py311", "py312", "py313"] line-length = 88