Archive
Install a package via pip even if PyPI is down
Easy access to download stats for PyPI packages
Problem
You have a project that you pushed on PyPI and you want to check how many times it has been downloaded.
Solution
Use the command-line script vanity.
Installation:
sudo pip install vanity
Example:
$ vanity jabbapylib jabbapylib-0.1.0.tar.gz 2012-01-25 81 jabbapylib-0.1.1.tar.gz 2012-02-17 0 ----------------------------------------------- jabbapylib has been downloaded 81 times!
Upload your first project to PyPI
Today I uploaded my jabbapylib project to PyPI, available here.
For preparing my first public pypi project, I followed this tutorial. For understanding how to package a Python library, read Mark Pilgrim’s corresponding book chapter.
I only want to add the following remarks:
- In
setup.py, I import “fromsetuptoolsimport setup, find_packages“. Noticesetuptoolsinstead ofdistutils.core. - In the prepared package I wanted to include the library
jabbapylib/recursively since all the source codes are there. I could do that with this line: “packages = find_packages(exclude=['demos', 'dist', 'tests'])“, i.e. include all subdirectories with the exception of the ones in the list. What remains in my case is the “jabbapylib” folder. - My library has some dependencies, they are specified here: “
install_requires=['html5lib', 'psutil', 'pytest']“. When jabbapylib is installed with pip, pip will install these packages too. - You can create your own
MANIFEST.infile to specify what to include and what to exclude. However, if you want to add the directory that contains all the sources, do as indicated in step (2). - For checking, packaging and uploading I made some simple scripts.
Extra packages in PyPI
“The Python Package Index (PyPI) is a repository of software for the Python programming language. There are currently 13,756 packages here…
…to use a package from this index either “pip install package” or download, unpack and “python setup.py install” it.” (source)
The easiest way is to use the pip installer:
sudo pip install <package_name>
