Home

Awesome

pypi-command-line

pypi-command-line is a colorful, powerful, and beautiful command line interface for pypi.org that is actively maintained

Detailed Documentation available at https://wasi-master.github.io/pypi-command-line/

Features

Info

<details open> <summary>Hide Info</summary>

Download Count

I've included both PePy and PyPIStats since PyPIStats by default does not include mirrors in it's count<sup>1</sup>. Also see https://github.com/psincraian/pepy/issues/351

PeriodFrom PePyFrom PyPiStats
DayDownloads yesterday
WeekDownloadsDownloads in the last 7 days
MonthDownloadsDownloads in the last 30 days
TotalDownloads

Meta

TitleBadge
VersionVersion
Wheel availabilityPyPI Wheel availability
Supported python versionsSupported python versions
Python ImplementationPython Implementation

GitHub

TitleBadge
Number of issues openNumber of issues open
Number of issues closedNumber of issues closed
Number of pull requestsNumber of pull requests
Number of starsNumber of stars on GitHub

Misc

TitleBadge
Documentation statusDocumentation status
Lines of codeLines of code
</details>

Screenshots

<details open> <summary>Click to hide screenshots</summary>

Command name and parameter autocompletion Autocomplete Smart error handling Error Handling Auto command aliases Smart Command Aliasing Search feature that gives the same results as on PyPI Search for a package using PyPI See detailed information about a project See project information View the project description right in your terminal with rich Markdown and reStructuredText formatting Get description from PyPI View the project readme from github Get readme content from GitHub Search for packages using regular expressions Search for packages using regex Open the package's URLs gotten from PyPI Browse for URLs See the project information with classifiers See project information with classifiers See the all time largest projects in PyPI See all time largest projects in PyPI Install autocompletion for the current shell Install Completion See the source code for the autocompletion Show Completion See a specific page of the search results Specify a page to search to

</details>

Installation

Usage

To see all the available commands use:

pypi --help

For more information on a certain command use pypi <command_name> --help. For example,

pypi search --help

For a full guide see https://wasi-master.github.io/pypi-command-line/usage.

Alternatives

pypi-cli

Now this probably was the best option before pypi-command-line came out and it does have some flaws. The information command of pypi-cli is pretty minimal, there's no way of seeing the github information, The download count doesn't work properly, the long descriptions aren't formatted at all with pypi-cli. pypi-cli uses the xml-rpc<sup>[<a title="XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism." href="https://en.wikipedia.org/wiki/XML-RPC" target="_blank">?</a>]</sup> API that is discontinued So the search feature doesn't work anymore, . The stat command is broken and is badly formatted for screens that are not ultra wide. And the project is unmaintained and archived

TL;DR The stat and search commands don't work anymore, the information command kinda works but the download count doesn't work, can't see github information, descriptions are raw.

pypi-client

So this can just search for packages on pypi and that's it. Now don't you think that this is inherently bad as per se. So I tried it out immediately and it just got stuck loading the packages, pypi-client gets names of all the packages that exist pypi<sup><a title=Reference href="https://github.com/abahdanovich/pypi-client#:~:text=fetches%20all%20package%20names%20from%20pypi" target="_blank">β€Ύ</a></sup> which took like 4 mins, then I assume it downloads the github stars data?<sup><a title=Reference href="https://github.com/abahdanovich/pypi-client#:~:text=downloads%20github%20stars" target="_blank">β€Ύ</a></sup> Which takes like another 3 mins and then It just asked me to authorize with github… like why does pypi-client even need authorization from me since github has a public api. And then it showed this which isn't really unreadable just badly formatted for screens that are not ultra wide. by changing the font size a bit I could make it look like this which still isn't bad just a bit convoluted. And even at the end of the day the results are manually searched through therefore different from pypi<sup><a title=Example href="https://i.imgur.com/2AuCKuX.jpg" target="_blank">β€Ύ</a></sup>

TL;DR: Takes too long (β‰ˆ7 mins), Needs github authorization, badly formatted for non ultra wide monitors, searches manually so results are different compared to pypi

yolk

Discontinued 9 years ago, only supports python 2. Uses flags instead of subcommands for everything.

TL;DR: Is this really necessary?

qypi

So, this library is most likely the best alternative for pypi-command-line. But the output is in json, uses the xml-rpc api for search which is discontinued, the readme command doesn't work for me, the list command doesn't have a progressbar

TL;DR: Output is only in json, without color. The search command doesn't work anymore. Has no progressbar for long running tasks