diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pypi-command-line.spec | 670 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 672 insertions, 0 deletions
@@ -0,0 +1 @@ +/pypi_command_line-1.7.tar.gz diff --git a/python-pypi-command-line.spec b/python-pypi-command-line.spec new file mode 100644 index 0000000..d445b4c --- /dev/null +++ b/python-pypi-command-line.spec @@ -0,0 +1,670 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pypi-command-line +Version: 1.7 +Release: 1 +Summary: A beautiful command line interface for the Python Package Index +License: MIT +URL: https://wasi-master.github.io/pypi-command-line/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/af/e0/5bae7552a12001e4201fe265053a376a394e0fbc306453381229993ee896/pypi_command_line-1.7.tar.gz +BuildArch: noarch + +Requires: python3-bs4 +Requires: python3-rich-click +Requires: python3-humanize +Requires: python3-packaging +Requires: python3-questionary +Requires: python3-requests +Requires: python3-rich +Requires: python3-rich-rst +Requires: python3-thefuzz +Requires: python3-typer +Requires: python3-wheel-filename +Requires: python3-lxml +Requires: python3-rapidfuzz +Requires: python3-requests-cache +Requires: python3-shellingham +Requires: python3-ujson + +%description +# pypi-command-line + +`pypi-command-line` is a **colorful**, **powerful**, and **beautiful** command line interface for [pypi.org](https://pypi.org "The Python Package Index (PyPI) is a repository of software for the Python programming language.") 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!). + - See in-depth information about a package including it's download count and github repo stats. + - See beautifully rendered markdown/rst/plain text description of a package + - Search for packages with the same information as pypi and even filter them. + - Search for packages with regex, for example using `flask-.+` will show all flask extensions. + - Browse for a package's URLs and open any of those URLs inside a browser with a beautiful colored link selection menu + - See all the releases of a package, along with when they were made and their size. + - See New projects and new releases [just like PyPI](https://pypi.org#pypi-trending-packages). + - See top 100 of the largest packages [just like PyPI](https://pypi.org/stats/). + - Many more... ( + command list includes + [`browse`](https://wasi-master.github.io/pypi-command-line/usage/#browse), + [`information`](https://wasi-master.github.io/pypi-command-line/usage/#information), + [`description`](https://wasi-master.github.io/pypi-command-line/usage/#description), + [`search`](https://wasi-master.github.io/pypi-command-line/usage/#search), + [`wheels`](https://wasi-master.github.io/pypi-command-line/usage/#wheels), + [`releases`](https://wasi-master.github.io/pypi-command-line/usage/#releases), + [`largest-files`](https://wasi-master.github.io/pypi-command-line/usage/#largest-files), + [`regex-search`](https://wasi-master.github.io/pypi-command-line/usage/#regex-search), + [`version`](https://wasi-master.github.io/pypi-command-line/usage/#version), + [`cache-info`](https://wasi-master.github.io/pypi-command-line/usage/#cache-info), + [`cache-refresh`](https://wasi-master.github.io/pypi-command-line/usage/#cache-refresh), + [`cache-clear`](https://wasi-master.github.io/pypi-command-line/usage/#cache-clear), + [`new-packages`](https://wasi-master.github.io/pypi-command-line/usage/#new-packages), + [`new-releases`](https://wasi-master.github.io/pypi-command-line/usage/#new-releases), + [`read-the-docs`](https://wasi-master.github.io/pypi-command-line/usage/#read-the-docs) + ) +- π» Cross-platform. +- π€― Open source. +- π Extensive documentation. + +## Info + +<details open> +<summary>Hide Info</summary> + +### Download Count + +I've included both [PePy](https://pepy.tech/) and [PyPIStats](https://pypistats.org/) since PyPIStats by default does not include mirrors in it's count<sup>[1](https://pypistats.org/faqs#why-are-the-cumulative-download-counts-different-from-the-sum-of)</sup>. Also see <https://github.com/psincraian/pepy/issues/351> + +| Period | From [PePy](https://pepy.tech/project/pypi-command-line) | From [PyPiStats](https://pypistats.org/packages/pypi-command-line) | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Day | | [](https://pypistats.org/packages/pypi-command-line) | +| Week | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Month | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Total | [](https://pepy.tech/project/pypi-command-line) | + +### Meta + +| Title | Badge | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Version | [](https://pypi.org/project/pypi-command-line/) | +| Wheel availability | [](https://pypi.org/project/pypi-command-line/#files) | +| Supported python versions | [](https://pypi.org/project/pypi-command-line/#:~:text=requires%3A%20python%20%3E%3D3.6) | +| Python Implementation | [](https://pypi.org/project/pypi-command-line/#:~:text=programming%20language) | + +### GitHub + +| Title | Badge | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Number of issues open | [](https://github.com/wasi-master/pypi-command-line/issues) | +| Number of issues closed | [](https://github.com/wasi-master/pypi-command-line/issues?q=is%3Aissue++is%3Aclosed+) | +| Number of pull requests | [](https://github.com/wasi-master/pypi-command-line/pulls) | +| Number of stars | [](https://github.com/wasi-master/pypi-command-line/stargazers) | + +### Misc + +| Title | Badge | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Documentation status | [](https://wasi-master.github.io/pypi-command-line) | +| Lines of code | [](https://github.com/wasi-master/pypi-command-line/) | + +</details> + +## Screenshots + +<details open> +<summary>Click to hide screenshots</summary> + +Command name and parameter autocompletion + +Smart error handling + +Auto command aliases + +Search feature that gives the same results as on PyPI + +See detailed information about a project + +View the project description right in your terminal with rich Markdown and reStructuredText formatting + +View the project readme from github + +Search for packages using regular expresssions + +Open the package's URLs gotten from PyPI + +See the project information with classifiers + +See the all time largest projects in PyPI + +Install autocompletion for the current shell + +See the source code for the autocompletion + +See a specific page of the search results + + +</details> + +## Installation + +- Installing from PyPI (recommended). + + ```sh + pip install pypi-command-line + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups]" + ``` + +- Installing from source. + + ```sh + pip install git+https://github.com/wasi-master/pypi-command-line.git + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups] @ git+https://github.com/wasi-master/pypi-command-line.git" + ``` + +## Usage + +To see all the available commands use: + +```sh +pypi --help +``` + +For more information on a certain command use `pypi <command_name> --help`. For example, + +```sh +pypi search --help +``` + +For a full guide see <https://wasi-master.github.io/pypi-command-line/usage>. + +## Alternatives + +### [pypi-cli](https://pypi.org/project/pypi-cli/ "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](https://pypi.org/project/pypi-client/ "pypi-client") + +So this can just search for packages on pypi and thats 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](https://i.imgur.com/D0VJhmZ.png "Demo of the program that has been badly formatted") 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](https://i.imgur.com/usU2AnJ.jpeg "Demo of the program after lowering the font size") 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](https://pypi.org/project/yolk/ "yolk") + +Discontinued 9 years ago, only supports python 2. Uses flags instead of subcommands for everything. + +**TL;DR:** +Is this really necessary? + +### [qypi](https://pypi.org/project/qypi/ "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 + + + + +%package -n python3-pypi-command-line +Summary: A beautiful command line interface for the Python Package Index +Provides: python-pypi-command-line +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pypi-command-line +# pypi-command-line + +`pypi-command-line` is a **colorful**, **powerful**, and **beautiful** command line interface for [pypi.org](https://pypi.org "The Python Package Index (PyPI) is a repository of software for the Python programming language.") 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!). + - See in-depth information about a package including it's download count and github repo stats. + - See beautifully rendered markdown/rst/plain text description of a package + - Search for packages with the same information as pypi and even filter them. + - Search for packages with regex, for example using `flask-.+` will show all flask extensions. + - Browse for a package's URLs and open any of those URLs inside a browser with a beautiful colored link selection menu + - See all the releases of a package, along with when they were made and their size. + - See New projects and new releases [just like PyPI](https://pypi.org#pypi-trending-packages). + - See top 100 of the largest packages [just like PyPI](https://pypi.org/stats/). + - Many more... ( + command list includes + [`browse`](https://wasi-master.github.io/pypi-command-line/usage/#browse), + [`information`](https://wasi-master.github.io/pypi-command-line/usage/#information), + [`description`](https://wasi-master.github.io/pypi-command-line/usage/#description), + [`search`](https://wasi-master.github.io/pypi-command-line/usage/#search), + [`wheels`](https://wasi-master.github.io/pypi-command-line/usage/#wheels), + [`releases`](https://wasi-master.github.io/pypi-command-line/usage/#releases), + [`largest-files`](https://wasi-master.github.io/pypi-command-line/usage/#largest-files), + [`regex-search`](https://wasi-master.github.io/pypi-command-line/usage/#regex-search), + [`version`](https://wasi-master.github.io/pypi-command-line/usage/#version), + [`cache-info`](https://wasi-master.github.io/pypi-command-line/usage/#cache-info), + [`cache-refresh`](https://wasi-master.github.io/pypi-command-line/usage/#cache-refresh), + [`cache-clear`](https://wasi-master.github.io/pypi-command-line/usage/#cache-clear), + [`new-packages`](https://wasi-master.github.io/pypi-command-line/usage/#new-packages), + [`new-releases`](https://wasi-master.github.io/pypi-command-line/usage/#new-releases), + [`read-the-docs`](https://wasi-master.github.io/pypi-command-line/usage/#read-the-docs) + ) +- π» Cross-platform. +- π€― Open source. +- π Extensive documentation. + +## Info + +<details open> +<summary>Hide Info</summary> + +### Download Count + +I've included both [PePy](https://pepy.tech/) and [PyPIStats](https://pypistats.org/) since PyPIStats by default does not include mirrors in it's count<sup>[1](https://pypistats.org/faqs#why-are-the-cumulative-download-counts-different-from-the-sum-of)</sup>. Also see <https://github.com/psincraian/pepy/issues/351> + +| Period | From [PePy](https://pepy.tech/project/pypi-command-line) | From [PyPiStats](https://pypistats.org/packages/pypi-command-line) | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Day | | [](https://pypistats.org/packages/pypi-command-line) | +| Week | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Month | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Total | [](https://pepy.tech/project/pypi-command-line) | + +### Meta + +| Title | Badge | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Version | [](https://pypi.org/project/pypi-command-line/) | +| Wheel availability | [](https://pypi.org/project/pypi-command-line/#files) | +| Supported python versions | [](https://pypi.org/project/pypi-command-line/#:~:text=requires%3A%20python%20%3E%3D3.6) | +| Python Implementation | [](https://pypi.org/project/pypi-command-line/#:~:text=programming%20language) | + +### GitHub + +| Title | Badge | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Number of issues open | [](https://github.com/wasi-master/pypi-command-line/issues) | +| Number of issues closed | [](https://github.com/wasi-master/pypi-command-line/issues?q=is%3Aissue++is%3Aclosed+) | +| Number of pull requests | [](https://github.com/wasi-master/pypi-command-line/pulls) | +| Number of stars | [](https://github.com/wasi-master/pypi-command-line/stargazers) | + +### Misc + +| Title | Badge | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Documentation status | [](https://wasi-master.github.io/pypi-command-line) | +| Lines of code | [](https://github.com/wasi-master/pypi-command-line/) | + +</details> + +## Screenshots + +<details open> +<summary>Click to hide screenshots</summary> + +Command name and parameter autocompletion + +Smart error handling + +Auto command aliases + +Search feature that gives the same results as on PyPI + +See detailed information about a project + +View the project description right in your terminal with rich Markdown and reStructuredText formatting + +View the project readme from github + +Search for packages using regular expresssions + +Open the package's URLs gotten from PyPI + +See the project information with classifiers + +See the all time largest projects in PyPI + +Install autocompletion for the current shell + +See the source code for the autocompletion + +See a specific page of the search results + + +</details> + +## Installation + +- Installing from PyPI (recommended). + + ```sh + pip install pypi-command-line + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups]" + ``` + +- Installing from source. + + ```sh + pip install git+https://github.com/wasi-master/pypi-command-line.git + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups] @ git+https://github.com/wasi-master/pypi-command-line.git" + ``` + +## Usage + +To see all the available commands use: + +```sh +pypi --help +``` + +For more information on a certain command use `pypi <command_name> --help`. For example, + +```sh +pypi search --help +``` + +For a full guide see <https://wasi-master.github.io/pypi-command-line/usage>. + +## Alternatives + +### [pypi-cli](https://pypi.org/project/pypi-cli/ "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](https://pypi.org/project/pypi-client/ "pypi-client") + +So this can just search for packages on pypi and thats 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](https://i.imgur.com/D0VJhmZ.png "Demo of the program that has been badly formatted") 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](https://i.imgur.com/usU2AnJ.jpeg "Demo of the program after lowering the font size") 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](https://pypi.org/project/yolk/ "yolk") + +Discontinued 9 years ago, only supports python 2. Uses flags instead of subcommands for everything. + +**TL;DR:** +Is this really necessary? + +### [qypi](https://pypi.org/project/qypi/ "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 + + + + +%package help +Summary: Development documents and examples for pypi-command-line +Provides: python3-pypi-command-line-doc +%description help +# pypi-command-line + +`pypi-command-line` is a **colorful**, **powerful**, and **beautiful** command line interface for [pypi.org](https://pypi.org "The Python Package Index (PyPI) is a repository of software for the Python programming language.") 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!). + - See in-depth information about a package including it's download count and github repo stats. + - See beautifully rendered markdown/rst/plain text description of a package + - Search for packages with the same information as pypi and even filter them. + - Search for packages with regex, for example using `flask-.+` will show all flask extensions. + - Browse for a package's URLs and open any of those URLs inside a browser with a beautiful colored link selection menu + - See all the releases of a package, along with when they were made and their size. + - See New projects and new releases [just like PyPI](https://pypi.org#pypi-trending-packages). + - See top 100 of the largest packages [just like PyPI](https://pypi.org/stats/). + - Many more... ( + command list includes + [`browse`](https://wasi-master.github.io/pypi-command-line/usage/#browse), + [`information`](https://wasi-master.github.io/pypi-command-line/usage/#information), + [`description`](https://wasi-master.github.io/pypi-command-line/usage/#description), + [`search`](https://wasi-master.github.io/pypi-command-line/usage/#search), + [`wheels`](https://wasi-master.github.io/pypi-command-line/usage/#wheels), + [`releases`](https://wasi-master.github.io/pypi-command-line/usage/#releases), + [`largest-files`](https://wasi-master.github.io/pypi-command-line/usage/#largest-files), + [`regex-search`](https://wasi-master.github.io/pypi-command-line/usage/#regex-search), + [`version`](https://wasi-master.github.io/pypi-command-line/usage/#version), + [`cache-info`](https://wasi-master.github.io/pypi-command-line/usage/#cache-info), + [`cache-refresh`](https://wasi-master.github.io/pypi-command-line/usage/#cache-refresh), + [`cache-clear`](https://wasi-master.github.io/pypi-command-line/usage/#cache-clear), + [`new-packages`](https://wasi-master.github.io/pypi-command-line/usage/#new-packages), + [`new-releases`](https://wasi-master.github.io/pypi-command-line/usage/#new-releases), + [`read-the-docs`](https://wasi-master.github.io/pypi-command-line/usage/#read-the-docs) + ) +- π» Cross-platform. +- π€― Open source. +- π Extensive documentation. + +## Info + +<details open> +<summary>Hide Info</summary> + +### Download Count + +I've included both [PePy](https://pepy.tech/) and [PyPIStats](https://pypistats.org/) since PyPIStats by default does not include mirrors in it's count<sup>[1](https://pypistats.org/faqs#why-are-the-cumulative-download-counts-different-from-the-sum-of)</sup>. Also see <https://github.com/psincraian/pepy/issues/351> + +| Period | From [PePy](https://pepy.tech/project/pypi-command-line) | From [PyPiStats](https://pypistats.org/packages/pypi-command-line) | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Day | | [](https://pypistats.org/packages/pypi-command-line) | +| Week | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Month | [](https://pepy.tech/project/pypi-command-line) | [](https://pypistats.org/packages/pypi-command-line) | +| Total | [](https://pepy.tech/project/pypi-command-line) | + +### Meta + +| Title | Badge | +| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Version | [](https://pypi.org/project/pypi-command-line/) | +| Wheel availability | [](https://pypi.org/project/pypi-command-line/#files) | +| Supported python versions | [](https://pypi.org/project/pypi-command-line/#:~:text=requires%3A%20python%20%3E%3D3.6) | +| Python Implementation | [](https://pypi.org/project/pypi-command-line/#:~:text=programming%20language) | + +### GitHub + +| Title | Badge | +| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Number of issues open | [](https://github.com/wasi-master/pypi-command-line/issues) | +| Number of issues closed | [](https://github.com/wasi-master/pypi-command-line/issues?q=is%3Aissue++is%3Aclosed+) | +| Number of pull requests | [](https://github.com/wasi-master/pypi-command-line/pulls) | +| Number of stars | [](https://github.com/wasi-master/pypi-command-line/stargazers) | + +### Misc + +| Title | Badge | +| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Documentation status | [](https://wasi-master.github.io/pypi-command-line) | +| Lines of code | [](https://github.com/wasi-master/pypi-command-line/) | + +</details> + +## Screenshots + +<details open> +<summary>Click to hide screenshots</summary> + +Command name and parameter autocompletion + +Smart error handling + +Auto command aliases + +Search feature that gives the same results as on PyPI + +See detailed information about a project + +View the project description right in your terminal with rich Markdown and reStructuredText formatting + +View the project readme from github + +Search for packages using regular expresssions + +Open the package's URLs gotten from PyPI + +See the project information with classifiers + +See the all time largest projects in PyPI + +Install autocompletion for the current shell + +See the source code for the autocompletion + +See a specific page of the search results + + +</details> + +## Installation + +- Installing from PyPI (recommended). + + ```sh + pip install pypi-command-line + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups]" + ``` + +- Installing from source. + + ```sh + pip install git+https://github.com/wasi-master/pypi-command-line.git + ``` + + If you want to also install [speed dependencies](https://wasi-master.github.io/pypi-command-line/notes#speedups) + + ```sh + pip install "pypi-command-line[speedups] @ git+https://github.com/wasi-master/pypi-command-line.git" + ``` + +## Usage + +To see all the available commands use: + +```sh +pypi --help +``` + +For more information on a certain command use `pypi <command_name> --help`. For example, + +```sh +pypi search --help +``` + +For a full guide see <https://wasi-master.github.io/pypi-command-line/usage>. + +## Alternatives + +### [pypi-cli](https://pypi.org/project/pypi-cli/ "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](https://pypi.org/project/pypi-client/ "pypi-client") + +So this can just search for packages on pypi and thats 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](https://i.imgur.com/D0VJhmZ.png "Demo of the program that has been badly formatted") 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](https://i.imgur.com/usU2AnJ.jpeg "Demo of the program after lowering the font size") 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](https://pypi.org/project/yolk/ "yolk") + +Discontinued 9 years ago, only supports python 2. Uses flags instead of subcommands for everything. + +**TL;DR:** +Is this really necessary? + +### [qypi](https://pypi.org/project/qypi/ "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 + + + + +%prep +%autosetup -n pypi-command-line-1.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pypi-command-line -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7-1 +- Package Spec generated @@ -0,0 +1 @@ +e277b5c10e6a4805b07f24f2191fa59c pypi_command_line-1.7.tar.gz |