
Short answer: PyPI publishes RSS feeds for new releases, so you can announce every new version of a Python package automatically. Use https://pypi.org/rss/project/your-package/releases.xml for one project, add the address as a source in an auto-poster, and each new release is shared on the channels you choose, such as Mastodon, Bluesky, Discord, Matrix or a team chat. Keyword filters can hide pre-releases, and a short message format keeps announcements clear.
Maintainers of open-source packages spend hours on code and often no time at all on announcements. Users, in turn, learn about a fix or a new feature weeks late, or never. PyPI, the Python Package Index, already publishes feeds that tell the world when a new version appears. All that is missing is a tool that turns each feed item into a post. This guide explains which PyPI feeds exist, how to use them for your own project or for the packages you depend on, how to avoid noisy announcements and which channels work best for developer communities.
PyPI offers several RSS feeds that need no account or key:
https://pypi.org/rss/project/your-package/releases.xml, with the real package name in place of the example. Each new version of that package becomes a feed item.https://pypi.org/rss/updates.xml. It is very busy and is mostly useful for research or a curated channel with strong filters.https://pypi.org/rss/packages.xml. It lists packages that have just been registered.Open a feed in a browser or with curl before you connect it. The method is explained in debugging an RSS feed with curl. Look at what the title and description contain, because the exact text can differ from what you expect, and the preview in your auto-poster will use those fields.
The same feed serves several groups:
For code hosted on GitHub, the repository also has its own release feed, which is described in auto-posting GitHub releases to social media and Discord. The PyPI feed is useful when the package version on PyPI is the moment that matters, because that is when users can actually install the new release.
Decide in advance whether older releases should be posted. When you add a feed for the first time, an auto-poster could treat the existing items as new. Choose a start date so that only future releases are announced, unless you want to catch up on the latest few.
A release post is read by people who are busy, so it should say what happened in one glance. The feed gives you the version and a link to the release page. Make the post carry both, and let the link do the rest. Several habits improve the result:
Projects often publish release candidates, alpha and beta builds, and development versions. Not every audience wants to hear about each one. If a pre-release marker appears in the feed item, such as rc, alpha, beta or dev, you can exclude it with keyword filters. PostRSS can include or exclude items by keywords found in the title and the description, so a source can be set up to skip them. If the marker does not appear in the text of the feed item, you may need to filter at the channel level instead, for example by sending all releases to a quiet channel for maintainers and only announcing stable versions publicly after checking.
When you follow many packages through the newest-updates feed, filters become essential. Include only the package names you care about, and exclude the rest. A feed of everything on the index would produce thousands of items a day and make any channel unusable.
| Channel | Best for | Notes |
|---|---|---|
| Mastodon | Open-source maintainers and users | Active developer community; hashtags help discovery |
| Bluesky | Developers and tech writers | Short posts with a link work well |
| Discord or Matrix | Project communities | A releases channel that people can mute |
| Canale Telegram | Subscribers who want notifications | Simple and reliable for announcements |
| Chat di team | Internal teams | Dependency updates for engineers |
| Company-backed libraries | Fewer posts; use for major versions |
Most projects do best with one social channel and one community channel. Add more only if you can keep each one useful. More ideas on connecting a feed to a chat are in RSS to team chat.
If you maintain the package, the feed is only half of the announcement. The post that appears automatically tells people that a version exists. A good release also needs a clear changelog, a link to the documentation for new features and a note about anything that breaks existing code. Write the changelog as part of the release process, and the automatic post will point to something useful. For important releases, such as a new major version, add a manual post that explains why it matters. The automatic post then works as a steady baseline, and the manual posts are reserved for news worth discussing.
An announcement bot should never be a source of confusion about what is safe to install. Link to the official release page on PyPI, not to a mirror or a shortener, so users can verify the project and the version. Do not include install commands that you have not tested. If a release is yanked or removed because of a mistake, correct it in the project’s own channels. An auto-poster only reports what appears in the feed; it does not know about problems you find later, and it cannot withdraw a post that has already been shared on other networks, so a short follow-up from you may be needed.
Engineering teams rarely read release pages. A new version of a web framework, a database driver or a security library can matter a lot, yet the news arrives by chance, if at all. A small releases channel in your team chat solves this. Add one source for each important dependency, send them all to one channel and agree on a simple routine: someone looks at the channel once a week, reads the changelog of anything that affects your product and opens a ticket when an upgrade is needed. Because each message links to the official release page, the routine takes minutes. Keep the list short, around ten to twenty packages, so that the channel stays readable. Review the list every few months, and remove packages you no longer use.
The message format decides how readable the announcements are. Two layouts work well for most projects:
Test both on a private channel first. Check how the preview card looks, whether the link opens the expected page and whether the text is cut off. Character limits differ by network, as explained in the guide to platform character limits and formatting.
PostRSS has been publishing RSS and Atom feeds to social networks since 2014. Add a PyPI feed address as a source, connect your accounts and choose how each post is built from the title, the description or the page title. PostRSS checks the feed as often as every minute and shares each new item, with its link, to the channels you choose among 66 supported networks, messengers, team chats and blogs, including Mastodon, Bluesky, Matrix, Discord, Telegram and LinkedIn. Keyword filters let you include or exclude items by words in the title and description, hashtags can come from categories, and a start date prevents old items from being posted. See the PostRSS features page and the plan limits on the pricing page. More developer guides are under the Technical Guide tag.
PyPI already tells the world when a package gets a new version; an auto-poster only has to listen. Use the release feed of your own project or of the packages you depend on, choose a start date, name the package in each message and filter out pre-releases. Send the announcements to the channels where your users already are, and keep a manual post for the releases that deserve an explanation.
Yes. The releases feed of a project is available at the PyPI address for RSS followed by the project path and the name of the package. Replace the example name with your own package and open the address in a browser to check it.
Often yes. If pre-release markers such as rc, alpha, beta or dev appear in the feed item text, use keyword filters to exclude them. If they do not appear, announce selectively or review before sharing publicly.
That depends on the settings. Choose a start date so that only new releases are shared, and check the first posts after you connect the feed.
Yes. Add one source for each package, and send them to the same channel. For a large list, keep the channel separate from your main social accounts so that people can mute it.
Yes. Paste the feed address as a source in PostRSS, connect your accounts and each new release is posted automatically.
{“@context”: “https://schema.org”, “@type”: “FAQPage”, “mainEntity”: [{“@type”: “Question”, “name”: “Does PyPI have an RSS feed for a single package?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Yes. The releases feed of a project is available at the PyPI address for RSS followed by the project path and the name of the package. Replace the example name with your own package and open the address in a browser to check it.”}}, {“@type”: “Question”, “name”: “Can I announce only stable releases?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Often yes. If pre-release markers such as rc, alpha, beta or dev appear in the feed item text, use keyword filters to exclude them. If they do not appear, announce selectively or review before sharing publicly.”}}, {“@type”: “Question”, “name”: “Will old releases be posted when I add the feed?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “That depends on the settings. Choose a start date so that only new releases are shared, and check the first posts after you connect the feed.”}}, {“@type”: “Question”, “name”: “Can I follow many packages in one channel?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Yes. Add one source for each package, and send them to the same channel. For a large list, keep the channel separate from your main social accounts so that people can mute it.”}}, {“@type”: “Question”, “name”: “Can I use the PyPI feed with PostRSS?”, “acceptedAnswer”: {“@type”: “Answer”, “text”: “Yes. Paste the feed address as a source in PostRSS, connect your accounts and each new release is posted automatically.”}}]}
What changed in the networks, what broke, and how to fix it before it costs you reach.
Realizzati da Internet Solutions, il team dietro PostRSS. Ognuno ti fa risparmiare tempo in modo diverso.