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

* chore(dev): move dev-dependencies inside dependency-groups * fix(ci): ci was not broken
237 lines
6.1 KiB
TOML
237 lines
6.1 KiB
TOML
[build-system]
|
|
build-backend = "hatchling.build"
|
|
requires = ["hatchling", "hatch-fancy-pypi-readme"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
{include-group = "docs"},
|
|
{include-group = "tests"},
|
|
"bump-my-version>=0.20.3",
|
|
"pre-commit>=3.5.0",
|
|
]
|
|
docs = [
|
|
"manim-slides[magic,manim,pyqt6,sphinx-directive]",
|
|
"furo>=2023.5.20",
|
|
"ipykernel>=6.25.1",
|
|
"myst-parser>=2.0.0",
|
|
"nbsphinx>=0.9.2",
|
|
"pandoc>=2.3",
|
|
"pygments<2.19", # See: https://github.com/ManimCommunity/manim/issues/4104
|
|
"sphinx>=7.0.1",
|
|
"sphinxcontrib-programoutput>=0.18",
|
|
"sphinx-design>=0.6.1",
|
|
"sphinx-click>=4.4.0",
|
|
"sphinx-copybutton>=0.5.1",
|
|
"sphinxext-opengraph>=0.7.5",
|
|
]
|
|
tests = [
|
|
"importlib-metadata>=8.6.1;python_version<'3.10'",
|
|
"manim-slides[full,manimgl,pyqt6,pyside6,sphinx-directive]",
|
|
"pytest>=7.4.0",
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-env>=0.8.2",
|
|
"pytest-missing-modules>=0.1.0",
|
|
"pytest-qt>=4.2.0",
|
|
"setuptools>=73.0.1",
|
|
]
|
|
|
|
[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,<14",
|
|
"beautifulsoup4>=4.12.3",
|
|
"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.11.0",
|
|
"tqdm>=4.64.1",
|
|
]
|
|
description = "Tool for live presentations using manim"
|
|
dynamic = ["readme", "version"]
|
|
keywords = ["manim", "slides", "plugin", "manimgl"]
|
|
license = "MIT"
|
|
name = "manim-slides"
|
|
requires-python = ">=3.9"
|
|
|
|
[project.optional-dependencies]
|
|
full = [
|
|
"manim-slides[magic,manim,sphinx-directive]",
|
|
]
|
|
magic = ["manim-slides[manim]", "ipython>=8.12.2"]
|
|
manim = ["manim>=0.19"]
|
|
manimgl = ["manimgl>=1.7.2"]
|
|
pyqt6 = ["pyqt6>=6.7.0"]
|
|
pyqt6-full = ["manim-slides[full,pyqt6]"]
|
|
pyside6 = ["pyside6>=6.6.1,!=6.8.1.1"]
|
|
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.bumpversion]
|
|
allow_dirty = false
|
|
commit = true
|
|
commit_args = ""
|
|
current_version = "5.5.1"
|
|
ignore_missing_version = false
|
|
message = "chore(deps): bump version from {current_version} to {new_version}"
|
|
parse = '(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(-rc(?P<release>\d+))?'
|
|
regex = false
|
|
replace = "{new_version}"
|
|
search = "{current_version}"
|
|
serialize = ["{major}.{minor}.{patch}-rc{release}", "{major}.{minor}.{patch}"]
|
|
sign_tags = false
|
|
tag = false
|
|
tag_message = "Bump version: {current_version} → {new_version}"
|
|
tag_name = "v{new_version}"
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "manim_slides/__version__.py"
|
|
replace = '__version__ = "{new_version}"'
|
|
search = '__version__ = "{current_version}"'
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "CITATION.cff"
|
|
replace = "version: v{new_version}"
|
|
search = "version: v{current_version}"
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "CHANGELOG.md"
|
|
replace = "v{new_version}"
|
|
search = "Unreleased"
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "CHANGELOG.md"
|
|
replace = "v{new_version}"
|
|
search = "unreleased"
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "CHANGELOG.md"
|
|
replace = "v{current_version}...v{new_version}"
|
|
search = "v{current_version}...HEAD"
|
|
|
|
[[tool.bumpversion.files]]
|
|
filename = "CHANGELOG.md"
|
|
replace = '''<!-- start changelog -->
|
|
|
|
(unreleased)=
|
|
## [Unreleased](https://github.com/jeertmans/manim-slides/compare/v{new_version}...HEAD)'''
|
|
search = "<!-- start changelog -->"
|
|
|
|
[tool.codespell]
|
|
builtin = "clear,rare,informal,usage,names,en-GB_to_en-US"
|
|
check-hidden = true
|
|
ignore-words-list = "master"
|
|
skip = "uv.lock"
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
"if typing.TYPE_CHECKING:",
|
|
]
|
|
precision = 2
|
|
|
|
[tool.hatch.metadata.hooks.fancy-pypi-readme]
|
|
content-type = "text/markdown"
|
|
|
|
[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
|
|
text = """<p align="center">
|
|
<a href="https://www.github.com/jeertmans/manin-slides">
|
|
<img src="https://raw.githubusercontent.com/jeertmans/manim-slides/main/static/logo.png"/>
|
|
</a>
|
|
</p>
|
|
"""
|
|
|
|
[[tool.hatch.metadata.hooks.fancy-pypi-readme.fragments]]
|
|
path = "README.md"
|
|
start-after = "<!-- start pypi -->"
|
|
|
|
[[tool.hatch.metadata.hooks.fancy-pypi-readme.substitutions]]
|
|
pattern = '> \[!([A-Z]+)\]'
|
|
replacement = '> **\1:**'
|
|
|
|
[tool.hatch.version]
|
|
path = "manim_slides/__version__.py"
|
|
|
|
[tool.mypy]
|
|
disallow_untyped_decorators = false
|
|
install_types = true
|
|
python_version = "3.9"
|
|
strict = true
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = [
|
|
"--cov-report=xml",
|
|
"--cov=manim_slides",
|
|
]
|
|
env = [
|
|
"QT_API=pyside6",
|
|
"QT_QPA_PLATFORM=offscreen",
|
|
]
|
|
filterwarnings = [
|
|
'''ignore:'audioop' is deprecated:DeprecationWarning''',
|
|
'ignore:pkg_resources is deprecated as an API:DeprecationWarning',
|
|
'ignore::DeprecationWarning:pkg_resources.*:',
|
|
'ignore:invalid escape sequence.*:DeprecationWarning',
|
|
'ignore:invalid escape sequence.*:SyntaxWarning',
|
|
]
|
|
|
|
[tool.ruff]
|
|
extend-exclude = ["manim_slides/resources.py"]
|
|
extend-include = ["*.ipynb"]
|
|
line-length = 88
|
|
target-version = "py39"
|
|
|
|
[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"]}
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"docs/source/reference/magic_example.ipynb" = ["F403", "F405"]
|
|
"tests/test_slide.py" = ["N801"]
|