-
Notifications
You must be signed in to change notification settings - Fork 49
/
pyproject.toml
105 lines (96 loc) · 3 KB
/
pyproject.toml
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
102
103
104
105
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build]
exclude = ["src/viser/client/.nodeenv", "src/viser/client/node_modules", "**/__pycache__/**"]
# Client build is in the gitignore, but we still want it in the distribution.
ignore-vcs = true
[tool.hatch.build.targets.sdist]
only-include = ["src/viser"]
[tool.hatch.build.targets.wheel]
packages = ["src/viser"]
[project]
name = "viser"
version = "0.2.14"
description = "3D visualization + Python"
readme = "README.md"
license = { text="MIT" }
requires-python = ">=3.8"
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",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent"
]
dependencies = [
"websockets>=13.1",
"numpy>=1.0.0",
"msgspec>=0.18.6",
"imageio>=2.0.0",
"pyliblzfse>=0.4.1; platform_system!='Windows'",
"scikit-image>=0.18.0",
"scipy>=1.7.3",
"tqdm>=4.0.0",
"tyro>=0.2.0",
"rich>=13.3.3",
"trimesh>=3.21.7",
"nodeenv>=1.8.0",
"psutil>=5.9.5",
"yourdfpy>=0.0.53",
"plyfile>=1.0.2"
]
[project.optional-dependencies]
dev = [
"pyright>=1.1.308",
"ruff==0.6.2",
"pre-commit==3.3.2",
"pytest",
"hypothesis[numpy]",
]
examples = [
"torch>=1.13.1",
"matplotlib>=3.7.1",
"plotly>=5.21.0",
"robot_descriptions>=1.10.0",
"gdown>=4.6.6",
"plyfile",
]
[project.urls]
"GitHub" = "https://github.com/nerfstudio-project/viser"
[project.scripts]
viser-dev-checks = "viser.scripts.dev_checks:entrypoint"
[tool.pyright]
exclude = ["./docs/**/*", "./examples/assets/**/*", "./src/viser/client/.nodeenv", "./build"]
[tool.ruff]
lint.select = [
"E", # pycodestyle errors.
"F", # Pyflakes rules.
"PLC", # Pylint convention warnings.
"PLE", # Pylint errors.
"PLR", # Pylint refactor recommendations.
"PLW", # Pylint warnings.
"I", # Import sorting.
]
lint.ignore = [
"E741", # Ambiguous variable name. (l, O, or I)
"E501", # Line too long.
"E721", # Do not compare types, use `isinstance()`.
"F722", # Forward annotation false positive from jaxtyping. Should be caught by pyright.
"F821", # Forward annotation false positive from jaxtyping. Should be caught by pyright.
"PLR2004", # Magic value used in comparison.
"PLR0915", # Too many statements.
"PLR0913", # Too many arguments.
"PLC0414", # Import alias does not rename variable. (this is used for exporting names)
"PLC1901", # Use falsey strings.
"PLR5501", # Use `elif` instead of `else if`.
"PLR0911", # Too many return statements.
"PLR0912", # Too many branches.
"PLW0603", # Globa statement updates are discouraged.
"PLW2901", # For loop variable overwritten.
"PLW0642", # Reassigned self in instance method.
]
exclude = [ ".nodeenv" ]