Skip to content

wasi-master/pypi-command-line

Repository files navigation

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

  • 🚀 Extremely intuitive and easy to use.
  • 🌟 Beautiful UI with pleasant colors everywhere.
  • 😁 Emojis in responses and errors.
  • 📰 Great Markdown and reStructuredText support for viewing project descriptions.
  • 😎 Many features (There are optional parameters for extra information too!).
  • 💻 Cross-platform.
  • 🤯 Open source.
  • 📚 Extensive documentation.

Info

Hide Info

Download Count

I've included both PePy and PyPIStats since PyPIStats by default does not include mirrors in it's count1. Also see psincraian/pepy#351

Period From PePy From PyPiStats
Day Downloads yesterday
Week Downloads Downloads in the last 7 days
Month Downloads Downloads in the last 30 days
Total Downloads

Meta

Title Badge
Version Version
Wheel availability PyPI Wheel availability
Supported python versions Supported python versions
Python Implementation Python Implementation

GitHub

Title Badge
Number of issues open Number of issues open
Number of issues closed Number of issues closed
Number of pull requests Number of pull requests
Number of stars Number of stars on GitHub

Misc

Title Badge
Documentation status Documentation status
Lines of code Lines of code

Screenshots

Click to hide screenshots

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

Installation

  • Installing from PyPI (recommended).

    pip install pypi-command-line

    If you want to also install speed dependencies

    pip install "pypi-command-line[speedups]"
  • Installing from source.

    pip install git+https://github.com/wasi-master/pypi-command-line.git

    If you want to also install speed dependencies

    pip install "pypi-command-line[speedups] @ git+https://github.com/wasi-master/pypi-command-line.git"

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

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[?] 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.

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 which took like 4 mins, then I assume it downloads the github stars data? 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

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

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

TL;DR: Is this really necessary?

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