@public and @private – Document your module’s interface#

This library provies two very simple decorators that document the publicness of the names in your module. They keep your module’s __all__ in sync so you don’t have to.

Please note that while the package is called public and it provides a top-level module named public, the PyPI package is called atpublic due to name conflicts.


public requires Python 3.8 or newer.


A simple guide to using the library is available, along with a detailed API reference.

Project details#

You can install it with pip:

% pip install atpublic

Do not install “public”; that is a different package!

You can grab the latest development copy of the code using git. The main repository is hosted on GitLab. If you have git installed, you can grab your own branch of the code like this:

$ git clone https://gitlab.com/warsaw/public.git

You can contact the author via barry@python.org.

Table of Contents and Index#