DEV Community

Vishnu Das Puthukudi
Vishnu Das Puthukudi

Posted on

Simplifying Releases: A Journey with Text2page

In the context of open-source development, making sure that consumers can readily obtain and profit from the most recent changes requires developing a smooth release procedure. I'll talk about my experience releasing Text2page, a command-line utility for Python that makes it easier to turn plain text files into well-organized HTML publications, in this blog post.

I used Twine for the release process and PyPI as the package registry for this project. Twine is a tool for publishing Python packages to PyPI, and PyPI is the official repository for Python programmes.

Creating a Release: Step by Step

Prior to starting the release process, I made sure my project followed the guidelines for Python packaging. Included in the project structure were necessary files such as style.css and text2page.py. To describe package information and dependencies, I wrote a setup.py file. The setup.py version number was changed to correspond with the project's current status.

To create source and wheel distribution packages, I ran the following commands:

python setup.py sdist bdist_wheel

Before making the release public, I uploaded the package to the Test PyPI to catch any issues. The following command was used:

twine upload --repository-url https://test.pypi.org/legacy/ dist/*

Once satisfied with the Test PyPI, I proceeded to upload the package to the official PyPI:

twine upload dist/*

To tag the release on GitHub, I used:

git tag v0.1.0
git push origin v0.1.0

I added details on the new features and changes included in this release to the README.md file. urged people to download and try out the latest version. gathered input to make the project even better.It was satisfying to release Text2page. An open-source project's release process, user testing, and documentation updates are essential steps in its upkeep. With any luck, this post helps shed some light on the release process and inspire other devs.

Top comments (0)