
msgid ""
msgstr ""
"Project-Id-Version: Manim \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../../source/contributing/development.rst:3
msgid "Manim Development Process"
msgstr ""

#: ../../source/contributing/development.rst:6
msgid "For first-time contributors"
msgstr ""

#: ../../source/contributing/development.rst:7
msgid "Install git:"
msgstr ""

#: ../../source/contributing/development.rst:9
msgid "For instructions see https://git-scm.com/."
msgstr ""

#: ../../source/contributing/development.rst:12
msgid "Fork the project. Go to https://github.com/ManimCommunity/manim and click the \"fork\" button to create a copy of the project for you to work on. You will need a GitHub account. This will allow you to make a \"Pull Request\" (PR) to the ManimCommunity repo later on."
msgstr ""

#: ../../source/contributing/development.rst:17
msgid "Clone your fork to your local computer:"
msgstr ""

#: ../../source/contributing/development.rst:23
msgid "GitHub will provide both a SSH (``git@github.com:<your-username>/manim.git``) and HTTPS (``https://github.com/<your-username>/manim.git``) URL for cloning. You can use SSH if you have SSH keys setup."
msgstr ""

#: ../../source/contributing/development.rst:29
msgid "Do not clone the ManimCommunity repository. You must clone your own fork."
msgstr ""

#: ../../source/contributing/development.rst:32
msgid "Change the directory to enter the project folder:"
msgstr ""

#: ../../source/contributing/development.rst:38
msgid "Add the upstream repository, ManimCommunity:"
msgstr ""

#: ../../source/contributing/development.rst:44
msgid "Now, ``git remote -v`` should show two remote repositories named:"
msgstr ""

#: ../../source/contributing/development.rst:46
msgid "``origin``, your forked repository"
msgstr ""

#: ../../source/contributing/development.rst:47
msgid "``upstream`` the ManimCommunity repository"
msgstr ""

#: ../../source/contributing/development.rst:49
msgid "Install Manim:"
msgstr ""

#: ../../source/contributing/development.rst:51
msgid "Follow the steps in our :doc:`installation instructions <../installation>` to install **Manim's dependencies**, primarily ``ffmpeg`` and ``LaTeX``."
msgstr ""

#: ../../source/contributing/development.rst:55
msgid "We recommend using `Poetry <https://python-poetry.org>`__ to manage your developer installation of Manim. Poetry is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on, and it will manage (install / update) them for you. In addition, Poetry provides a simple interface for managing virtual environments."
msgstr ""

#: ../../source/contributing/development.rst:62
msgid "If you choose to use Poetry as well, follow `Poetry's installation guidelines <https://python-poetry.org/docs/master/#installation>`__ to install it on your system, then run ``poetry install`` from your cloned repository. Poetry will then install Manim, as well as create and enter a virtual environment. You can always re-enter that environment by running ``poetry shell``."
msgstr ""

#: ../../source/contributing/development.rst:69
msgid "In case you want to install extra dependencies that are defined in the ``[tool.poetry.extras]``  section of ``pyproject.toml``, this can be done by passing the ``-E`` flag, for example ``poetry install -E jupyterlab -E gui``."
msgstr ""

#: ../../source/contributing/development.rst:73
msgid "In case you decided against Poetry, you can install Manim via pip by running ``python3 -m pip install .``. Note that due to our development infrastructure being based on Poetry, we currently do not support editable installs via ``pip``, so you will have to re-run this command every time you make changes to the source code."
msgstr ""

#: ../../source/contributing/development.rst:82
msgid "The following steps assume that you chose to install and work with Poetry."
msgstr ""

#: ../../source/contributing/development.rst:85
msgid "Install Pre-Commit:"
msgstr ""

#: ../../source/contributing/development.rst:91
msgid "This will ensure during development that each of your commits is properly formatted against our linter and formatters, ``black``, ``flake8``, ``isort`` and ``codespell``."
msgstr ""

#: ../../source/contributing/development.rst:95
msgid "You are now ready to work on manim!"
msgstr ""

#: ../../source/contributing/development.rst:98
msgid "Develop your contribution"
msgstr ""

#: ../../source/contributing/development.rst:100
msgid "Checkout your local repository's main branch and pull the latest changes from ManimCommunity, ``upstream``, into your local repository:"
msgstr ""

