Development on the latest version of Python is preferred. As of this writing it's 3.9.
You can use any operating system.
-Install all development dependencies using:
+Install development dependencies inside a virtual environment of your choice, for
+example:
```console
-$ pipenv install --dev
-$ pipenv shell
-$ pre-commit install
-```
-
-If you haven't used `pipenv` before but are comfortable with virtualenvs, just run
-`pip install pipenv` in the virtualenv you're already using and invoke the command above
-from the cloned _Black_ repo. It will do the correct thing.
-
-Non pipenv install works too:
-
-```console
-$ pip install -r test_requirements.txt
-$ pip install -e .[d]
+$ python3 -m venv .venv
+$ source .venv/bin/activate
+(.venv)$ pip install -r test_requirements.txt
+(.venv)$ pip install -e .[d]
+(.venv)$ pre-commit install
```
Before submitting pull requests, run lints and tests with the following commands from
```console
# Linting
-$ pre-commit run -a
+(.venv)$ pre-commit run -a
# Unit tests
-$ tox -e py
+(.venv)$ tox -e py
# Optional Fuzz testing
-$ tox -e fuzz
+(.venv)$ tox -e fuzz
# Optional CI run to test your changes on many popular python projects
-$ black-primer [-k -w /tmp/black_test_repos]
+(.venv)$ black-primer [-k -w /tmp/black_test_repos]
```
### News / Changelog Requirement
If you make changes to docs, you can test they still build locally too.
```console
-$ pip install -r docs/requirements.txt
-$ pip install [-e] .[d]
-$ sphinx-build -a -b html -W docs/ docs/_build/
+(.venv)$ pip install -r docs/requirements.txt
+(.venv)$ pip install [-e] .[d]
+(.venv)$ sphinx-build -a -b html -W docs/ docs/_build/
```
## black-primer