manim/pyproject.toml
Tristan Schulz d77a47a233
Fix Typing (#3086)
* first draft of color class + starting library conversion

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* changed everything to Manim color todo: figure out circular dependency in utils

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* first working draft of new color version

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* resolving conflicts

* changed default internal value of ManimColor to np.ndarray[float]

* starting to fix tests

* fixed more tests and changed precision of manim color

* removed premature color conversion

* fixed some more tests

* final test changes

* fix doctests

* fix for 3.8

* fixing ManimColor string representation

* removing some unneccesary conversions

* moved community constants to manim_colors.py and added more color standards

* Added typing.py and typed bezier.py, core.py, constants.py  fully

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fixed codeql complaints

* add type ignore for np.allclose

* fixed import in three_dimensions

* added ignore for F401 back again in flake

* added typings to coordinate_systems.py

* Few improvements to `graphing/coordinate_systems.py`

* added some typings to mobject/geometry/line.py

* updated typings for mobject/geometry/line.py

* Add missing imports to `line.py`

* added typings to three_dimensions.py

* Use `FunctionOverride` for animation overrides

Fix type signature of `set_color_by_gradient`

* Remove `TYPE_CHECKING` check

Doc is failing

* Revert "Remove `TYPE_CHECKING` check"

Fails due to circular import

* Use `Self` in `coordinate_systems.py`

* Typehinted mobject.py and updated manim.typing.py

* Typed VMobject

* Type-hinted manim.mobject.geometry

* math.cos->np.cos, etc & fixed incorrect typehints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix missing annotations import

* TypeAlias fix in typing.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add ignore errors again to mypy because commits are not possible like this

* Fix last typing issues

* Update docs

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Only type check manim

* Try fixing pre-commit

* fix merge

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix compat

* Fix compat again

* Fix imports compat

* Use union syntax

* Use union syntax

* Fix reduce_across_dimension

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Various test and merge fixes

* Doc fixes

* Last doc fix

* Revert usage of np over math

* Bump numpy version

* Remove obsolete duplicate example

* Fixed Incorrect Typehint in manim.constants

* Fix docstring typo

* More fixes

Use mypy.ini instead of .mypy.ini
Fix more docstrings
Improve types in utils and constants

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs fixes

* Add internal aliases

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix compat

* line lengths in .rst file, formatting, typos

* add docstring for space_ops:cross2d

* add some more arrow tip typings (in a non-circular import causing way)

* yes, this can be deleted

* fix formatting of example

* added docstring to bezier::inverse_interpolation

* added docstring + test for bezier::match_interpolate

* some improvements in coordinate_systems

* Vector -> Vector3

* replaced np.ndarray with more appropriate type hints

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Apply feedback

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* revert to previous (new) version

* fix doctest

* fix ReST errors

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alex Lembcke <alex.lembcke@gmail.com>
Co-authored-by: Viicos <65306057+Viicos@users.noreply.github.com>
Co-authored-by: JasonGrace2282 <aarush.deshpande@gmail.com>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
2023-11-04 00:49:11 +01:00

139 lines
3.9 KiB
TOML

[tool.poetry]
name = "manim"
version = "0.17.3"
description = "Animation engine for explanatory math videos."
authors = ["The Manim Community Developers <contact@manim.community>", "3b1b <grant@3blue1brown.com>"]
license="MIT"
readme="README.md"
repository="https://github.com/manimcommunity/manim"
documentation="https://docs.manim.community/"
homepage="https://www.manim.community/"
classifiers= [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"Topic :: Scientific/Engineering",
"Topic :: Multimedia :: Video",
"Topic :: Multimedia :: Graphics",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Natural Language :: English",
]
exclude = ["scripts/","logo/","readme-assets/"]
packages = [
{ include = "manim" },
]
[tool.poetry.dependencies]
python = ">=3.8,<3.12"
click = ">=7.2,<=9.0"
click-default-group = "^1.2.2"
numpy = ">=1.22"
Pillow = ">=9.1,<10.0"
scipy = "^1.7.3"
tqdm = "^4.62.3"
pydub = "^0.25.1"
rich = ">=6.0,!=12.0.0"
pycairo = "^1.21"
manimpango = ">=0.5.0,<1.0.0"
networkx = ">=2.5,<3.3"
decorator = "^5.0.7"
importlib-metadata = { version = "^4.10.0", python = "<3.8" }
watchdog = ">=2.1,<=3.0.0"
jupyterlab = { version = "^3.0", optional = true }
notebook = { version = "^6.4", optional = true }
moderngl = "^5.6.3"
moderngl-window = "^2.3.0"
mapbox-earcut = "^1.0.0"
cloup = ">=0.13,<2.2"
requests = "^2.26.0"
dearpygui = { version = "^1.3.1", optional = true }
skia-pathops = "^0.7.0"
isosurfaces = "0.1.0"
srt = "^3.5.0"
screeninfo = "^0.8"
Pygments = "^2.10.0"
"backports.cached-property" = { version = "^1.0.1", python = "<3.8" }
svgelements = "^1.8.0"
typing-extensions = "^4.7.1"
[tool.poetry.extras]
jupyterlab = ["jupyterlab", "notebook"]
gui = ["dearpygui"]
[tool.poetry.dev-dependencies]
pytest-cov = "^3.0.0"
pytest = "^7.2"
pylint = "^2.12.2"
Sphinx = "^4"
sphinx-copybutton = "^0.4.0"
sphinxext-opengraph = "^0.8"
furo = "^2022.06.21"
recommonmark = "^0.7.1"
matplotlib = "^3.3.2"
pre-commit = "^2.11.1"
gitpython = "^3"
pygithub = "^1"
flake8 = "^3.9.0"
isort = "^5.8.0"
pytest-xdist = "^2.2"
types-requests = "^2.25.6"
types-protobuf = "^3.17.4"
types-decorator = "^0.1.7"
types-setuptools = "^57.0.2"
types-Pillow = "^9.3.0.4"
types-Pygments = "^2.9.2"
flake8-builtins = "^1.5.3"
flake8-bugbear = "^21.4.3"
flake8-docstrings = "^1.6.0"
flake8-rst-docstrings = "^0.2.3"
flake8-pytest-style = "^1.5.0"
flake8-simplify = "^0.14.1"
flake8-comprehensions = "^3.7.0"
sphinxcontrib-programoutput = "^0.17"
data-science-types = "^0.2.23"
psutil-wheels = {version = "5.8.0", python = ">=3.10"}
psutil = {version = "^5.8.0", python = "<3.10"}
myst-parser = "^0.17.2"
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/ManimCommunity/manim/issues"
"Changelog" = "https://docs.manim.community/en/stable/changelog.html"
"Twitter" = "https://twitter.com/manim_community"
"Discord" = "https://www.manim.community/discord/"
[tool.poetry.dev-dependencies.black]
version = ">=20.8b1"
allow-prereleases = false
python = "^3.6"
markers = "platform_python_implementation == 'CPython'"
[tool.pytest.ini_options]
markers = "slow: Mark the test as slow. Can be skipped with --skip_slow"
addopts = "--no-cov-on-fail --cov=manim --cov-report xml --cov-report term -n auto --dist=loadfile --durations=0"
[tool.isort]
# from https://black.readthedocs.io/en/stable/compatible_configs.html
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
line_length = 88
[tool.coverage.run]
omit = ["*tests*"]
[tool.coverage.report]
exclude_lines = ["pragma: no cover"]
[tool.poetry.plugins]
[tool.poetry.plugins."console_scripts"]
"manim" = "manim.__main__:main"
"manimce" = "manim.__main__:main"
[build-system]
requires = ["setuptools","poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"