#: ../../source/contributing/development.rst:108
msgid "Create a branch for the changes you want to work on rather than working off of your local main branch:"
msgstr ""

#: ../../source/contributing/development.rst:115
msgid "This ensures you can easily update your local repository's main with the first step and switch branches to work on multiple features."
msgstr ""

#: ../../source/contributing/development.rst:118
msgid "Write some awesome code!"
msgstr ""

#: ../../source/contributing/development.rst:120
msgid "You're ready to make changes in your local repository's branch. You can add local files you've changed within the current directory with ``git add .``, or add specific files with"
msgstr ""

#: ../../source/contributing/development.rst:128
msgid "and commit these changes to your local history with ``git commit``. If you have installed pre-commit, your commit will succeed only if none of the hooks fail."
msgstr ""

#: ../../source/contributing/development.rst:134
msgid "When crafting commit messages, it is highly recommended that you adhere to `these guidelines <https://www.conventionalcommits.org/en/v1.0.0/>`_."
msgstr ""

#: ../../source/contributing/development.rst:137
msgid "Add new or update existing tests."
msgstr ""

#: ../../source/contributing/development.rst:139
msgid "Depending on your changes, you may need to update or add new tests. For new features, it is required that you include tests with your PR. Details of our testing system are explained in the :doc:`testing guide <testing>`."
msgstr ""

#: ../../source/contributing/development.rst:144
msgid "Update docstrings and documentation:"
msgstr ""

#: ../../source/contributing/development.rst:146
msgid "Update the docstrings (the text in triple quotation marks) of any functions or classes you change and include them with any new functions you add. See the :doc:`documentation guide <docstrings>` for more information about how we prefer our code to be documented. The content of the docstrings will be rendered in the :doc:`reference manual <../reference>`."
msgstr ""

#: ../../source/contributing/development.rst:154
msgid "Use the :mod:`manim directive for Sphinx <manim.utils.docbuild.manim_directive>` to add examples to the documentation!"
msgstr ""

#: ../../source/contributing/development.rst:157
msgid "As far as development on your local machine goes, these are the main steps you should follow."
msgstr ""

#: ../../source/contributing/development.rst:161
msgid "Polishing Changes and Submitting a Pull Request"
msgstr ""

#: ../../source/contributing/development.rst:163
msgid "As soon as you are ready to share your local changes with the community so that they can be discussed, go through the following steps to open a pull request. A pull request signifies to the ManimCommunity organization, \"Here are some changes I wrote; I think it's worthwhile for you to maintain them.\""
msgstr ""

#: ../../source/contributing/development.rst:171
msgid "You do not need to have everything (code/documentation/tests) complete to open a pull request (PR). If the PR is still under development, please mark it as a draft. Community developers will still be able to review the changes, discuss yet-to-be-implemented changes, and offer advice; however, the more complete your PR, the quicker it will be merged."
msgstr ""

#: ../../source/contributing/development.rst:177
msgid "Update your fork on GitHub to reflect your local changes:"
msgstr ""

#: ../../source/contributing/development.rst:183
msgid "Doing so creates a new branch on your remote fork, ``origin``, with the contents of your local repository on GitHub. In subsequent pushes, this local branch will track the branch ``origin`` and ``git push`` is enough."
msgstr ""

#: ../../source/contributing/development.rst:188
msgid "Make a pull request (PR) on GitHub."
msgstr ""

#: ../../source/contributing/development.rst:190
msgid "In order to make the ManimCommunity development team aware of your changes, you can make a PR to the ManimCommunity repository from your fork."
msgstr ""

#: ../../source/contributing/development.rst:195
msgid "Make sure to select ``ManimCommunity/manim`` instead of ``3b1b/manim`` as the base repository!"
msgstr ""

#: ../../source/contributing/development.rst:198
msgid "Choose the branch from your fork as the head repository - see the screenshot below."
msgstr ""

#: ../../source/contributing/development.rst:204
msgid "Please make sure you follow the template (this is the default text you are shown when first opening the 'New Pull Request' page)."
msgstr ""

#: ../../source/contributing/development.rst:208
msgid "Your changes are eligible to be merged if:"
msgstr ""

#: ../../source/contributing/development.rst:210
msgid "there are no merge conflicts"
msgstr ""

