mirror of
https://github.com/jeertmans/manim-slides.git
synced 2025-05-17 10:45:53 +08:00

* chore(ci): checking links and spell checking * chore(ci): move markdown-link-check to GitHub ci Because pre-commit.ci does not have access to the internet... * fix(lib): revert `reverse-...` utils because of warnings * chore(ci): checking links and spell checking * chore(ci): move markdown-link-check to GitHub ci Because pre-commit.ci does not have access to the internet... * fix(docs): myst-parser xref cannot end with .html * fix(docs): oops
155 lines
3.6 KiB
TOML
155 lines
3.6 KiB
TOML
[build-system]
|
|
build-backend = "pdm.backend"
|
|
requires = ["pdm-backend", "setuptools"]
|
|
|
|
[project]
|
|
authors = [{name = "Jérome Eertmans", email = "jeertmans@icloud.com"}]
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"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",
|
|
"Topic :: Multimedia :: Video",
|
|
"Topic :: Multimedia :: Graphics",
|
|
"Topic :: Scientific/Engineering",
|
|
]
|
|
dependencies = [
|
|
"av>=9.0.0",
|
|
"click>=8.1.3",
|
|
"click-default-group>=1.2.2",
|
|
"jinja2>=3.1.2",
|
|
"lxml>=4.9.2",
|
|
"numpy>=1.19",
|
|
"pillow>=9.5.0",
|
|
"pydantic>=2.0.1",
|
|
"pydantic-extra-types>=2.0.0",
|
|
"python-pptx>=0.6.21",
|
|
"qtpy>=2.4.1",
|
|
"requests>=2.28.1",
|
|
"rich>=13.3.2",
|
|
"rtoml>=0.9.0",
|
|
"tqdm>=4.64.1",
|
|
]
|
|
description = "Tool for live presentations using manim"
|
|
dynamic = ["version"]
|
|
keywords = ["manim", "slides", "plugin", "manimgl"]
|
|
license = {text = "MIT"}
|
|
name = "manim-slides"
|
|
readme = "README.md"
|
|
requires-python = ">=3.9,<3.13"
|
|
|
|
[project.optional-dependencies]
|
|
docs = [
|
|
"manim-slides[magic,sphinx-directive]",
|
|
"furo>=2023.5.20",
|
|
"ipykernel>=6.25.1",
|
|
"myst-parser>=2.0.0",
|
|
"nbsphinx>=0.9.2",
|
|
"pandoc>=2.3",
|
|
"sphinx>=7.0.1",
|
|
"sphinx-click>=4.4.0",
|
|
"sphinx-copybutton>=0.5.1",
|
|
"sphinxext-opengraph>=0.7.5",
|
|
]
|
|
full = [
|
|
"manim-slides[magic,manim,manimgl,sphinx-directive]",
|
|
]
|
|
magic = ["manim-slides[manim]", "ipython>=8.12.2"]
|
|
manim = ["manim>=0.17.3"]
|
|
manimgl = ["manimgl>=1.6.1"]
|
|
pyqt6 = ["pyqt6>=6.6.1"]
|
|
pyqt6-full = ["manim-slides[full,pyqt6]"]
|
|
pyside6 = ["pyside6>=6.5.1,<6.5.3;python_version<'3.12'"]
|
|
pyside6-full = ["manim-slides[full,pyside6]"]
|
|
sphinx-directive = ["docutils>=0.20.1", "manim-slides[manim]"]
|
|
|
|
[project.scripts]
|
|
manim-slides = "manim_slides.__main__:cli"
|
|
|
|
[project.urls]
|
|
Changelog = "https://github.com/jeertmans/manim-slides/releases"
|
|
Documentation = "https://eertmans.be/manim-slides"
|
|
Founding = "https://github.com/sponsors/jeertmans"
|
|
Homepage = "https://github.com/jeertmans/manim-slides"
|
|
Repository = "https://github.com/jeertmans/manim-slides"
|
|
|
|
[tool.codespell]
|
|
builtin = "clear,rare,informal,usage,names,en-GB_to_en-US"
|
|
check-hidden = true
|
|
ignore-words-list = "master"
|
|
skip = "pdm.lock"
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
"if typing.TYPE_CHECKING:",
|
|
]
|
|
precision = 2
|
|
|
|
[tool.mypy]
|
|
disallow_untyped_decorators = false
|
|
install_types = true
|
|
python_version = "3.8"
|
|
strict = true
|
|
|
|
[tool.pdm.dev-dependencies]
|
|
dev = [
|
|
"bump2version>=1.0.1",
|
|
"pre-commit>=3.5.0",
|
|
]
|
|
github-action = ["setuptools"]
|
|
test = [
|
|
"manim-slides[manim,manimgl,pyqt6]",
|
|
"pytest>=7.4.0",
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-env>=0.8.2",
|
|
"pytest-qt>=4.2.0",
|
|
"pytest-xdist>=3.3.1",
|
|
]
|
|
|
|
[tool.pdm.resolution.overrides]
|
|
manimpango = "<1.0.0,>=0.5.0" # This conflicts with ManimGL, hopefully not an issue
|
|
skia-pathops = "0.8.0.post1" # From manim 0.18.0 (Python 3.12 support)
|
|
|
|
[tool.pdm.version]
|
|
path = "manim_slides/__version__.py"
|
|
source = "file"
|
|
|
|
[tool.pytest.ini_options]
|
|
env = [
|
|
"QT_QPA_PLATFORM=offscreen",
|
|
]
|
|
filterwarnings = [
|
|
"error",
|
|
"ignore::DeprecationWarning",
|
|
]
|
|
|
|
[tool.ruff]
|
|
extend-exclude = ["manim_slides/resources.py"]
|
|
extend-include = ["*.ipynb"]
|
|
line-length = 88
|
|
target-version = "py38"
|
|
|
|
[tool.ruff.lint]
|
|
extend-ignore = [
|
|
"D100",
|
|
"D101",
|
|
"D102",
|
|
"D103",
|
|
"D104",
|
|
"D105",
|
|
"D106",
|
|
"D107",
|
|
"D203",
|
|
"D205",
|
|
"D212",
|
|
"E501",
|
|
]
|
|
extend-select = ["B", "C90", "D", "I", "N", "RUF", "UP", "T"]
|
|
isort = {known-first-party = ["manim_slides", "tests"]}
|