Setup for Developing Mathics3 Python Code ========================================= We encourage people to work with the Python source code, modifiy it in ``git`` and put in Pull Requests when there is something you want to share with other Mathics3 users. For this you'll need to have ``git`` installed as well as a ``github`` account to submit a pull request (PR) when done. Github repositories are listed in :ref:`Install from the Mathics3 Github Organization`. Developer Python Code-Checking Packages --------------------------------------- There are a number of additional Python-related packages you will probably want to have to reduce inadvertent mistakes and keep the code consistent with its existing style. These are: * `isort `_: sorts Python imports * `black `_: formats Python code according to standard Python-formatting convertions. When you commit code, you can arrange to have these tools run automatically and fix up mistakes using a package called `pre-commit `_. After running ``pip install pre-commit`` then run ``pre-commit install``. Optional but Useful Developer Python Packages --------------------------------------------- Other Python packages that are nice to have but are not strictly necessary are: * `flake8 `_: code checker * `pylint `_: code analyzer .. TODO: add section about putting in PRs