Post Your Build Ideas
Launch

Where to Launch a Python Package: PyPI, conda-forge, PyCoder’s Weekly and Where Python Developers Talk

Launch a Python package on PyPI, the index pip installs from, using a pyproject.toml, a built distribution and a project name nobody holds. Rehearse on TestPyPI first. Add conda-forge if your users work in scientific or data environments that install with conda. Then send a link to PyCoder’s Weekly and post to Show HN. Set up trusted publishing from your CI so no long-lived upload token sits in your repository.

What does publishing to PyPI involve?

The Python Packaging User Guide’s tutorial, read on 13 November 2026, walks from a source tree to an upload. You describe the project in a pyproject.toml, choose a build backend, build a source archive and a wheel, and upload both. The guide’s own advice is to try the whole process on TestPyPI, a separate instance of the index meant for testing, so a typo does not land on the real one.

Two decisions are hard to undo. The first is the project name: PyPI’s documentation has pages on choosing a project name and on name retention, and the tutorial itself uses a username suffix so tutorial packages never collide with real ones. Search for your name on the index before you choose a brand around it. The second is how you authenticate uploads. PyPI documents trusted publishing, which uses OpenID Connect so a CI workflow can publish without a stored API token.

Which places reach Python users?

Packages are installed from indexes and discovered through people. Both kinds are listed, indexes first.

01 PyPI

The Python Package Index, from which pip installs by default.

Account
A PyPI account; two-factor authentication is documented
Dry run
TestPyPI, a separate instance for testing uploads
Modern upload
Trusted publishing via OpenID Connect, so CI needs no stored token

The project page is built from your metadata and README, so fill in the classifiers, the URLs for source and documentation and a long description that renders properly. It is the page people land on when they look your package up by name.

Keep the first release small and honest: version 0.1.0, a tested wheel and a README that shows one import and one call. The README template for launch can be adapted for the top of that page.

Visit PyPI (packaging.python.org) →

02 conda-forge

A community channel of conda packages, added through a pull request.

Route
Add a recipe and licence to the staged-recipes repository and open a pull request
Review
The conda-forge team reviews and helps you change the recipe
Afterwards
You become the package’s maintainer
Licence field
Case-sensitive; SPDX identifiers recommended, such as Apache-2.0

Its guide suggests generating the first recipe with grayskull from a PyPI release, then reviewing the result, since generated recipes may need edits. That makes PyPI the first step even for conda users.

The page says to open the pull request even when you are unsure about details, because the team will help. Contributing a package makes you its maintainer, so be ready to respond to version bumps and dependency changes.

Visit conda-forge (conda-forge.org) →

03 PyCoder’s Weekly

A weekly Python newsletter with a Submit a Link page.

What it takes
Projects you are working on, conferences and articles
Catch
It cannot promise to feature every submitted link, but says it considers everything sent
Cost
No fee is mentioned on its submission page

Submit once, with a link to a page that explains the package, not to its bare repository. A short post about the problem the package solves, with a code sample, gives an editor something to quote.

Send it after the first release is on PyPI so that the install line in the post works the moment a reader tries it.

Visit PyCoder’s Weekly (pycoders.com) →

04 Show HN

Hacker News’s section for things you made that other people can try.

Fits when
The package can be demonstrated in a dozen lines
Warning
Its guidelines ask for non-trivial work and discourage quickly generated one-offs

Python readers like to try a library with pip install and a snippet. Put both at the top of your first comment and show the output.

Expect comparisons with the library everyone already uses. Say what yours does differently in numbers if you have measured them, and in plain words if you have not.

Visit Show HN (news.ycombinator.com) →

05 Reddit’s Python communities

Large subreddits where Python developers share and discuss projects.

Our check
Reddit refuses automated fetches; each subreddit’s sidebar lists its own self-promotion rules

Read how often a community allows project posts before you write one. Many ask for a clear description of what the project does and how it differs from alternatives, and some set aside particular days or threads.

The subreddits for sharing your project page covers how to read those rules.

Visit Reddit’s Python communities (reddit.com) →

06 Post your build ideas (our board)

A free launch board with a developer tools category.

Use
A permanent page that links to the PyPI project, with threaded comments
Limit
It is new and small; no promise of reach

Put the install line and the first example in the description. The outbound link to your project is a normal followed link.

For project inspiration, browse the board’s developer tool ideas or the Python project ideas guide.

Open Post your build ideas (our board) →

How is launching a Python package different from launching a JavaScript library or a CLI?

Python’s distribution is split between pip and conda, and conda-forge adds a pull request review on top of the upload. A JavaScript library is mostly found through its docs site and framework newsletters, covered in the React component library guide, while a command-line tool leans on Homebrew, as in the CLI tool guide. A Python package sits between: it is usually discovered from a search for a task, so a page that names the task you solve does more than a launch day.

The Python library playbook has the dated plan. Start with TestPyPI, publish to PyPI, submit the conda-forge recipe the same week and post when the install works.

Frequently asked questions

Do I need TestPyPI before PyPI?

It is not a rule, but the Python Packaging User Guide recommends it. TestPyPI is a separate instance of the package index meant for testing uploads, with its own account. Using it lets you check that your metadata renders and that pip installs the result, without publishing something you would later regret on the real index.

What is trusted publishing on PyPI?

PyPI’s documentation describes it as publishing with OpenID Connect, so a CI workflow proves its identity to PyPI instead of using a long-lived API token. You register the repository and workflow as a trusted publisher on the project. It reduces the damage if a token leaks, since there is no token to leak.

How do I get my package onto conda-forge?

Add a recipe and licence to the staged-recipes repository and open a pull request, as the conda-forge maintainer guide describes. The team reviews it and helps with changes. Once merged, you become the package’s maintainer. The guide suggests grayskull to generate the recipe from a PyPI release, then checking it by hand.

Post your build ideas publishes this page and runs a free launch board that competes with some of the sites it names. Facts about other sites came from their own pages on the date shown above; terms, queues and prices change, so confirm on their sites before you decide. About the publisher.