# Zulip PyPI package release checklist

This document describes the steps to be followed when preparing a new release of the PyPI package for our API bindings.

While performing the steps outlined below, we should adhere to the guidelines presented in the Python Packaging User Guide.

The steps below assume that you are familiar with the material presented here.

1. Reconfigure the package, if need be (upgrade version number, development status, and so on).

2. Create a source distribution.

3. Create a pure Python wheel.

4. Upload the distribution file(s) to zulip-beta.

5. Post about the beta release in #general and test the zulip-beta package extensively.

6. Respond to the feedback received in Step 5.

7. Make final changes, upload the distribution file(s) to the main zulip package.

8. Post in #general about the new release.

Note: We may upload directly to the main zulip package without beta-testing on zulip-beta, if we feel that the changes made in the new release are minor and not disruptive enough to warrant extensive pretesting.