4 Star 4 Fork 1

Gitee 极速下载 / PyVista

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/pyvista/pyvista
克隆/下载
pyproject.toml 9.98 KB
一键复制 编辑 原始数据 按行查看 历史
[build-system]
requires = ['setuptools']
build-backend = 'setuptools.build_meta'
[project]
name = 'pyvista'
description = 'Easier Pythonic interface to VTK'
authors = [
{name = 'PyVista Developers', email = 'info@pyvista.org'},
]
readme = 'README.rst'
requires-python = '>=3.8'
keywords = ['vtk', 'numpy', 'plotting', 'mesh']
license = {text = 'MIT'}
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Information Analysis',
'License :: OSI Approved :: MIT License',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: MacOS',
'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',
]
dependencies = [
'matplotlib>=3.0.1',
'numpy>=1.21.0', # minimum typing support
'pillow',
'pooch',
'scooby>=0.5.1',
'vtk', # keep without version constraints
'typing-extensions',
]
dynamic = ['version']
[project.optional-dependencies]
all = ['pyvista[colormaps,io,jupyter]']
colormaps = [
'cmocean',
'colorcet',
]
io = [
'imageio',
'meshio>=5.2'
]
jupyter = [
'ipywidgets',
'jupyter-server-proxy',
'nest_asyncio',
'trame>=2.5.2',
'trame-client>=2.12.7',
'trame-server>=2.11.7',
'trame-vtk>=2.5.8',
'trame-vuetify>=2.3.1',
]
[project.urls]
Documentation = 'https://docs.pyvista.org/'
"Bug Tracker" = 'https://github.com/pyvista/pyvista/issues'
"Source Code" = 'https://github.com/pyvista/pyvista'
[tool.setuptools.dynamic]
version = {attr = 'pyvista._version.__version__'}
[tool.setuptools.packages.find]
include = [
'pyvista',
'pyvista.*',
]
[tool.setuptools.package-data]
pyvista = [
'py.typed',
]
"pyvista.examples" = [
'2k_earth_daymap.jpg',
'airplane.ply',
'ant.ply',
'channels.vti',
'globe.vtk',
'hexbeam.vtk',
'nut.ply',
'pyvista_logo.png',
'rectilinear.vtk',
'sphere.ply',
'uniform.vtk',
]
[tool.isort]
profile = 'black'
line_length = 100
# Sort by name, don't cluster "from" vs "import"
force_sort_within_sections = true
# Combines "as" imports on the same line
combine_as_imports = true
[tool.black]
line-length = 100
skip-string-normalization = true
target-version = ['py39']
exclude='\.eggs|\.git|\.mypy_cache|\.tox|\.venv|_build|buck-out|build|dist|node_modules'
[tool.blackdoc]
# From https://numpydoc.readthedocs.io/en/latest/format.html
# Extended discussion: https://github.com/pyvista/pyvista/pull/4129
# The length of docstring lines should be kept to 75 characters to facilitate
# reading the docstrings in text terminals.
line-length = 75
[tool.build_sphinx]
source-dir = 'doc'
build-dir = './doc/_build'
all_files = 1
[tool.upload_sphinx]
upload-dir = 'doc/_build/html'
[tool.pydocstyle]
match = '(?!coverage).*.py'
convention = "numpy"
add-ignore = ["D404"]
[tool.codespell]
skip = '*.pyc,*.txt,*.gif,*.png,*.jpg,*.ply,*.vtk,*.vti,*.vtu,*.js,*.html,*.doctree,*.ttf,*.woff,*.woff2,*.eot,*.mp4,*.inv,*.pickle,*.ipynb,flycheck*,./.git/*,./.hypothesis/*,*.yml,doc/_build/*,./doc/images/*,./dist/*,*~,.hypothesis*,./doc/examples/*,*.mypy_cache/*,*cover,./tests/tinypages/_build/*,*/_autosummary/*'
ignore-words = "doc/styles/Vocab/pyvista/accept.txt"
quiet-level = 3
[tool.coverage.run]
omit = [
'pyvista/ext/coverage.py',
'pyvista/conftest.py',
# kept for backwards compatibility:
'pyvista/plotting/theme.py',
]
[tool.pytest.ini_options]
junit_family='legacy'
filterwarnings = [
'ignore::FutureWarning',
'ignore::PendingDeprecationWarning',
'ignore::DeprecationWarning',
# bogus numpy ABI warning (see numpy/#432)
'ignore:.*numpy.dtype size changed.*:RuntimeWarning',
'ignore:.*numpy.ufunc size changed.*:RuntimeWarning',
'ignore:.*Given trait value dtype "float64":UserWarning',
'ignore:.*The NumPy module was reloaded*:UserWarning',
'error::pyvista.PyVistaDeprecationWarning'
]
doctest_optionflags = 'NUMBER ELLIPSIS'
testpaths = 'tests'
markers = [
'needs_vtk_version(version): skip test unless VTK version is at least as specified.',
'needs_download: this test downloads data during execution',
]
image_cache_dir = "tests/plotting/image_cache"
[tool.mypy]
ignore_missing_imports = true
disallow_any_generics = true
pretty = true
show_error_context = true
warn_unused_ignores = true
plugins = ['numpy.typing.mypy_plugin','npt_promote']
enable_error_code = [
"ignore-without-code",
]
[tool.numpydoc_validation]
checks = [
"all", # all but the following:
"GL01", # Contradicts numpydoc examples
"GL02", # Permit a blank line after the end of our docstring
"GL03", # Considering enforcing
"GL06", # Found unknown section
"GL07", # "Sections are in the wrong order. Correct order is: {correct_sections}",
"GL09", # Deprecation warning should precede extended summary (check broken)
"SA01", # Not all docstrings need a see also
"SA04", # See also section does not need descriptions
"SS05", # Appears to be broken.
"ES01", # Not all docstrings need an extend summary.
"EX01", # Examples: Will eventually enforce
"YD01", # Yields: No plan to enforce
]
exclude = [ # don't report on objects that match any of these regex
'\.BasePlotter$', # Issue with class parameter documentation
'\.Plotter$', # Issue with class parameter documentation
'\.WidgetHelper$',
'\.PickingHelper$',
'\.from_dict$',
'\.to_dict$',
'\.__init__$',
'\.__new__$',
'\.__getattr__$',
'\.keys$',
'\.values$',
'\.items$',
'\._.*$', # Ignore anything that's private (e.g., starts with _)
# parm of abstract classes
'\._BaseMapper$',
'\.CompositeFilters$',
'\.DataObject$',
'\.DataSet$',
'\.DataSetFilters$',
'\.ExplicitStructuredGrid$',
'\.Grid$',
'\.MultiBlock$',
'\.PartitionedDataSet$',
'\.PointGrid$',
'\.PointSet$',
'\.PolyDataFilters$',
'\.RectilinearGrid$',
'\.StructuredGrid$',
'\.Table$',
'\.Table\.save$',
'\.ImageData$',
'\.ImageDataFilters$',
'\.UnstructuredGrid$',
'\.UnstructuredGridFilters$',
# classes inherit from BaseReader
'\.*Reader(\.|$)',
# internal
'\.Renderer$',
# deprecated
'\.boolean_add$',
'\.boolean_cut$',
'\.add_field_array$',
'\.DataSetAttributes\.append$',
# will be removed or refactored
'^pv_pythreejs\..*$',
'^pv_ipygany\..*$',
'^notebook\..*$',
# Documentation extensions or utilities
'^viewer_directive\..*$',
'^plot_directive\..*$',
'^coverage\..*$',
'\.pv_html_page_context$',
# Internal
'^observers\..*$',
# methods we probably should make private
'\.store_click_position$',
'\.store_mouse_position$',
'\.fly_to_mouse_position$',
'\.key_press_event$',
'\.left_button_down$',
# MISC
'\.ActiveArrayInfo$',
'\.CellType$',
'\.DataObject\.copy_meta_from$',
'\.FieldAssociation$',
'\.InterpolationType$',
'\.RepresentationType$',
'\.ElementType$',
'\.MultiBlock\.copy_meta_from$',
# wraps
'\.Plotter\.enable_depth_peeling$',
'\.add_scalar_bar$',
# called from inherited
'\.Table\.copy_meta_from$',
# Type alias
'\.ColorLike$',
'\.Chart$',
'\.ArrayLike$',
'\.MatrixLike$',
'\.VectorLike$',
'\.TransformLike$',
'\.BoundsLike$',
'\.CellsLike$',
'\.CellsArrayLike$',
# PointSet *args and **kwargs for wrapped parameters
'\.PointSet(\.|$)',
# Mixin methods from collections.abc
'\.MultiBlock\.clear$',
'\.MultiBlock\.count$',
'\.MultiBlock\.index$',
'\.MultiBlock\.remove$',
# Enumerations
'\.Plot3DFunctionEnum$',
# VTK methods
'\.override$',
# trame
'\.Viewer(\.|$)',
'\.PyVistaRemoteView(\.|$)',
'\.PyVistaLocalView(\.|$)',
'\.PyVistaRemoteLocalView(\.|$)',
'\.Texture(\.|$)', # awaiting Texture refactor
]
[tool.ruff]
exclude = [
'.git',
'pycache__',
'build',
'dist',
'doc/examples',
'doc/_build',
]
line-length = 100
indent-width = 4
target-version = 'py39'
[tool.ruff.lint]
external = ["E131", "D102", "D105"]
ignore = [
# https://github.com/pyvista/pyvista/pull/6030
"B028",
# https://github.com/pyvista/pyvista/pull/6022
"B904",
# whitespace before ':'
"E203",
# line break before binary operator
# "W503",
# line length too long
"E501",
# do not assign a lambda expression, use a def
"E731",
# too many leading '#' for block comment
"E266",
# ambiguous variable name
"E741",
# module level import not at top of file
"E402",
# Quotes (temporary)
"Q0",
# bare excepts (temporary)
# "B001", "E722",
"E722",
# we already check black
# "BLK100",
# 'from module import *' used; unable to detect undefined names
"F403",
# https://github.com/pyvista/pyvista/pull/6037
"PERF203",
# https://github.com/pyvista/pyvista/pull/5877
"SIM102",
# https://github.com/pyvista/pyvista/pull/5888
"SIM117",
# https://github.com/pyvista/pyvista/pull/5837
"SIM118",
# https://github.com/pyvista/pyvista/pull/5911
"RET505",
"RET506",
"RET507",
]
fixable = ["ALL"]
unfixable = []
extend-select = [
"A",
"AIR",
"ASYNC",
"B",
"C4",
"COM",
"DJ",
"DTZ",
"E",
"F",
"FA",
"FLY",
"ICN",
"INT",
"ISC",
"LOG",
"NPY",
"PERF",
"PGH",
"PIE",
"PLC",
"PLR0402",
"PLR1711",
"PLR1714",
"PLW0127",
"PT",
"PTH",
"PYI",
"Q",
"RET",
"RSE",
"RUF",
"SIM",
"T10",
"TCH",
"TRIO",
"TRY201",
"TRY300",
"TRY302",
"W",
"YTT",
]
[tool.ruff.lint.flake8-comprehensions]
allow-dict-calls-with-keyword-arguments = true
[tool.ruff.lint.per-file-ignores]
"examples/**" = [
# https://github.com/pyvista/pyvista/pull/6014
"B015",
# https://github.com/pyvista/pyvista/pull/6019
"B018",
]
Python
1
https://gitee.com/mirrors/PyVista.git
git@gitee.com:mirrors/PyVista.git
mirrors
PyVista
PyVista
main

搜索帮助