forked from nerfstudio-project/viser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
117 lines (109 loc) · 3.55 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
106
107
108
109
110
111
112
113
114
115
116
117
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "viser"
version = "0.2.11"
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>=10.4",
"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"
# <>
# Important: in the ./.github/workflows/publish.yml action, we have sed
# commands that assume the `viser = ...` line below directly follows
# `[tool.setuptools.package-data]`. We use this to remove the client source
# from PyPI builds.
#
# We should make sure that any modifications to the package-data list remain
# compatible with the sed commands!
#
# We keep the client source in by default to support things like pip
# installation via the Git URL, because build artifacts aren't
# version-controlled.
[tool.setuptools.package-data]
viser = ["py.typed", "*.pyi", "_icons/tabler-icons.zip", "client/**/*", "client/**/.*"]
# </>
[tool.setuptools.exclude-package-data]
# We exclude node_modules to prevent long build times for wheels when
# installing from source, eg via `pip install .`.
#
# https://github.com/nerfstudio-project/viser/issues/271
viser = ["**/node_modules/**"]
[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" ]