-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpyproject.toml
More file actions
101 lines (94 loc) · 2.87 KB
/
Copy pathpyproject.toml
File metadata and controls
101 lines (94 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
[build-system]
requires = ["setuptools>=65.5,<77"]
build-backend = "setuptools.build_meta"
[project]
name = "solid-node"
version = "0.6.0"
description = "A framework to develop and manage mechanical projects in Python"
readme = { file = "README.rst", content-type = "text/x-rst" }
requires-python = ">=3.11"
license = { text = "Apache-2.0" }
authors = [
{ name = "Luis Fagundes", email = "lhfagundes@gmail.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
keywords = ["solid_node"]
dependencies = [
"watchdog",
"trimesh==4.4.*",
"solidpython2==2.1.*",
# cadquery and build123d both bind the single OCP module through the
# cadquery-ocp distribution, so their ranges must intersect. This pair
# is the newest that resolves to one OCP (7.8): cadquery 2.8 moved to
# cadquery-ocp >=7.9 while build123d 0.11 moved to cadquery-ocp-novtk,
# a second distribution installing the same OCP package.
"cadquery==2.7.*",
"build123d==0.10.*",
# The flexible leaf evaluates molejo shapes, and MolejoNode reaches for
# molejo's OCCT evaluator at import, so `brep` is required rather than
# optional. Pinned to the minor: a molejo minor carries the shape-spec
# version it implements, and the documents this framework writes name
# that version.
"molejo[brep]==0.2.*",
"httpx==0.27.*",
"fastapi==0.111.*",
"termcolor==2.4.*",
"asgiref==3.8.*",
"uvicorn==0.30.*",
"numpy==2.2.*",
"manifold3d",
"rtree",
"scipy",
]
[project.optional-dependencies]
dev = [
"bump2version",
"flake8>=7",
"tox>=4",
"coverage>=7",
"Sphinx>=7",
"twine>=5",
"pytest>=8",
"pillow>=10",
"black>=25.1",
"build>=1.2",
# tests/test_docs_exports.py reads .readthedocs.yaml and the Actions
# workflow. PyYAML arrives anyway as a transitive of trame; this is
# the direct use declared rather than left to that accident.
"pyyaml",
"pytest-watch",
"ipython",
"ipdb",
]
docs = [
"sphinx",
"sphinx_rtd_theme",
]
# The browser viewer is a separate, AGPL-3.0-only package. The framework is
# complete without it: OpenSCAD is its viewer and its snapshot renderer.
viewer = [
"solid-node-viewer",
]
# The web snapshot renderer needs the viewer and its browser; Chromium itself
# is a second step: `playwright install chromium`.
web-snapshot = [
"solid-node-viewer[snapshot]",
]
[project.urls]
Homepage = "https://github.com/LibreSolid/solid-node"
[project.scripts]
solid = "solid_node.cli:manage"
[tool.setuptools.packages.find]
include = ["solid_node", "solid_node.*"]
[tool.setuptools]
include-package-data = true
zip-safe = false
[tool.pytest.ini_options]
testpaths = ["tests"]