Cython extension modules built with `gdb_debug=True` spit out debug symbols in the `cython_debug` directory at the top level of the project. The files in this directory contain hardcoded paths and are not shareable/meaningful across environments, so I think it makes sense to include them in a default Python .gitignore.
* Add ignore rules for Pipenv
Pipenv uses Pipfile.lock to maintain Python package information
(metadata, hash, etc.) installed as described in Pipfile. Thus,
Pipfile.lock may vary on different operating systems, platforms
when collaborating. This PR adds Pipfile.lock into the Python
default gitignore. See http://pipenv.org
* Update Python.gitignore
Not to ignore Pipfile.lock in default, but explain
when and why it should be ignored in case of
collaboration. (adjusted according to comment
in github/gitignore#2977 by @drothmaler )
* Apply suggestions from code review
Co-Authored-By: JarryShaw <jarryshaw@icloud.com>
* Update Python.gitignore
As suggested by @shiftkey , elaborate on the problems that users might see with `Pipfile.lock`.
PEP-517 has resulted in some updates to the Python
build process. As a result, a new directory called
pip-wheel-metadata is created on fresh builds.
This PR adds this directory into the Python default
gitignore. See
e5f4bbb7dd/src/pip/_internal/req/req_install.py (L568)
Pyre is a new type-checker for Python developed by facebook in May 2018.
https://pyre-check.org/
It makes .pyre directory for storing result or cache for type checking.
This directory is environment dependent. So it should be ignored from Git.
add MANIFEST which is GENERATED by distutils
Reasons for making this change:
if you use distutils.core to setup, the file MANIFEST is generated by distutils when run 'python setup.py sdist'
Some of these names relate to specific tools, others could be used by multiple tools. In particular, virtualenv, the most popular tool for creating Python environments, does not mandate any of these and venv/ or .venv are simply conventional. It is more readable to group all of these together.
[mkdocs](http://www.mkdocs.org/) is rising as an alternative to Sphinx for project's documentation. The default build command puts the generated documentation in a `site` directory at the root of the project which should be ignored.