#: ../../source/contributing/development.rst:211
msgid "the tests in our pipeline pass"
msgstr ""

#: ../../source/contributing/development.rst:212
msgid "at least one (two for more complex changes) Community Developer approves the changes"
msgstr ""

#: ../../source/contributing/development.rst:214
msgid "You can check for merge conflicts between the current upstream/main and your branch by executing ``git pull upstream main`` locally. If this generates any merge conflicts, you need to resolve them and push an updated version of the branch to your fork of the repository."
msgstr ""

#: ../../source/contributing/development.rst:219
msgid "Our pipeline consists of a series of different tests that ensure that manim still works as intended and that the code you added sticks to our coding conventions."
msgstr ""

#: ../../source/contributing/development.rst:223
msgid "**Code style**: We use the code style imposed by `Black <https://black.readthedocs.io/en/stable/>`_, `isort <https://pycqa.github.io/isort/>`_ and `flake8 <https://flake8.pycqa.org/en/latest/>`_. The GitHub pipeline makes sure that the (Python) files changed in your pull request also adhere to this code style. If this step of the pipeline fails, fix your code formatting automatically by running ``black <file or directory>`` and ``isort <file or directory>``. To fix code style problems, run ``flake8 <file or directory>`` for a style report, and then fix the problems manually that were detected by ``flake8``."
msgstr ""

#: ../../source/contributing/development.rst:232
msgid "**Tests**: The pipeline runs manim's test suite on different operating systems (the latest versions of Ubuntu, MacOS, and Windows) for different versions of Python. The test suite consists of two different kinds of tests: integration tests and doctests. You can run them locally by executing ``poetry run pytest`` and ``poetry run pytest --doctest-modules manim``, respectively, from the root directory of your cloned fork."
msgstr ""

#: ../../source/contributing/development.rst:239
msgid "**Documentation**: We also build a version of the documentation corresponding to your pull request. Make sure not to introduce any Sphinx errors, and have a look at the built HTML files to see whether the formatting of the documentation you added looks as you intended. You can build the documentation locally by running ``make html`` from the ``docs`` directory. Since the inheritance diagrams require you to have `Graphviz <https://graphviz.org/>`_ installed locally."
msgstr ""

#: ../../source/contributing/development.rst:246
msgid "Finally, if the pipeline passes and you are satisfied with your changes: wait for feedback and iterate over any requested changes. You will likely be asked to edit or modify your PR in one way or another during this process. This is not an indictment of your work, but rather a strong signal that the community wants to merge your changes! Once approved, your changes may be merged!"
msgstr ""

#: ../../source/contributing/development.rst:253
msgid "Further useful guidelines"
msgstr ""

#: ../../source/contributing/development.rst:255
msgid "When submitting a PR, please mention explicitly if it includes breaking changes."
msgstr ""

#: ../../source/contributing/development.rst:257
msgid "When submitting a PR, make sure that your proposed changes are as general as possible, and ready to be taken advantage of by all of manim's users. In particular, leave out any machine-specific configurations, or any personal information it may contain."
msgstr ""

#: ../../source/contributing/development.rst:262
msgid "If you are a maintainer, please label issues and PRs appropriately and frequently."
msgstr ""

#: ../../source/contributing/development.rst:265
msgid "When opening a new issue, if there are old issues that are related, add a link to them in your new issue (even if the old ones are closed)."
msgstr ""

#: ../../source/contributing/development.rst:268
msgid "When submitting a code review, it is highly recommended that you adhere to `these general guidelines <https://conventionalcomments.org/>`_."
msgstr ""

#: ../../source/contributing/development.rst:271
msgid "If you find stale or inactive issues that seem to be irrelevant, please post a comment saying 'This issue should be closed', and a community developer will take a look."
msgstr ""

#: ../../source/contributing/development.rst:275
msgid "Please do as much as possible to keep issues, PRs, and development in general as tidy as possible."
msgstr ""

#: ../../source/contributing/development.rst:279
msgid "You can find examples for the ``docs`` in several places: the :doc:`Example Gallery <../examples>`, :doc:`Tutorials <../tutorials/index>`, and :doc:`Reference Classes <../reference>`."
msgstr ""

#: ../../source/contributing/development.rst:283
msgid "In case you are contributing, please have a look at this flowchart:"
msgstr ""


