Project release day is the best day for each and every developer. Everyone always wants to handover product to users ASAP. Today is the day, we decided to release v0.1 of readit tool. It was great experience, I thought development almost has done. Now we just need to TAG on GitHub for pre-release and also release v0.1 of readit
by uploading on PyPI. I had been doing minor changes for log time. But still there are somethings need to improve. Finally we decided to release it. I tagged master
branch for whatever work, I had done for pre-release. It's very simple process. I will introduce you to tag and pre-release of project on GitHub.
How to release project on GitHub
- Need to finalise the branch you want to TAG.
- Let's say, you decided to TAG whatever work you have done on
master
branch - Use following command for TAG
$ git tag -a tag_name -m tag_msg
- Need to push this TAG to remote
$ git push origin tag_name
- Now you can click on release. You will find two options
release
andTag
- Click on Tag and add release note which includes features in this release
- Now
publish notes
for this release - You will find in
Release
, your project's recent version
This is the whole tagging process. It took very less time. Now the pre-release was done. We moved towards PyPI. Which includes very few steps. Let me introduce you to How I uploaded Python project readit on PyPI
This blog by Anwesha Das has helped us very well. Also you need to register to PyPI. click here
- We will upload project using
twine
tool.
$ sudo dnf install python3-twine
- Now we need to create source distribution of project code
$ python setup.py sdist
- The
tar
file will be created underdist
folder -
Just two steps remaning, enter you username and password of PyPI.
- Register project using twin tool
$ twine-3 register dist/readit-0.1.tar.gz
- Upload project to PyPI
$ twine-3 upload dist/readit-0.1.tar.gz
-
Now you have your project ready to install
$ pip3 install --user readit
Congratulations! you have released your project by uploading on PyPI.
Then we visited to PyPI site as novice user. We found that it is showing raw text of README.md
for information regarding tool - readit. We searched for this issue also refered some projects on PyPI like diceware, gitcen etc. and concluded that PyPI only supports RestructuredText. Also we got stuck to from where does this PyPI collects info automatically. We found that in setup.py, we write long description
and this is the content which is automatically taken by PyPI as an information of product.
Now we are converting README.md to ReStructuredText so that we can give this content to PyPI through long description
.
This was all about first release experience. Also Because of some minor changes, we did release of v0.1.1. Now I want to introduce you to my project readit
Readit is powerful command line bookmark manager. where you can add, delete, update and display the bookmarks. For more info please click here
We have been developing this project since one and half month. I got great help from @bhavin192, @akshay and my project members @shitalmule and @daivshala. Also our project guide Mrs. S. Patil madam always motivated us.
First of all thank you for Red Hat for giving us such great opportunity.
I personally want to thank my mentors from Red Hat @chandankumar and @amolkahat. They have given me direction and most importantly replied my queries from their busy schedule.
Finally, I want to thank all those IRC members who helped us to develop
readit
Thank you.