This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Add documentation explaining __init__.py in packages
Type: Stage:
Components: Documentation Versions:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: bkestelman, docs@python, eric.araujo
Priority: normal Keywords:

Created on 2018-09-21 19:26 by bkestelman, last changed 2022-04-11 14:59 by admin.

Messages (2)
msg326020 - (view) Author: Benito Kestelman (bkestelman) Date: 2018-09-21 19:26
I just learned how to make my own package in python and upload it to pypi. I mainly used the documentation here: https://packaging.python.org/tutorials/packaging-projects/

Other than the toy example, there is no explanation of __init__.py, its purpose, or what I should put in it to get my code to work. 

It took me a lot of time and guessing to figure it out, and I had to look at several projects on Github to see how others did it. I found a couple that looked correct because they were concise, but others looked horrendous - one was several thousand lines long. 

A clear explanation of how to use __init__.py when making a package would be extremely helpful.
msg326649 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2018-09-28 17:13
I think the expectation is that people will know about modules and packages long before they upload things to PyPI.  The import system and the packaging tools are two independent domains.

For example the official tutorial has an intro: https://docs.python.org/3/tutorial/modules.html#packages
History
Date User Action Args
2022-04-11 14:59:06adminsetgithub: 78949
2018-09-28 17:13:36eric.araujosetnosy: + eric.araujo
messages: + msg326649
2018-09-22 00:10:44bkestelmansettitle: Add documentation for the purpose of __init__.py in packages -> Add documentation explaining __init__.py in packages
2018-09-21 19:26:19bkestelmancreate