From c2dfb597ff470f0cdb01ce9074edb426f45000bc Mon Sep 17 00:00:00 2001 From: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com> Date: Mon, 20 Jan 2025 08:36:53 -0500 Subject: [PATCH 1/5] Create changelog for 0.19.0 (#4032) * First draft of Changelog for 0.19.0 * fix typos * added 3967 * Add #4037 * Update count 97 -> 98 * Add #4039 * Add #3930 and #4044 * Add this PR to changelog * Add small description to changelog * Add #3924, #3951, and #4038 * Bump Manim version to 0.19.0 * Update CITATION.cff to be more consistent * remove github-security[bot] * Feedback + missing PRs * add newly merged PRs * added more details to highlights + breaking changes * bump date * sort PRs in breaking changes section and include 3964 * sort highlights section * fix: add required configuration key in .readthedocs.yml * Update docs/source/changelog/0.19.0-changelog.rst --------- Co-authored-by: Benjamin Hackl --- .readthedocs.yml | 4 + CITATION.cff | 4 +- docs/source/changelog.rst | 1 + docs/source/changelog/0.19.0-changelog.rst | 587 +++++++++++++++++++++ poetry.lock | 216 +++++++- pyproject.toml | 2 +- 6 files changed, 799 insertions(+), 15 deletions(-) create mode 100644 docs/source/changelog/0.19.0-changelog.rst diff --git a/.readthedocs.yml b/.readthedocs.yml index afc76e5597..9b66a51cf3 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,8 @@ version: 2 + +sphinx: + configuration: docs/source/conf.py + build: os: ubuntu-22.04 diff --git a/CITATION.cff b/CITATION.cff index 9bce914e14..9f5fd91613 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,10 +4,10 @@ authors: - name: "The Manim Community Developers" cff-version: "1.2.0" -date-released: 2024-04-28 +date-released: 2025-01-20 license: MIT message: "We acknowledge the importance of good software to support research, and we note that research becomes more valuable when it is communicated effectively. To demonstrate the value of Manim, we ask that you cite Manim in your work." title: Manim – Mathematical Animation Framework url: "https://www.manim.community/" -version: "v0.18.1" +version: "v0.19.0" ... diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index f2afb6cfd8..2e99ef32cb 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -9,6 +9,7 @@ releases since v0.18.0) are documented on our .. toctree:: + changelog/0.19.0-changelog changelog/0.18.0-changelog changelog/0.17.3-changelog changelog/0.17.2-changelog diff --git a/docs/source/changelog/0.19.0-changelog.rst b/docs/source/changelog/0.19.0-changelog.rst new file mode 100644 index 0000000000..f0ff567f5b --- /dev/null +++ b/docs/source/changelog/0.19.0-changelog.rst @@ -0,0 +1,587 @@ +******* +v0.19.0 +******* + +:Date: January 20, 2025 + +Major Changes +============= + +With the release of Manim v0.19.0, we've made lots of progress with making +Manim easier to install! + +One of the biggest changes in this release is the replacement of the external +``ffmpeg`` dependency with the ``pyav`` library. This means that users no longer +have to install ``ffmpeg`` in order to use Manim - they can just ``pip install manim`` +and it will work! + +In light of this change, we also rewrote our :ref:`installation docs ` +to recommend using a new tool called `uv `_ to install Manim. + +.. note:: + + Do not worry if you installed Manim with any previous methods, like homebrew, pip, + choco, or scoop. Those methods will still work, and are not deprecated. However, + the recommended way to install Manim is now with `uv `_. + +Contributors +============ + +A total of 54 people contributed to this +release. People with a '+' by their names authored a patch for the first +time. + +* Aarush Deshpande +* Abulafia +* Achille Fouilleul + +* Benjamin Hackl +* CJ Lee + +* Cameron Burdgick + +* Chin Zhe Ning +* Christopher Hampson + +* ChungLeeCN + +* Eddie Ruiz + +* F. Muenkel + +* Francisco Manríquez Novoa +* Geoo Chi + +* Henrik Skov Midtiby + +* Hugo Chargois + +* Irvanal Haq + +* Jay Gupta + +* Laifsyn + +* Larry Skuse + +* Nemo2510 + +* Nikhil Iyer +* Nikhila Gurusinghe + +* Rehmatpal Singh + +* Romit Mohane + +* Saveliy Yusufov + +* Sir James Clark Maxwell +* Sophia Wisdom + +* Tristan Schulz +* VPC + +* Victorien +* Xiuyuan (Jack) Yuan + +* alembcke +* anagorko + +* czuzu + +* fogsong233 + +* jkjkil4 + +* modjfy + +* nitzanbueno + +* yang-tsao + + + +The patches included in this release have been reviewed by +the following contributors. + +* Aarush Deshpande +* Achille Fouilleul +* Benjamin Hackl +* Christopher Hampson +* Eddie Ruiz +* Francisco Manríquez Novoa +* Henrik Skov Midtiby +* Hugo Chargois +* Irvanal Haq +* Jay Gupta +* Jérome Eertmans +* Nemo2510 +* Nikhila Gurusinghe +* OliverStrait +* Saveliy Yusufov +* Sir James Clark Maxwell +* Tristan Schulz +* VPC +* Victorien +* Xiuyuan (Jack) Yuan +* alembcke +* github-advanced-security[bot] + +Pull requests merged +==================== + +A total of 138 pull requests were merged for this release. + +Highlights +---------- + +* :pr:`3501`: Replaced external ``ffmpeg`` dependency with ``pyav`` + This change removes the need to have ``ffmpeg`` available as a command line tool + when using Manim. While ``pyav`` technically also uses ``ffmpeg`` internally, + the maintainers of ``pyav`` distribute it in their binary wheels. + + +* :pr:`3518`: Created a :class:`.HSV` color class, and added support for custom color spaces + This extends the color system of Manim and adds support to implement custom color spaces. + See the implementation of :class:`.HSV` for a practical example. + + +* :pr:`3930`: Completely reworked the installation instructions + As a consequence of removing the need for the external ``ffmpeg`` dependency, + we have reworked and massively simplified the installation instructions. Given + that practically, user-written scenes are effectively small self-contained Python + projects, the new instructions strongly recommend using the + `project and dependency management tool uv `__ to ensure + a consistent and reproducible environment. + + +* :pr:`3967`: Added support for Python 3.13 + This adds support for Python 3.13, which brings the range of currently supported + Python versions to 3.9 -- 3.13. + + +* :pr:`3966`: :class:`.VGroup` can now be initialized with :class:`.VMobject` iterables + Groups of Mobjects can now be created by passing an iterable to the :class:`.VGroup` + constructors:: + + my_group = VGroup(Dot() for _ in range(10)) + + +Breaking changes +---------------- + +* :pr:`3797`: Replaced ``Code.styles_list`` with :meth:`.Code.get_styles_list` + The ``styles_list`` attribute of the :class:`.Code` class has been replaced with + a class method :meth:`.Code.get_styles_list`. This method returns a list of all + available values for the ``formatter_style`` argument of :class:`.Code`. + + +* :pr:`3884`: Renamed parameters and variables conflicting with builtin functions + To avoid having keyword arguments named after builtin functions, the following + two changes were made to user-facing functions: + + - ``ManimColor.from_hex(hex=...)`` is now ``ManimColor.from_hex(hex_str=...)`` + - ``Scene.next_section(type=...)`` is now ``Scene.next_section(section_type=...)`` + + +* :pr:`3922`: Removed ``inner_radius`` and ``outer_radius`` from :class:`.Sector` constructor + To construct a :class:`.Sector`, you now need to specify a ``radius`` (and an ``angle``). + In particular, :class:`.AnnularSector` still accepts both ``inner_radius`` and ``outer_radius`` + arguments. + + +* :pr:`3964`: Allow :class:`.SurroundingRectangle` to accept multiple Mobjects + This changes the signature of :class:`.SurroundingRectangle` to accept + a sequence of Mobjects instead of a single Mobject. As a consequence, other + arguments that could be specified as positional ones before now need to be + specified as keyword arguments:: + + SurroundingRectangle(some_mobject, RED, 0.3) # raises error now + SurroundingRectangle(some_mobject, color=RED, buff=0.3) # correct usage + + +* :pr:`4115`: Completely rewrite the implementation of the :class:`.Code` mobject + This includes several breaking changes to the interface of the class to make it + more consistent. See the documentation of :class:`.Code` for a detailed description + of the new interface, and the description of the pull request :pr:`4115` for + an overview of changes to the old keyword arguments. + + +New features +------------ + +* :pr:`3148`: Added a ``colorscale`` argument to :meth:`.CoordinateSystem.plot` + + +* :pr:`3612`: Add three animations that together simulate a typing animation + + +* :pr:`3754`: Add ``@`` shorthand for :meth:`.Axes.coords_to_point` and :meth:`.Axes.point_to_coords` + + +* :pr:`3876`: Add :meth:`.Animation.set_default` class method + + +* :pr:`3903`: Preserve colors of LaTeX coloring commands + + +* :pr:`3913`: Added :mod:`.DVIPSNAMES` and :mod:`.SVGNAMES` color palettes + + +* :pr:`3933`: Added :class:`.ConvexHull`, :class:`.ConvexHull3D`, :class:`.Label` and :class:`.LabeledPolygram` + + +* :pr:`3992`: Add darker, lighter and contrasting methods to :class:`.ManimColor` + + +* :pr:`3997`: Add a time property to scene (:attr:`.Scene.time`) + + +* :pr:`4039`: Added the ``delay`` parameter to :func:`.turn_animation_into_updater` + + +Enhancements +------------ + +* :pr:`3829`: Rewrite :func:`~.bezier.get_quadratic_approximation_of_cubic` to produce smoother animated curves + + +* :pr:`3855`: Log execution time of sample scene in the ``manim checkhealth`` command + + +* :pr:`3888`: Significantly reduce rendering time with a separate thread for writing frames to stream + + +* :pr:`3890`: Better error messages for :class:`.DrawBorderThenFill` + + +* :pr:`3893`: Improve line rendering performance of :class:`.Cylinder` + + +* :pr:`3901`: Changed :attr:`.Square.side_length` attribute to a property + + +* :pr:`3965`: Added the ``scale_stroke`` boolean parameter to :meth:`.VMobject.scale` + + +* :pr:`3974`: Made videos embedded in Google Colab by default + + +* :pr:`3982`: Refactored ``run_time`` validation for :class:`.Animation` and :meth:`.Scene.wait` + + +* :pr:`4017`: Allow animations with ``run_time=0`` and implement convenience :class:`.Add` animation + + +* :pr:`4034`: Draw more accurate circular :class:`.Arc` mobjects for large angles + + +* :pr:`4051`: Add ``__hash__`` method to :class:`.ManimColor` + + +* :pr:`4108`: Remove duplicate declaration of ``__all__`` in :mod:`.vectorized_mobject` + + +Optimizations +------------- + +* :pr:`3760`: Optimize :meth:`.VMobject.pointwise_become_partial` + + +* :pr:`3765`: Optimize :class:`.VMobject` methods which append to ``points`` + + +* :pr:`3766`: Created and optimized Bézier splitting functions such as :func:`~.utils.bezier.partial_bezier_points()` in :mod:`manim.utils.bezier` + + +* :pr:`3767`: Optimized :func:`manim.utils.bezier.get_smooth_cubic_bezier_handle_points()` + + +* :pr:`3768`: Optimized :func:`manim.utils.bezier.is_closed` + + +* :pr:`3960`: Optimized :func:`~.bezier.interpolate` and :func:`~.bezier.bezier` in :mod:`manim.utils.bezier` + + + +Fixed bugs +---------- + +* :pr:`3706`: Fixed :meth:`.Line.put_start_and_end_on` to use the actual end of an :class:`.Arrow3D` + + +* :pr:`3732`: Fixed infinite loop in OpenGL :meth:`.BackgroundRectangle.get_color` + + +* :pr:`3756`: Fix assertions and improve error messages when adding submobjects + + +* :pr:`3778`: Fixed :func:`.there_and_back_with_pause` rate function behaviour with different ``pause_ratio`` values + + +* :pr:`3786`: Fix :class:`.DiGraph` edges not fading correctly on :class:`.FadeIn` and :class:`.FadeOut` + + +* :pr:`3790`: Fixed the :func:`.get_nth_subpath` function expecting a numpy array + + +* :pr:`3832`: Convert audio files to ``.wav`` before passing to pydub + + +* :pr:`3680`: Fixed behavior of ``config.background_opacity < 1`` + + +* :pr:`3839`: Fixed :attr:`.ManimConfig.format` not updating movie file extension + + +* :pr:`3885`: Fixed :meth:`.OpenGLMobject.invert` not reassembling family + + +* :pr:`3951`: Call :meth:`.Animation.finish` for animations in an :class:`.AnimationGroup` + + +* :pr:`4013`: Fixed scene skipping for :attr:`ManimConfig.upto_animation_number` set to 0 + + +* :pr:`4089`: Fixed bug with opacity of :class:`.ImageMobject` + + +* :pr:`4091`: Fixed :meth:`.VMobject.add_points_as_corners` to safely handle empty ``points`` parameter + + +Documentation-related changes +----------------------------- + +* :pr:`3669`: Added a :mod:`manim.typing` guide + + +* :pr:`3715`: Added docstrings to Brace + + +* :pr:`3745`: Underline tag should be ```` in the documentation + + +* :pr:`3818`: Automatically document usages of :class:`typing.TypeVar` + + +* :pr:`3849`: Fix incorrect ``versionadded`` version number in plugin section in docs + + +* :pr:`3851`: Rename ``manim.typing.Image`` type aliases to :class:`.PixelArray` to avoid conflict with ``PIL.Image`` + + +* :pr:`3857`: Update installation instructions for MacOS (via dedicated brew formula) + + +* :pr:`3878`: Fixed typehint in ``types.rst`` and replaced outdated reference to ``manim.typing.Image`` with :class:`manim.typing.PixelArray` + + +* :pr:`3924`: Fix ``SyntaxWarning`` when building docs + use Python 3.13 for readthedocs build + + +* :pr:`3958`: Fix: ``.to_edge``'s example demonstration in docs + + +* :pr:`3972`: Refining documentations for :mod:`.moving_camera_scene` module + + +* :pr:`4032`: Bump version and create changelog for ``v0.19.0`` + + +* :pr:`4044`: Added support for autodocumenting type aliases that use the ``type`` syntax + + +* :pr:`4065`: Polish documentation of :mod:`.utils.color.core` and remove ``interpolate_array`` function + + +* :pr:`4077`: Update README and documentation landing page, improve way how 3b1b is credited + + +* :pr:`4100`: Add wavy square example to :class:`.Homotopy` + + +* :pr:`4107`: Corrected a typo in the deep dive guide + + +* :pr:`4116`: Fix broken link to Poetry installation in contribution docs + + +Type Hints +---------- + +* :pr:`3751`: Added typehints to :mod:`manim.utils.iterables` + + +* :pr:`3803`: Added typings to :class:`.OpenGLMobject` + + +* :pr:`3902`: fixed a wrong type hint in :meth:`.Scene.restructure_mobjects` + + +* :pr:`3916`: fixed type hint in :meth:`.DrawBorderThenFill.interpolate_submobject` + + +* :pr:`3926`: Fixed some typehints of :class:`.ParametricFunction` + + +* :pr:`3940`: Fixed ``np.float_`` to ``np.float64`` while using numpy versions above 2.0 + + +* :pr:`3961`: Added typehints to :mod:`manim.mobject.geometry` + + +* :pr:`3980`: Added new :class:`.PointND` and :class:`.PointND_Array` type aliases + + +* :pr:`3988`: Added type hints to :mod:`manim.cli` module + + +* :pr:`3999`: Add type annotations to :mod:`manim.utils` + + +* :pr:`4006`: Stopped ignoring :mod:`manim.plugins` errors in ``mypy.ini`` + + +* :pr:`4007`: Added typings to :mod:`manim.__main__` + + +* :pr:`4027`: Rename ``InternalPoint3D`` to :class:`~.typing.Point3D`, ``Point3D`` to :class:`~.Point3DLike` and other point-related type aliases + + +* :pr:`4038`: Fixed type hint of :meth:`.Scene.play` to allow :attr:`.Mobject.animate` + + +Internal Improvements and Automation +------------------------------------ + +* :pr:`3737`: Fixed action for building downloadable documentation + + +* :pr:`3761`: Use ``--py39-plus`` in pre-commit + + +* :pr:`3777`: Add pyproject for ruff formatting + + +* :pr:`3779`: Switch pre-commit to use ``ruff`` for linting + + +* :pr:`3795`: Replace Pyupgrade with Ruff rule + + +* :pr:`3812`: Fix MacOS LaTeX CI + + +* :pr:`3853`: Change from tempconfig to a config fixture in tests + + +* :pr:`3858`: Update docker to use ENV x=y instead of ENV x y + + +* :pr:`3872`: Use ruff for pytest style + + +* :pr:`3873`: Use ruff instead of flake8-simplify + + +* :pr:`3877`: Fix pre-commit linting + + +* :pr:`3780`: Add Ruff Lint + + +* :pr:`3781`: Ignore Ruff format in git blame + + +* :pr:`3881`: Standardize docstrings with ruff pydocstyle rules + + +* :pr:`3882`: Change flake8-comprehensions and flake8-bugbear to ruff + + +* :pr:`3887`: Fix typo from HSV PR + + +* :pr:`3923`: Use Ruff pygrep rules + + +* :pr:`3925`: Use Github Markdown on README + + +* :pr:`3955`: Use ``subprocess`` instead of ``os.system``. + + +* :pr:`3956`: Set AAC codec for audio in mp4 files, add transcoding utility + + +* :pr:`4069`: Include Noto fonts in Docker image + + +* :pr:`4102`: Remove PT004 from Ruff ignore rules + + +Dependencies +------------ + +* :pr:`3739`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3746`: Bump tqdm from 4.66.1 to 4.66.3 + + +* :pr:`3750`: Bump jinja2 from 3.1.3 to 3.1.4 + + +* :pr:`3776`: Bump requests from 2.31.0 to 2.32.0 + + +* :pr:`3784`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3794`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3796`: Bump tornado from 6.4 to 6.4.1 + + +* :pr:`3801`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3809`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3810`: Bump urllib3 from 2.2.1 to 2.2.2 + + +* :pr:`3823`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3827`: Fix docker build + + +* :pr:`3834`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3835`: Bump docker/build-push-action from 5 to 6 + + +* :pr:`3841`: Bump certifi from 2024.2.2 to 2024.7.4 + + +* :pr:`3844`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3847`: Bump zipp from 3.18.2 to 3.19.1 + + +* :pr:`3865`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3880`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3889`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3895`: Lock `poetry.lock` + + +* :pr:`3896`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3904`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3911`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3918`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3929`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`3931`: Bump cryptography from 43.0.0 to 43.0.1 + + +* :pr:`3987`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`4023`: Bump tornado from 6.4.1 to 6.4.2 + + +* :pr:`4035`: [pre-commit.ci] pre-commit autoupdate + + +* :pr:`4037`: Cap ``pyav`` version diff --git a/poetry.lock b/poetry.lock index 5fcae2825b..576d568faf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,9 +1,10 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry and should not be changed by hand. [[package]] name = "alabaster" version = "0.7.16" description = "A light, configurable Sphinx theme" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -15,6 +16,7 @@ files = [ name = "anyio" version = "4.8.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -37,6 +39,7 @@ trio = ["trio (>=0.26.1)"] name = "appnope" version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -48,6 +51,7 @@ files = [ name = "argon2-cffi" version = "23.1.0" description = "Argon2 for Python" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -68,6 +72,7 @@ typing = ["mypy"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -105,6 +110,7 @@ tests = ["pytest"] name = "arrow" version = "1.3.0" description = "Better dates & times for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -118,12 +124,13 @@ types-python-dateutil = ">=2.8.10" [package.extras] doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] +test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] [[package]] name = "asttokens" version = "3.0.0" description = "Annotate AST trees with source code positions" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -139,6 +146,7 @@ test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] name = "async-lru" version = "2.0.4" description = "Simple LRU cache for asyncio" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -153,6 +161,7 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} name = "attrs" version = "24.3.0" description = "Classes Without Boilerplate" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -172,6 +181,7 @@ tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] name = "audioop-lts" version = "0.2.1" description = "LTS Port of Python audioop" +category = "main" optional = false python-versions = ">=3.13" files = [ @@ -214,6 +224,7 @@ files = [ name = "av" version = "13.1.0" description = "Pythonic bindings for FFmpeg's libraries." +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -266,6 +277,7 @@ files = [ name = "babel" version = "2.16.0" description = "Internationalization utilities" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -280,6 +292,7 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "beautifulsoup4" version = "4.12.3" description = "Screen-scraping library" +category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -301,6 +314,7 @@ lxml = ["lxml"] name = "bleach" version = "6.2.0" description = "An easy safelist-based HTML-sanitizing tool." +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -319,6 +333,7 @@ css = ["tinycss2 (>=1.1.0,<1.5)"] name = "certifi" version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -330,6 +345,7 @@ files = [ name = "cffi" version = "1.17.1" description = "Foreign Function Interface for Python calling C code." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -409,6 +425,7 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -420,6 +437,7 @@ files = [ name = "charset-normalizer" version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -521,6 +539,7 @@ files = [ name = "click" version = "8.1.8" description = "Composable command line interface toolkit" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -535,6 +554,7 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "cloup" version = "3.0.5" description = "Adds features to Click: option groups, constraints, subcommand sections and help themes." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -549,6 +569,7 @@ click = ">=8.0,<9.0" name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -560,6 +581,7 @@ files = [ name = "comm" version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -577,6 +599,7 @@ test = ["pytest"] name = "contourpy" version = "1.3.0" description = "Python library for calculating contours of 2D quadrilateral grids" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -661,6 +684,7 @@ test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist" name = "coverage" version = "7.6.10" description = "Code coverage measurement for Python" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -738,6 +762,7 @@ toml = ["tomli"] name = "cryptography" version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -787,6 +812,7 @@ test-randomorder = ["pytest-randomly"] name = "cycler" version = "0.12.1" description = "Composable style cycles" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -802,6 +828,7 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] name = "cython" version = "3.0.11" description = "The Cython compiler for writing C extensions in the Python language." +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -877,6 +904,7 @@ files = [ name = "dearpygui" version = "2.0.0" description = "DearPyGui: A simple Python GUI Toolkit" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -908,6 +936,7 @@ files = [ name = "debugpy" version = "1.8.12" description = "An implementation of the Debug Adapter Protocol for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -943,6 +972,7 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" +category = "main" optional = false python-versions = ">=3.5" files = [ @@ -954,6 +984,7 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -965,6 +996,7 @@ files = [ name = "deprecated" version = "1.2.15" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -982,6 +1014,7 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", " name = "distlib" version = "0.3.9" description = "Distribution utilities" +category = "dev" optional = false python-versions = "*" files = [ @@ -993,6 +1026,7 @@ files = [ name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1004,6 +1038,7 @@ files = [ name = "exceptiongroup" version = "1.2.2" description = "Backport of PEP 654 (exception groups)" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1018,6 +1053,7 @@ test = ["pytest (>=6)"] name = "execnet" version = "2.1.1" description = "execnet: rapid multi-Python deployment" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1032,6 +1068,7 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] name = "executing" version = "2.1.0" description = "Get the currently executing AST node of a frame, and other information" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1046,6 +1083,7 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "fastjsonschema" version = "2.21.1" description = "Fastest Python implementation of JSON schema" +category = "main" optional = true python-versions = "*" files = [ @@ -1060,6 +1098,7 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc name = "filelock" version = "3.16.1" description = "A platform independent file lock." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1076,6 +1115,7 @@ typing = ["typing-extensions (>=4.12.2)"] name = "fonttools" version = "4.55.3" description = "Tools to manipulate font files" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1149,6 +1189,7 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "fqdn" version = "1.4.0" description = "Validate fully-qualified domain names compliant to RFC 1035 and the preferred form in RFC 3686 s. 2." +category = "main" optional = true python-versions = "*" files = [ @@ -1160,6 +1201,7 @@ files = [ name = "furo" version = "2023.9.10" description = "A clean customisable Sphinx documentation theme." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1177,6 +1219,7 @@ sphinx-basic-ng = "*" name = "gitdb" version = "4.0.12" description = "Git Object Database" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1191,6 +1234,7 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1209,6 +1253,7 @@ test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", name = "glcontext" version = "3.0.0" description = "Portable Headless OpenGL Context" +category = "main" optional = false python-versions = "*" files = [ @@ -1282,6 +1327,7 @@ files = [ name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1293,6 +1339,7 @@ files = [ name = "httpcore" version = "1.0.7" description = "A minimal low-level HTTP client." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1307,13 +1354,14 @@ h11 = ">=0.13,<0.15" [package.extras] asyncio = ["anyio (>=4.0,<5.0)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" version = "0.28.1" description = "The next generation HTTP client." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1324,20 +1372,21 @@ files = [ [package.dependencies] anyio = "*" certifi = "*" -httpcore = "==1.*" +httpcore = ">=1.0.0,<2.0.0" idna = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] +socks = ["socksio (>=1.0.0,<2.0.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "identify" version = "2.6.5" description = "File identification library for Python" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -1352,6 +1401,7 @@ license = ["ukkonen"] name = "idna" version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1366,6 +1416,7 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1377,6 +1428,7 @@ files = [ name = "importlib-metadata" version = "8.5.0" description = "Read metadata from Python packages" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1400,6 +1452,7 @@ type = ["pytest-mypy"] name = "importlib-resources" version = "6.5.2" description = "Read resources from Python packages" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -1422,6 +1475,7 @@ type = ["pytest-mypy"] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1433,6 +1487,7 @@ files = [ name = "ipykernel" version = "6.29.5" description = "IPython Kernel for Jupyter" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1446,7 +1501,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1466,6 +1521,7 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio name = "ipython" version = "8.18.1" description = "IPython: Productive Interactive Computing" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1503,6 +1559,7 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa name = "isoduration" version = "20.11.0" description = "Operations with ISO 8601 durations" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1517,6 +1574,7 @@ arrow = ">=0.15.0" name = "isort" version = "5.13.2" description = "A Python utility / library to sort Python imports." +category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1531,6 +1589,7 @@ colors = ["colorama (>=0.4.6)"] name = "isosurfaces" version = "0.1.2" description = "Construct isolines/isosurfaces over a 2D/3D scalar field defined by a function (not a uniform grid)" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1545,6 +1604,7 @@ numpy = "*" name = "jedi" version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1564,6 +1624,7 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] name = "jinja2" version = "3.1.5" description = "A very fast and expressive template engine." +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1581,6 +1642,7 @@ i18n = ["Babel (>=2.7)"] name = "json5" version = "0.10.0" description = "A Python implementation of the JSON5 data format." +category = "main" optional = true python-versions = ">=3.8.0" files = [ @@ -1595,6 +1657,7 @@ dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (= name = "jsonpointer" version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1606,6 +1669,7 @@ files = [ name = "jsonschema" version = "4.23.0" description = "An implementation of JSON Schema validation for Python" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1635,6 +1699,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2024.10.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1649,6 +1714,7 @@ referencing = ">=0.31.0" name = "jupyter-client" version = "8.6.3" description = "Jupyter protocol implementation and client libraries" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1658,7 +1724,7 @@ files = [ [package.dependencies] importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" @@ -1672,6 +1738,7 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt name = "jupyter-core" version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1692,6 +1759,7 @@ test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout" name = "jupyter-events" version = "0.11.0" description = "Jupyter Event System library" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1717,6 +1785,7 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p name = "jupyter-lsp" version = "2.2.5" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1732,6 +1801,7 @@ jupyter-server = ">=1.1.2" name = "jupyter-server" version = "2.15.0" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1744,7 +1814,7 @@ anyio = ">=3.1.0" argon2-cffi = ">=21.1" jinja2 = ">=3.0.3" jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" jupyter-events = ">=0.11.0" jupyter-server-terminals = ">=0.4.4" nbconvert = ">=6.4.4" @@ -1768,6 +1838,7 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console name = "jupyter-server-terminals" version = "0.5.3" description = "A Jupyter Server Extension Providing Terminals." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1787,6 +1858,7 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> name = "jupyterlab" version = "4.3.4" description = "JupyterLab computational environment" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1822,6 +1894,7 @@ upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)" name = "jupyterlab-pygments" version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1833,6 +1906,7 @@ files = [ name = "jupyterlab-server" version = "2.27.3" description = "A set of server components for JupyterLab and JupyterLab like applications." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1859,6 +1933,7 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v name = "kiwisolver" version = "1.4.7" description = "A fast implementation of the Cassowary constraint solver" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1982,6 +2057,7 @@ files = [ name = "manimpango" version = "0.6.0" description = "Bindings for Pango for using with Manim." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2012,6 +2088,7 @@ files = [ name = "mapbox-earcut" version = "1.0.3" description = "Python bindings for the mapbox earcut C++ polygon triangulation library" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2063,6 +2140,7 @@ numpy = "*" name = "markdown-it-py" version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2087,6 +2165,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2157,6 +2236,7 @@ files = [ name = "matplotlib" version = "3.9.4" description = "Python plotting package" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -2222,6 +2302,7 @@ dev = ["meson-python (>=0.13.1,<0.17.0)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2 name = "matplotlib-inline" version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2236,6 +2317,7 @@ traitlets = "*" name = "mdit-py-plugins" version = "0.4.2" description = "Collection of plugins for markdown-it-py" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2255,6 +2337,7 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2266,6 +2349,7 @@ files = [ name = "mistune" version = "3.1.0" description = "A sane and fast Markdown parser with useful plugins and renderers" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2280,6 +2364,7 @@ typing-extensions = {version = "*", markers = "python_version < \"3.11\""} name = "moderngl" version = "5.12.0" description = "ModernGL: High performance rendering for Python 3" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2344,6 +2429,7 @@ headless = ["glcontext (>=3.0.0)"] name = "moderngl-window" version = "3.1.1" description = "A cross platform helper library for ModernGL making window creation and resource loading simple" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2379,6 +2465,7 @@ trimesh = ["trimesh (>=3.2.6)"] name = "myst-parser" version = "2.0.0" description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2405,6 +2492,7 @@ testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4, name = "nbclient" version = "0.10.2" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +category = "main" optional = true python-versions = ">=3.9.0" files = [ @@ -2414,7 +2502,7 @@ files = [ [package.dependencies] jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" nbformat = ">=5.1" traitlets = ">=5.4" @@ -2427,6 +2515,7 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= name = "nbconvert" version = "7.16.5" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2464,6 +2553,7 @@ webpdf = ["playwright"] name = "nbformat" version = "5.10.4" description = "The Jupyter Notebook format" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2474,7 +2564,7 @@ files = [ [package.dependencies] fastjsonschema = ">=2.15" jsonschema = ">=2.6" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" traitlets = ">=5.1" [package.extras] @@ -2485,6 +2575,7 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] name = "nest-asyncio" version = "1.6.0" description = "Patch asyncio to allow nested event loops" +category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2496,6 +2587,7 @@ files = [ name = "networkx" version = "3.2.1" description = "Python package for creating and manipulating graphs and networks" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2514,6 +2606,7 @@ test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nodeenv" version = "1.9.1" description = "Node.js virtual environment builder" +category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -2525,6 +2618,7 @@ files = [ name = "notebook" version = "7.3.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2548,6 +2642,7 @@ test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4 name = "notebook-shim" version = "0.2.4" description = "A shim layer for notebook traits and config" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2565,6 +2660,7 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" name = "numpy" version = "2.0.2" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2619,6 +2715,7 @@ files = [ name = "numpy" version = "2.2.2" description = "Fundamental package for array computing in Python" +category = "main" optional = false python-versions = ">=3.10" files = [ @@ -2683,6 +2780,7 @@ files = [ name = "overrides" version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2694,6 +2792,7 @@ files = [ name = "packaging" version = "24.2" description = "Core utilities for Python packages" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2705,6 +2804,7 @@ files = [ name = "pandocfilters" version = "1.5.1" description = "Utilities for writing pandoc filters in python" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2716,6 +2816,7 @@ files = [ name = "parso" version = "0.8.4" description = "A Python Parser" +category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2731,6 +2832,7 @@ testing = ["docopt", "pytest"] name = "pexpect" version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." +category = "main" optional = true python-versions = "*" files = [ @@ -2745,6 +2847,7 @@ ptyprocess = ">=0.5" name = "pillow" version = "11.1.0" description = "Python Imaging Library (Fork)" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2833,6 +2936,7 @@ xmp = ["defusedxml"] name = "platformdirs" version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2849,6 +2953,7 @@ type = ["mypy (>=1.11.2)"] name = "pluggy" version = "1.5.0" description = "plugin and hook calling mechanisms for python" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2864,6 +2969,7 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -2882,6 +2988,7 @@ virtualenv = ">=20.10.0" name = "prometheus-client" version = "0.21.1" description = "Python client for the Prometheus monitoring system." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2896,6 +3003,7 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.48" description = "Library for building powerful interactive command lines in Python" +category = "main" optional = true python-versions = ">=3.7.0" files = [ @@ -2910,6 +3018,7 @@ wcwidth = "*" name = "psutil" version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -2938,6 +3047,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psutil-wheels" version = "5.8.0" description = "Cross-platform lib for process and system monitoring in Python." +category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2963,6 +3073,7 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "unittest2", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" +category = "main" optional = true python-versions = "*" files = [ @@ -2974,6 +3085,7 @@ files = [ name = "pure-eval" version = "0.2.3" description = "Safely evaluate AST nodes without side effects" +category = "main" optional = true python-versions = "*" files = [ @@ -2988,6 +3100,7 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -2999,6 +3112,7 @@ files = [ name = "pycairo" version = "1.27.0" description = "Python interface for cairo" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3019,6 +3133,7 @@ files = [ name = "pycparser" version = "2.22" description = "C parser in Python" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3030,6 +3145,7 @@ files = [ name = "pydub" version = "0.25.1" description = "Manipulate audio with an simple and easy high level interface" +category = "main" optional = false python-versions = "*" files = [ @@ -3041,6 +3157,7 @@ files = [ name = "pygithub" version = "2.5.0" description = "Use the full Github API v3" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3060,6 +3177,7 @@ urllib3 = ">=1.26.0" name = "pyglet" version = "2.1.0" description = "pyglet is a cross-platform games and multimedia package." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3071,6 +3189,7 @@ files = [ name = "pyglm" version = "2.7.3" description = "OpenGL Mathematics library for Python" +category = "main" optional = false python-versions = "*" files = [ @@ -3161,6 +3280,7 @@ files = [ name = "pygments" version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3175,6 +3295,7 @@ windows-terminal = ["colorama (>=0.4.6)"] name = "pyjwt" version = "2.10.1" description = "JSON Web Token implementation in Python" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -3195,6 +3316,7 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3221,6 +3343,7 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyobjc-core" version = "11.0" description = "Python<->ObjC Interoperability Module" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3237,6 +3360,7 @@ files = [ name = "pyobjc-framework-cocoa" version = "11.0" description = "Wrappers for the Cocoa frameworks on macOS" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3256,6 +3380,7 @@ pyobjc-core = ">=11.0" name = "pyparsing" version = "3.2.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -3270,6 +3395,7 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pytest" version = "8.3.4" description = "pytest: simple powerful testing with Python" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3292,6 +3418,7 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments name = "pytest-cov" version = "4.1.0" description = "Pytest plugin for measuring coverage." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3310,6 +3437,7 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "pytest-forked" version = "1.6.0" description = "run tests in isolated forked subprocesses" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3325,6 +3453,7 @@ pytest = ">=3.10" name = "pytest-xdist" version = "2.5.0" description = "pytest xdist plugin for distributed testing and loop-on-failing modes" +category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3346,6 +3475,7 @@ testing = ["filelock"] name = "python-dateutil" version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3360,6 +3490,7 @@ six = ">=1.5" name = "python-json-logger" version = "3.2.1" description = "JSON Log Formatter for the Python Logging Package" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3377,6 +3508,7 @@ dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_list name = "pywin32" version = "308" description = "Python for Window Extensions" +category = "main" optional = true python-versions = "*" files = [ @@ -3404,6 +3536,7 @@ files = [ name = "pywinpty" version = "2.0.14" description = "Pseudo terminal support for Windows from Python." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3419,6 +3552,7 @@ files = [ name = "pyyaml" version = "6.0.2" description = "YAML parser and emitter for Python" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3481,6 +3615,7 @@ files = [ name = "pyzmq" version = "26.2.0" description = "Python bindings for 0MQ" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3602,6 +3737,7 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "referencing" version = "0.36.1" description = "JSON Referencing + Python" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -3618,6 +3754,7 @@ typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} name = "requests" version = "2.32.3" description = "Python HTTP for Humans." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3639,6 +3776,7 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3653,6 +3791,7 @@ six = "*" name = "rfc3986-validator" version = "0.1.1" description = "Pure python rfc3986 validator" +category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3664,6 +3803,7 @@ files = [ name = "rich" version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -3683,6 +3823,7 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rpds-py" version = "0.22.3" description = "Python bindings to Rust's persistent data structures (rpds)" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -3795,6 +3936,7 @@ files = [ name = "ruff" version = "0.9.2" description = "An extremely fast Python linter and code formatter, written in Rust." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3822,6 +3964,7 @@ files = [ name = "scipy" version = "1.13.1" description = "Fundamental algorithms for scientific computing in Python" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3864,6 +4007,7 @@ test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "po name = "scipy" version = "1.15.1" description = "Fundamental algorithms for scientific computing in Python" +category = "main" optional = false python-versions = ">=3.10" files = [ @@ -3921,6 +4065,7 @@ test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis name = "screeninfo" version = "0.7" description = "Fetch location and size of physical screens." +category = "main" optional = false python-versions = "*" files = [ @@ -3935,6 +4080,7 @@ pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} name = "send2trash" version = "1.8.3" description = "Send file to trash natively under Mac OS X, Windows and Linux" +category = "main" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -3951,6 +4097,7 @@ win32 = ["pywin32"] name = "setuptools" version = "75.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -3965,12 +4112,13 @@ cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.14.0,<1.15.0)", "pytest-mypy"] [[package]] name = "six" version = "1.17.0" description = "Python 2 and 3 compatibility utilities" +category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3982,6 +4130,7 @@ files = [ name = "skia-pathops" version = "0.8.0.post2" description = "Python access to operations on paths using the Skia library" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4040,6 +4189,7 @@ testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] name = "smmap" version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4051,6 +4201,7 @@ files = [ name = "sniffio" version = "1.3.1" description = "Sniff out which async library your code is running under" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4062,6 +4213,7 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." +category = "dev" optional = false python-versions = "*" files = [ @@ -4073,6 +4225,7 @@ files = [ name = "soupsieve" version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4084,6 +4237,7 @@ files = [ name = "sphinx" version = "7.4.7" description = "Python documentation generator" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4120,6 +4274,7 @@ test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools name = "sphinx-basic-ng" version = "1.0.0b2" description = "A modern skeleton for Sphinx themes." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4137,6 +4292,7 @@ docs = ["furo", "ipython", "myst-parser", "sphinx-copybutton", "sphinx-inline-ta name = "sphinx-copybutton" version = "0.5.2" description = "Add a copy button to each of your code cells." +category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4155,6 +4311,7 @@ rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"] name = "sphinx-design" version = "0.6.1" description = "A sphinx extension for designing beautiful, view size responsive web components." +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4180,6 +4337,7 @@ theme-sbt = ["sphinx-book-theme (>=1.1,<2.0)"] name = "sphinx-reredirects" version = "0.1.5" description = "Handles redirects for moved pages in Sphinx documentation projects" +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4194,6 +4352,7 @@ sphinx = ">=7.1" name = "sphinxcontrib-applehelp" version = "2.0.0" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4210,6 +4369,7 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "2.0.0" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4226,6 +4386,7 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.1.0" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4242,6 +4403,7 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" +category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4256,6 +4418,7 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-programoutput" version = "0.17" description = "Sphinx extension to include program output" +category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -4270,6 +4433,7 @@ Sphinx = ">=1.7.0" name = "sphinxcontrib-qthelp" version = "2.0.0" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4286,6 +4450,7 @@ test = ["defusedxml (>=0.7.1)", "pytest"] name = "sphinxcontrib-serializinghtml" version = "2.0.0" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" +category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4302,6 +4467,7 @@ test = ["pytest"] name = "sphinxext-opengraph" version = "0.9.1" description = "Sphinx Extension to enable OGP support" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4316,6 +4482,7 @@ sphinx = ">=4.0" name = "srt" version = "3.5.3" description = "A tiny library for parsing, modifying, and composing SRT files." +category = "main" optional = false python-versions = ">=2.7" files = [ @@ -4326,6 +4493,7 @@ files = [ name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" +category = "main" optional = true python-versions = "*" files = [ @@ -4345,6 +4513,7 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "svgelements" version = "1.9.6" description = "Svg Elements Parsing" +category = "main" optional = false python-versions = "*" files = [ @@ -4356,6 +4525,7 @@ files = [ name = "terminado" version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4377,6 +4547,7 @@ typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] name = "tinycss2" version = "1.4.0" description = "A tiny CSS parser" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4395,6 +4566,7 @@ test = ["pytest", "ruff"] name = "tomli" version = "2.2.1" description = "A lil' TOML parser" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4436,6 +4608,7 @@ files = [ name = "tornado" version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4456,6 +4629,7 @@ files = [ name = "tqdm" version = "4.67.1" description = "Fast, Extensible Progress Meter" +category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4477,6 +4651,7 @@ telegram = ["requests"] name = "traitlets" version = "5.14.3" description = "Traitlets Python configuration system" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4492,6 +4667,7 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, name = "types-decorator" version = "0.1.7" description = "Typing stubs for decorator" +category = "dev" optional = false python-versions = "*" files = [ @@ -4503,6 +4679,7 @@ files = [ name = "types-docutils" version = "0.21.0.20241128" description = "Typing stubs for docutils" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4514,6 +4691,7 @@ files = [ name = "types-pillow" version = "10.2.0.20240822" description = "Typing stubs for Pillow" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4525,6 +4703,7 @@ files = [ name = "types-pygments" version = "2.19.0.20250107" description = "Typing stubs for Pygments" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4540,6 +4719,7 @@ types-setuptools = "*" name = "types-python-dateutil" version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4551,6 +4731,7 @@ files = [ name = "types-setuptools" version = "75.8.0.20250110" description = "Typing stubs for setuptools" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4562,6 +4743,7 @@ files = [ name = "typing-extensions" version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" +category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4573,6 +4755,7 @@ files = [ name = "uri-template" version = "1.3.0" description = "RFC 6570 URI Template Processor" +category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4587,6 +4770,7 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake name = "urllib3" version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4604,6 +4788,7 @@ zstd = ["zstandard (>=0.18.0)"] name = "virtualenv" version = "20.29.1" description = "Virtual Python Environment builder" +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4624,6 +4809,7 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "watchdog" version = "6.0.0" description = "Filesystem events monitoring" +category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4666,6 +4852,7 @@ watchmedo = ["PyYAML (>=3.10)"] name = "wcwidth" version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" +category = "main" optional = true python-versions = "*" files = [ @@ -4677,6 +4864,7 @@ files = [ name = "webcolors" version = "24.11.1" description = "A library for working with the color formats defined by HTML and CSS." +category = "main" optional = true python-versions = ">=3.9" files = [ @@ -4688,6 +4876,7 @@ files = [ name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" +category = "main" optional = true python-versions = "*" files = [ @@ -4699,6 +4888,7 @@ files = [ name = "websocket-client" version = "1.8.0" description = "WebSocket client for Python with low level API options" +category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4715,6 +4905,7 @@ test = ["websockets"] name = "wrapt" version = "1.17.2" description = "Module for decorators, wrappers and monkey patching." +category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4803,6 +4994,7 @@ files = [ name = "zipp" version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" optional = false python-versions = ">=3.9" files = [ diff --git a/pyproject.toml b/pyproject.toml index da095bbc0a..9b2360f236 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "manim" -version = "0.18.1" +version = "0.19.0" description = "Animation engine for explanatory math videos." authors = ["The Manim Community Developers ", "3b1b "] license="MIT" From 106b849a6d7c0529fb1a3be316c17af7d82970d8 Mon Sep 17 00:00:00 2001 From: Aarush Deshpande <110117391+JasonGrace2282@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:37:26 -0500 Subject: [PATCH 2/5] Bump typing extensions minimum version (#4121) --- poetry.lock | 232 +++++-------------------------------------------- pyproject.toml | 2 +- 2 files changed, 21 insertions(+), 213 deletions(-) diff --git a/poetry.lock b/poetry.lock index 576d568faf..d93a272bc8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "alabaster" version = "0.7.16" description = "A light, configurable Sphinx theme" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -16,7 +15,6 @@ files = [ name = "anyio" version = "4.8.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -39,7 +37,6 @@ trio = ["trio (>=0.26.1)"] name = "appnope" version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -51,7 +48,6 @@ files = [ name = "argon2-cffi" version = "23.1.0" description = "Argon2 for Python" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -72,7 +68,6 @@ typing = ["mypy"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -110,7 +105,6 @@ tests = ["pytest"] name = "arrow" version = "1.3.0" description = "Better dates & times for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -124,13 +118,12 @@ types-python-dateutil = ">=2.8.10" [package.extras] doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (>=1.0.0,<2.0.0)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (>=3.0.0,<4.0.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] [[package]] name = "asttokens" version = "3.0.0" description = "Annotate AST trees with source code positions" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -146,7 +139,6 @@ test = ["astroid (>=2,<4)", "pytest", "pytest-cov", "pytest-xdist"] name = "async-lru" version = "2.0.4" description = "Simple LRU cache for asyncio" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -161,7 +153,6 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} name = "attrs" version = "24.3.0" description = "Classes Without Boilerplate" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -181,7 +172,6 @@ tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] name = "audioop-lts" version = "0.2.1" description = "LTS Port of Python audioop" -category = "main" optional = false python-versions = ">=3.13" files = [ @@ -224,7 +214,6 @@ files = [ name = "av" version = "13.1.0" description = "Pythonic bindings for FFmpeg's libraries." -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -277,7 +266,6 @@ files = [ name = "babel" version = "2.16.0" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -292,7 +280,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "beautifulsoup4" version = "4.12.3" description = "Screen-scraping library" -category = "main" optional = false python-versions = ">=3.6.0" files = [ @@ -314,7 +301,6 @@ lxml = ["lxml"] name = "bleach" version = "6.2.0" description = "An easy safelist-based HTML-sanitizing tool." -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -333,7 +319,6 @@ css = ["tinycss2 (>=1.1.0,<1.5)"] name = "certifi" version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -345,7 +330,6 @@ files = [ name = "cffi" version = "1.17.1" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -425,7 +409,6 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -437,7 +420,6 @@ files = [ name = "charset-normalizer" version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -539,7 +521,6 @@ files = [ name = "click" version = "8.1.8" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -554,7 +535,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "cloup" version = "3.0.5" description = "Adds features to Click: option groups, constraints, subcommand sections and help themes." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -569,7 +549,6 @@ click = ">=8.0,<9.0" name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -581,7 +560,6 @@ files = [ name = "comm" version = "0.2.2" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -599,7 +577,6 @@ test = ["pytest"] name = "contourpy" version = "1.3.0" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -684,7 +661,6 @@ test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist" name = "coverage" version = "7.6.10" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -762,7 +738,6 @@ toml = ["tomli"] name = "cryptography" version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -812,7 +787,6 @@ test-randomorder = ["pytest-randomly"] name = "cycler" version = "0.12.1" description = "Composable style cycles" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -828,7 +802,6 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] name = "cython" version = "3.0.11" description = "The Cython compiler for writing C extensions in the Python language." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -904,7 +877,6 @@ files = [ name = "dearpygui" version = "2.0.0" description = "DearPyGui: A simple Python GUI Toolkit" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -936,7 +908,6 @@ files = [ name = "debugpy" version = "1.8.12" description = "An implementation of the Debug Adapter Protocol for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -972,7 +943,6 @@ files = [ name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -984,7 +954,6 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -996,7 +965,6 @@ files = [ name = "deprecated" version = "1.2.15" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ @@ -1014,7 +982,6 @@ dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", " name = "distlib" version = "0.3.9" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -1026,7 +993,6 @@ files = [ name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1038,7 +1004,6 @@ files = [ name = "exceptiongroup" version = "1.2.2" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1053,7 +1018,6 @@ test = ["pytest (>=6)"] name = "execnet" version = "2.1.1" description = "execnet: rapid multi-Python deployment" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1068,7 +1032,6 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] name = "executing" version = "2.1.0" description = "Get the currently executing AST node of a frame, and other information" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1083,7 +1046,6 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "fastjsonschema" version = "2.21.1" description = "Fastest Python implementation of JSON schema" -category = "main" optional = true python-versions = "*" files = [ @@ -1098,7 +1060,6 @@ devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benc name = "filelock" version = "3.16.1" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1115,7 +1076,6 @@ typing = ["typing-extensions (>=4.12.2)"] name = "fonttools" version = "4.55.3" description = "Tools to manipulate font files" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1189,7 +1149,6 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "fqdn" version = "1.4.0" description = "Validate fully-qualified domain names compliant to RFC 1035 and the preferred form in RFC 3686 s. 2." -category = "main" optional = true python-versions = "*" files = [ @@ -1201,7 +1160,6 @@ files = [ name = "furo" version = "2023.9.10" description = "A clean customisable Sphinx documentation theme." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -1219,7 +1177,6 @@ sphinx-basic-ng = "*" name = "gitdb" version = "4.0.12" description = "Git Object Database" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1234,7 +1191,6 @@ smmap = ">=3.0.1,<6" name = "gitpython" version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1253,7 +1209,6 @@ test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", name = "glcontext" version = "3.0.0" description = "Portable Headless OpenGL Context" -category = "main" optional = false python-versions = "*" files = [ @@ -1327,7 +1282,6 @@ files = [ name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1339,7 +1293,6 @@ files = [ name = "httpcore" version = "1.0.7" description = "A minimal low-level HTTP client." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1354,14 +1307,13 @@ h11 = ">=0.13,<0.15" [package.extras] asyncio = ["anyio (>=4.0,<5.0)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] trio = ["trio (>=0.22.0,<1.0)"] [[package]] name = "httpx" version = "0.28.1" description = "The next generation HTTP client." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1372,21 +1324,20 @@ files = [ [package.dependencies] anyio = "*" certifi = "*" -httpcore = ">=1.0.0,<2.0.0" +httpcore = "==1.*" idna = "*" [package.extras] brotli = ["brotli", "brotlicffi"] -cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<14)"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] http2 = ["h2 (>=3,<5)"] -socks = ["socksio (>=1.0.0,<2.0.0)"] +socks = ["socksio (==1.*)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "identify" version = "2.6.5" description = "File identification library for Python" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -1401,7 +1352,6 @@ license = ["ukkonen"] name = "idna" version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1416,7 +1366,6 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1428,7 +1377,6 @@ files = [ name = "importlib-metadata" version = "8.5.0" description = "Read metadata from Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1452,7 +1400,6 @@ type = ["pytest-mypy"] name = "importlib-resources" version = "6.5.2" description = "Read resources from Python packages" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -1475,7 +1422,6 @@ type = ["pytest-mypy"] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1487,7 +1433,6 @@ files = [ name = "ipykernel" version = "6.29.5" description = "IPython Kernel for Jupyter" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1501,7 +1446,7 @@ comm = ">=0.1.1" debugpy = ">=1.6.5" ipython = ">=7.23.1" jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" @@ -1521,7 +1466,6 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio name = "ipython" version = "8.18.1" description = "IPython: Productive Interactive Computing" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1559,7 +1503,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pa name = "isoduration" version = "20.11.0" description = "Operations with ISO 8601 durations" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1574,7 +1517,6 @@ arrow = ">=0.15.0" name = "isort" version = "5.13.2" description = "A Python utility / library to sort Python imports." -category = "dev" optional = false python-versions = ">=3.8.0" files = [ @@ -1589,7 +1531,6 @@ colors = ["colorama (>=0.4.6)"] name = "isosurfaces" version = "0.1.2" description = "Construct isolines/isosurfaces over a 2D/3D scalar field defined by a function (not a uniform grid)" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1604,7 +1545,6 @@ numpy = "*" name = "jedi" version = "0.19.2" description = "An autocompletion tool for Python that can be used for text editors." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -1624,7 +1564,6 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<9.0.0)"] name = "jinja2" version = "3.1.5" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1642,7 +1581,6 @@ i18n = ["Babel (>=2.7)"] name = "json5" version = "0.10.0" description = "A Python implementation of the JSON5 data format." -category = "main" optional = true python-versions = ">=3.8.0" files = [ @@ -1657,7 +1595,6 @@ dev = ["build (==1.2.2.post1)", "coverage (==7.5.3)", "mypy (==1.13.0)", "pip (= name = "jsonpointer" version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -1669,7 +1606,6 @@ files = [ name = "jsonschema" version = "4.23.0" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1699,7 +1635,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2024.10.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1714,7 +1649,6 @@ referencing = ">=0.31.0" name = "jupyter-client" version = "8.6.3" description = "Jupyter protocol implementation and client libraries" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1724,7 +1658,7 @@ files = [ [package.dependencies] importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.10\""} -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" python-dateutil = ">=2.8.2" pyzmq = ">=23.0" tornado = ">=6.2" @@ -1738,7 +1672,6 @@ test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pyt name = "jupyter-core" version = "5.7.2" description = "Jupyter core package. A base package on which Jupyter projects rely." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1759,7 +1692,6 @@ test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout" name = "jupyter-events" version = "0.11.0" description = "Jupyter Event System library" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1785,7 +1717,6 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p name = "jupyter-lsp" version = "2.2.5" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1801,7 +1732,6 @@ jupyter-server = ">=1.1.2" name = "jupyter-server" version = "2.15.0" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -1814,7 +1744,7 @@ anyio = ">=3.1.0" argon2-cffi = ">=21.1" jinja2 = ">=3.0.3" jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" jupyter-events = ">=0.11.0" jupyter-server-terminals = ">=0.4.4" nbconvert = ">=6.4.4" @@ -1838,7 +1768,6 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console name = "jupyter-server-terminals" version = "0.5.3" description = "A Jupyter Server Extension Providing Terminals." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1858,7 +1787,6 @@ test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (> name = "jupyterlab" version = "4.3.4" description = "JupyterLab computational environment" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1894,7 +1822,6 @@ upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)" name = "jupyterlab-pygments" version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1906,7 +1833,6 @@ files = [ name = "jupyterlab-server" version = "2.27.3" description = "A set of server components for JupyterLab and JupyterLab like applications." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -1933,7 +1859,6 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v name = "kiwisolver" version = "1.4.7" description = "A fast implementation of the Cassowary constraint solver" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2057,7 +1982,6 @@ files = [ name = "manimpango" version = "0.6.0" description = "Bindings for Pango for using with Manim." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2088,7 +2012,6 @@ files = [ name = "mapbox-earcut" version = "1.0.3" description = "Python bindings for the mapbox earcut C++ polygon triangulation library" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2140,7 +2063,6 @@ numpy = "*" name = "markdown-it-py" version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2165,7 +2087,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "markupsafe" version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2236,7 +2157,6 @@ files = [ name = "matplotlib" version = "3.9.4" description = "Python plotting package" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -2302,7 +2222,6 @@ dev = ["meson-python (>=0.13.1,<0.17.0)", "numpy (>=1.25)", "pybind11 (>=2.6,!=2 name = "matplotlib-inline" version = "0.1.7" description = "Inline Matplotlib backend for Jupyter" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2317,7 +2236,6 @@ traitlets = "*" name = "mdit-py-plugins" version = "0.4.2" description = "Collection of plugins for markdown-it-py" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2337,7 +2255,6 @@ testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] name = "mdurl" version = "0.1.2" description = "Markdown URL utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2349,7 +2266,6 @@ files = [ name = "mistune" version = "3.1.0" description = "A sane and fast Markdown parser with useful plugins and renderers" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2364,7 +2280,6 @@ typing-extensions = {version = "*", markers = "python_version < \"3.11\""} name = "moderngl" version = "5.12.0" description = "ModernGL: High performance rendering for Python 3" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2429,7 +2344,6 @@ headless = ["glcontext (>=3.0.0)"] name = "moderngl-window" version = "3.1.1" description = "A cross platform helper library for ModernGL making window creation and resource loading simple" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2465,7 +2379,6 @@ trimesh = ["trimesh (>=3.2.6)"] name = "myst-parser" version = "2.0.0" description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2492,7 +2405,6 @@ testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4, name = "nbclient" version = "0.10.2" description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -category = "main" optional = true python-versions = ">=3.9.0" files = [ @@ -2502,7 +2414,7 @@ files = [ [package.dependencies] jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" nbformat = ">=5.1" traitlets = ">=5.4" @@ -2515,7 +2427,6 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= name = "nbconvert" version = "7.16.5" description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2553,7 +2464,6 @@ webpdf = ["playwright"] name = "nbformat" version = "5.10.4" description = "The Jupyter Notebook format" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2564,7 +2474,7 @@ files = [ [package.dependencies] fastjsonschema = ">=2.15" jsonschema = ">=2.6" -jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" traitlets = ">=5.1" [package.extras] @@ -2575,7 +2485,6 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] name = "nest-asyncio" version = "1.6.0" description = "Patch asyncio to allow nested event loops" -category = "main" optional = true python-versions = ">=3.5" files = [ @@ -2587,7 +2496,6 @@ files = [ name = "networkx" version = "3.2.1" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2606,7 +2514,6 @@ test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] name = "nodeenv" version = "1.9.1" description = "Node.js virtual environment builder" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -2618,7 +2525,6 @@ files = [ name = "notebook" version = "7.3.2" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -2642,7 +2548,6 @@ test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4 name = "notebook-shim" version = "0.2.4" description = "A shim layer for notebook traits and config" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -2660,7 +2565,6 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" name = "numpy" version = "2.0.2" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2715,7 +2619,6 @@ files = [ name = "numpy" version = "2.2.2" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.10" files = [ @@ -2780,7 +2683,6 @@ files = [ name = "overrides" version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2792,7 +2694,6 @@ files = [ name = "packaging" version = "24.2" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2804,7 +2705,6 @@ files = [ name = "pandocfilters" version = "1.5.1" description = "Utilities for writing pandoc filters in python" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2816,7 +2716,6 @@ files = [ name = "parso" version = "0.8.4" description = "A Python Parser" -category = "main" optional = true python-versions = ">=3.6" files = [ @@ -2832,7 +2731,6 @@ testing = ["docopt", "pytest"] name = "pexpect" version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." -category = "main" optional = true python-versions = "*" files = [ @@ -2847,7 +2745,6 @@ ptyprocess = ">=0.5" name = "pillow" version = "11.1.0" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -2936,7 +2833,6 @@ xmp = ["defusedxml"] name = "platformdirs" version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2953,7 +2849,6 @@ type = ["mypy (>=1.11.2)"] name = "pluggy" version = "1.5.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -2969,7 +2864,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "3.8.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -2988,7 +2882,6 @@ virtualenv = ">=20.10.0" name = "prometheus-client" version = "0.21.1" description = "Python client for the Prometheus monitoring system." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3001,14 +2894,13 @@ twisted = ["twisted"] [[package]] name = "prompt-toolkit" -version = "3.0.48" +version = "3.0.50" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = true -python-versions = ">=3.7.0" +python-versions = ">=3.8.0" files = [ - {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"}, - {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"}, + {file = "prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198"}, + {file = "prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab"}, ] [package.dependencies] @@ -3018,7 +2910,6 @@ wcwidth = "*" name = "psutil" version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -3047,7 +2938,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psutil-wheels" version = "5.8.0" description = "Cross-platform lib for process and system monitoring in Python." -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3073,7 +2963,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "unittest2", "wmi"] name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "main" optional = true python-versions = "*" files = [ @@ -3085,7 +2974,6 @@ files = [ name = "pure-eval" version = "0.2.3" description = "Safely evaluate AST nodes without side effects" -category = "main" optional = true python-versions = "*" files = [ @@ -3100,7 +2988,6 @@ tests = ["pytest"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3112,7 +2999,6 @@ files = [ name = "pycairo" version = "1.27.0" description = "Python interface for cairo" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3133,7 +3019,6 @@ files = [ name = "pycparser" version = "2.22" description = "C parser in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3145,7 +3030,6 @@ files = [ name = "pydub" version = "0.25.1" description = "Manipulate audio with an simple and easy high level interface" -category = "main" optional = false python-versions = "*" files = [ @@ -3157,7 +3041,6 @@ files = [ name = "pygithub" version = "2.5.0" description = "Use the full Github API v3" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3175,21 +3058,19 @@ urllib3 = ">=1.26.0" [[package]] name = "pyglet" -version = "2.1.0" +version = "2.1.1" description = "pyglet is a cross-platform games and multimedia package." -category = "main" optional = false python-versions = ">=3.8" files = [ - {file = "pyglet-2.1.0-py3-none-any.whl", hash = "sha256:ed2ff5b9eeacf845d019f9768b01c811ebe167372dcb699146e59da2c4666e0b"}, - {file = "pyglet-2.1.0.tar.gz", hash = "sha256:50c5a82203f1ffd56990d225315035b37aacba7510f8f65c4b10a7301be788c8"}, + {file = "pyglet-2.1.1-py3-none-any.whl", hash = "sha256:30562bfe9971a9ebeb6bb826f2c0d1649dd3d41bc8109ecc103425621f54c802"}, + {file = "pyglet-2.1.1.tar.gz", hash = "sha256:47f49890a00e9fefc4d0ea74dc5b9d6b9be1c5455bb5746b2df118012cfa3124"}, ] [[package]] name = "pyglm" version = "2.7.3" description = "OpenGL Mathematics library for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -3280,7 +3161,6 @@ files = [ name = "pygments" version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3295,7 +3175,6 @@ windows-terminal = ["colorama (>=0.4.6)"] name = "pyjwt" version = "2.10.1" description = "JSON Web Token implementation in Python" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -3316,7 +3195,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3343,7 +3221,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyobjc-core" version = "11.0" description = "Python<->ObjC Interoperability Module" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3360,7 +3237,6 @@ files = [ name = "pyobjc-framework-cocoa" version = "11.0" description = "Wrappers for the Cocoa frameworks on macOS" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3380,7 +3256,6 @@ pyobjc-core = ">=11.0" name = "pyparsing" version = "3.2.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -3395,7 +3270,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pytest" version = "8.3.4" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -3418,7 +3292,6 @@ dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments name = "pytest-cov" version = "4.1.0" description = "Pytest plugin for measuring coverage." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3437,7 +3310,6 @@ testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtuale name = "pytest-forked" version = "1.6.0" description = "run tests in isolated forked subprocesses" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3453,7 +3325,6 @@ pytest = ">=3.10" name = "pytest-xdist" version = "2.5.0" description = "pytest xdist plugin for distributed testing and loop-on-failing modes" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -3475,7 +3346,6 @@ testing = ["filelock"] name = "python-dateutil" version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -3490,7 +3360,6 @@ six = ">=1.5" name = "python-json-logger" version = "3.2.1" description = "JSON Log Formatter for the Python Logging Package" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3508,7 +3377,6 @@ dev = ["backports.zoneinfo", "black", "build", "freezegun", "mdx_truly_sane_list name = "pywin32" version = "308" description = "Python for Window Extensions" -category = "main" optional = true python-versions = "*" files = [ @@ -3536,7 +3404,6 @@ files = [ name = "pywinpty" version = "2.0.14" description = "Pseudo terminal support for Windows from Python." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -3552,7 +3419,6 @@ files = [ name = "pyyaml" version = "6.0.2" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3615,7 +3481,6 @@ files = [ name = "pyzmq" version = "26.2.0" description = "Python bindings for 0MQ" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -3737,7 +3602,6 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} name = "referencing" version = "0.36.1" description = "JSON Referencing + Python" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -3754,7 +3618,6 @@ typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} name = "requests" version = "2.32.3" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3776,7 +3639,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3791,7 +3653,6 @@ six = "*" name = "rfc3986-validator" version = "0.1.1" description = "Pure python rfc3986 validator" -category = "main" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -3803,7 +3664,6 @@ files = [ name = "rich" version = "13.9.4" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -3823,7 +3683,6 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] name = "rpds-py" version = "0.22.3" description = "Python bindings to Rust's persistent data structures (rpds)" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -3936,7 +3795,6 @@ files = [ name = "ruff" version = "0.9.2" description = "An extremely fast Python linter and code formatter, written in Rust." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -3964,7 +3822,6 @@ files = [ name = "scipy" version = "1.13.1" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4007,7 +3864,6 @@ test = ["array-api-strict", "asv", "gmpy2", "hypothesis (>=6.30)", "mpmath", "po name = "scipy" version = "1.15.1" description = "Fundamental algorithms for scientific computing in Python" -category = "main" optional = false python-versions = ">=3.10" files = [ @@ -4065,7 +3921,6 @@ test = ["Cython", "array-api-strict (>=2.0,<2.1.1)", "asv", "gmpy2", "hypothesis name = "screeninfo" version = "0.7" description = "Fetch location and size of physical screens." -category = "main" optional = false python-versions = "*" files = [ @@ -4080,7 +3935,6 @@ pyobjc-framework-Cocoa = {version = "*", markers = "sys_platform == \"darwin\""} name = "send2trash" version = "1.8.3" description = "Send file to trash natively under Mac OS X, Windows and Linux" -category = "main" optional = true python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -4097,7 +3951,6 @@ win32 = ["pywin32"] name = "setuptools" version = "75.8.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -4112,13 +3965,12 @@ cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.14.0,<1.15.0)", "pytest-mypy"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "six" version = "1.17.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -4130,7 +3982,6 @@ files = [ name = "skia-pathops" version = "0.8.0.post2" description = "Python access to operations on paths using the Skia library" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4189,7 +4040,6 @@ testing = ["coverage", "pytest", "pytest-randomly", "pytest-xdist"] name = "smmap" version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4201,7 +4051,6 @@ files = [ name = "sniffio" version = "1.3.1" description = "Sniff out which async library your code is running under" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4213,7 +4062,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "dev" optional = false python-versions = "*" files = [ @@ -4225,7 +4073,6 @@ files = [ name = "soupsieve" version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4237,7 +4084,6 @@ files = [ name = "sphinx" version = "7.4.7" description = "Python documentation generator" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4274,7 +4120,6 @@ test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools name = "sphinx-basic-ng" version = "1.0.0b2" description = "A modern skeleton for Sphinx themes." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4292,7 +4137,6 @@ docs = ["furo", "ipython", "myst-parser", "sphinx-copybutton", "sphinx-inline-ta name = "sphinx-copybutton" version = "0.5.2" description = "Add a copy button to each of your code cells." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -4311,7 +4155,6 @@ rtd = ["ipython", "myst-nb", "sphinx", "sphinx-book-theme", "sphinx-examples"] name = "sphinx-design" version = "0.6.1" description = "A sphinx extension for designing beautiful, view size responsive web components." -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4337,7 +4180,6 @@ theme-sbt = ["sphinx-book-theme (>=1.1,<2.0)"] name = "sphinx-reredirects" version = "0.1.5" description = "Handles redirects for moved pages in Sphinx documentation projects" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4352,7 +4194,6 @@ sphinx = ">=7.1" name = "sphinxcontrib-applehelp" version = "2.0.0" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4369,7 +4210,6 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "2.0.0" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4386,7 +4226,6 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.1.0" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4403,7 +4242,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -4418,7 +4256,6 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-programoutput" version = "0.17" description = "Sphinx extension to include program output" -category = "dev" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" files = [ @@ -4433,7 +4270,6 @@ Sphinx = ">=1.7.0" name = "sphinxcontrib-qthelp" version = "2.0.0" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4450,7 +4286,6 @@ test = ["defusedxml (>=0.7.1)", "pytest"] name = "sphinxcontrib-serializinghtml" version = "2.0.0" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -category = "dev" optional = false python-versions = ">=3.9" files = [ @@ -4467,7 +4302,6 @@ test = ["pytest"] name = "sphinxext-opengraph" version = "0.9.1" description = "Sphinx Extension to enable OGP support" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4482,7 +4316,6 @@ sphinx = ">=4.0" name = "srt" version = "3.5.3" description = "A tiny library for parsing, modifying, and composing SRT files." -category = "main" optional = false python-versions = ">=2.7" files = [ @@ -4493,7 +4326,6 @@ files = [ name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "main" optional = true python-versions = "*" files = [ @@ -4513,7 +4345,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "svgelements" version = "1.9.6" description = "Svg Elements Parsing" -category = "main" optional = false python-versions = "*" files = [ @@ -4525,7 +4356,6 @@ files = [ name = "terminado" version = "0.18.1" description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4547,7 +4377,6 @@ typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] name = "tinycss2" version = "1.4.0" description = "A tiny CSS parser" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4566,7 +4395,6 @@ test = ["pytest", "ruff"] name = "tomli" version = "2.2.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4608,7 +4436,6 @@ files = [ name = "tornado" version = "6.4.2" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4629,7 +4456,6 @@ files = [ name = "tqdm" version = "4.67.1" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4651,7 +4477,6 @@ telegram = ["requests"] name = "traitlets" version = "5.14.3" description = "Traitlets Python configuration system" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4667,7 +4492,6 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0, name = "types-decorator" version = "0.1.7" description = "Typing stubs for decorator" -category = "dev" optional = false python-versions = "*" files = [ @@ -4679,7 +4503,6 @@ files = [ name = "types-docutils" version = "0.21.0.20241128" description = "Typing stubs for docutils" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4691,7 +4514,6 @@ files = [ name = "types-pillow" version = "10.2.0.20240822" description = "Typing stubs for Pillow" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4703,7 +4525,6 @@ files = [ name = "types-pygments" version = "2.19.0.20250107" description = "Typing stubs for Pygments" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4719,7 +4540,6 @@ types-setuptools = "*" name = "types-python-dateutil" version = "2.9.0.20241206" description = "Typing stubs for python-dateutil" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4731,7 +4551,6 @@ files = [ name = "types-setuptools" version = "75.8.0.20250110" description = "Typing stubs for setuptools" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4743,7 +4562,6 @@ files = [ name = "typing-extensions" version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4755,7 +4573,6 @@ files = [ name = "uri-template" version = "1.3.0" description = "RFC 6570 URI Template Processor" -category = "main" optional = true python-versions = ">=3.7" files = [ @@ -4770,7 +4587,6 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake name = "urllib3" version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4788,7 +4604,6 @@ zstd = ["zstandard (>=0.18.0)"] name = "virtualenv" version = "20.29.1" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4809,7 +4624,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "watchdog" version = "6.0.0" description = "Filesystem events monitoring" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4852,7 +4666,6 @@ watchmedo = ["PyYAML (>=3.10)"] name = "wcwidth" version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = true python-versions = "*" files = [ @@ -4864,7 +4677,6 @@ files = [ name = "webcolors" version = "24.11.1" description = "A library for working with the color formats defined by HTML and CSS." -category = "main" optional = true python-versions = ">=3.9" files = [ @@ -4876,7 +4688,6 @@ files = [ name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = true python-versions = "*" files = [ @@ -4888,7 +4699,6 @@ files = [ name = "websocket-client" version = "1.8.0" description = "WebSocket client for Python with low level API options" -category = "main" optional = true python-versions = ">=3.8" files = [ @@ -4905,7 +4715,6 @@ test = ["websockets"] name = "wrapt" version = "1.17.2" description = "Module for decorators, wrappers and monkey patching." -category = "dev" optional = false python-versions = ">=3.8" files = [ @@ -4994,7 +4803,6 @@ files = [ name = "zipp" version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -5017,4 +4825,4 @@ jupyterlab = ["jupyterlab", "notebook"] [metadata] lock-version = "2.0" python-versions = ">=3.9" -content-hash = "8be7f23224cbc3e1f01562c0a17e83deb11c7146862e332cd0d8f0dff54becde" +content-hash = "b2e04bd19d8d9cc94b4b3f09e36007460b06766274cc13feeddec10763ee6a70" diff --git a/pyproject.toml b/pyproject.toml index 9b2360f236..1e99f00a07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,7 @@ skia-pathops = ">=0.7.0" srt = ">=3.0.0" svgelements = ">=1.8.0" tqdm = ">=4.0.0" -typing-extensions = ">=4.0.0" +typing-extensions = ">=4.12.0" watchdog = ">=2.0.0" beautifulsoup4 = ">=4.12" From 6ca08fd187a34d01625e0790e09dc0c870c59859 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 21 Jan 2025 00:52:52 +0100 Subject: [PATCH 3/5] [pre-commit.ci] pre-commit autoupdate (#4122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/astral-sh/ruff-pre-commit: v0.9.1 → v0.9.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.9.1...v0.9.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d92cc048e0..d432c948a2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: - id: check-toml name: Validate Poetry - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.1 + rev: v0.9.2 hooks: - id: ruff name: ruff lint From 8f919b17262c17b28e8e1e4f00d2890d13fc3483 Mon Sep 17 00:00:00 2001 From: Irvanal Haq <125118413+irvanalhaq9@users.noreply.github.com> Date: Wed, 22 Jan 2025 01:29:47 +0700 Subject: [PATCH 4/5] Add docstring to :meth:`.Mobject.get_family` (#4127) * Add example to get_family method in Mobject * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- manim/mobject/mobject.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/manim/mobject/mobject.py b/manim/mobject/mobject.py index fc4caae1ee..6ad3ece777 100644 --- a/manim/mobject/mobject.py +++ b/manim/mobject/mobject.py @@ -2309,6 +2309,31 @@ def split(self) -> list[Self]: return result + self.submobjects def get_family(self, recurse: bool = True) -> list[Self]: + """Lists all mobjects in the hierarchy (family) of the given mobject, + including the mobject itself and all its submobjects recursively. + + Parameters + ---------- + recurse + Just for consistency with get_family method in OpenGLMobject. + + Returns + ------- + list + A list of mobjects in the family of the given mobject. + + Examples + -------- + :: + + >>> from manim import Square, Rectangle, VGroup, Group, Mobject, VMobject + >>> s, r, m, v = Square(), Rectangle(), Mobject(), VMobject() + >>> vg = VGroup(s, r) + >>> gr = Group(vg, m, v) + >>> gr.get_family() + [Group, VGroup(Square, Rectangle), Square, Rectangle, Mobject, VMobject] + + """ sub_families = [x.get_family() for x in self.submobjects] all_mobjects = [self] + list(it.chain(*sub_families)) return remove_list_redundancies(all_mobjects) From a6990bd83c11a32fa75cd05311fbce70d17bc47d Mon Sep 17 00:00:00 2001 From: Irvanal Haq <125118413+irvanalhaq9@users.noreply.github.com> Date: Wed, 22 Jan 2025 16:28:18 +0700 Subject: [PATCH 5/5] Fix link formatting and clarify the distinction between Manim versions in index.rst (#4131) * Fix link formatting and clarify the distinction between Manim versions * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- docs/source/index.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/index.rst b/docs/source/index.rst index 11bf0d6bf8..d88eb9a854 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -22,7 +22,9 @@ in the right place! .. note:: Please be aware that there are different, incompatible versions of Manim available. - ManimCE was forked from 3b1b/manim, originally created and open-sourced by Grant Sanderson, creator of [3Blue1Brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw) educational math videos. + This version, the Community Edition of Manim (`ManimCE `_), + is a separate project maintained by the community, but it was forked from `3b1b/manim `_, + the original Manim created and open-sourced by Grant Sanderson, creator of `3Blue1Brown `_ educational math videos. Check our :ref:`installation FAQ ` to learn more!