A powerful, colorful, beautiful command-line-interface for pypi.org

Overview

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 https://github.com/psincraian/pepy/issues/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 expresssions 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 --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[?] 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 thats it. Now don't you think that this is inherently bad as per say. 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

Comments
  • [BUG] TypeError: Command.__init__() got an unexpected keyword argument 'rich_markup_mode'

    [BUG] TypeError: Command.__init__() got an unexpected keyword argument 'rich_markup_mode'

    Describe the bug

    This doesn't work anymore.

    To Reproduce

    Steps to reproduce the behavior:

    1. Use the command pipx run 'pypi-command-line'.
    ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
    │ <string>:3 in <module>                                                                           │
    │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
    │ │ __annotations__ = {}                                                                         │ │
    │ │    __builtins__ = <module 'builtins' (built-in)>                                             │ │
    │ │         __doc__ = None                                                                       │ │
    │ │      __loader__ = <class '_frozen_importlib.BuiltinImporter'>                                │ │
    │ │        __name__ = '__main__'                                                                 │ │
    │ │     __package__ = None                                                                       │ │
    │ │        __spec__ = None                                                                       │ │
    │ │        pypi_cli = <module 'pypi_cli' from                                                    │ │
    │ │                   '/Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/… │ │
    │ │             sys = <module 'sys' (built-in)>                                                  │ │
    │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/pypi_cli/_ │
    │ _main__.py:1463 in run                                                                           │
    │                                                                                                  │
    │   1460                                                                                           │
    │   1461 def run():                                                                                │
    │   1462 │   """Run the CLI."""                                                                    │
    │ ❱ 1463 │   app()                                                                                 │
    │   1464                                                                                           │
    │   1465                                                                                           │
    │   1466 if __name__ == "__main__":                                                                │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:328 in __call__                                                                              │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:311 in __call__                                                                              │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:350 in get_command                                                                           │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:332 in get_group                                                                             │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:483 in get_group_from_info                                                                   │
    │                                                                                                  │
    │ /Users/henryschreiner/.local/pipx/.cache/f20bc60165213c2/lib/python3.10/site-packages/typer/main │
    │ .py:579 in get_command_from_info                                                                 │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
    TypeError: Command.__init__() got an unexpected keyword argument 'rich_markup_mode'
    

    Information (please try to complete the following information):

    • OS : macOS
    • Terminal : iTerm
    • Shell : fish
    • OS Version : latest
    • Python Version : 3.10
    • Package Versions : latest (via pipx)

    Additional context

    Possibly a rich or typer update? Typer is 0.6.1 and rich 12.5.1.

    bug 
    opened by henryiii 14
  • [Feature Request] Ability to show python package releases for python interpreter

    [Feature Request] Ability to show python package releases for python interpreter

    Is your feature request related to a problem/bug/intentional feature? Please describe if it is.

    Ability to view when your project dependencies have updated/changed.

    Describe the solution you'd like.

    pypi history --python env/bin/python --limit 1
    
    # nested tree entries for version when limit > 1 else inline at the root level for the tree
    - X - 1.2.0 3 hours ago (Sat Oct 23 11:00:04 2021)
    - A - 1.0.0 5 days ago (Sat Oct 23 11:00:04 2021) 
    

    would display in reverse chronological order the latest release for all packages found in the env/bin/python interpreter. Bonus point for showing the last n releases, where n is a CLI argument.

    enhancement wontfix 
    opened by gaborbernat 14
  • [Feature Request] Some way to see all wheels available for a package

    [Feature Request] Some way to see all wheels available for a package

    Is your feature request related to a problem? Please describe.

    I'd like to easily see what platforms are covered by wheels on the latest (or selectable) release.

    Describe the solution you'd like

    Many a new command (unless it's covered by the ones here) that lists either the wheel names, or perhaps some enhanced view of the tags (some wheels may have multiple tags). It might be really nice to colorize the wheel(s) that match the current platform specially, as well the SDist.

    Describe alternatives you've considered Happy if this is already possible.

    Additional context For example, pipx run --spec pypi-command-line pypi <command> numpy.

    PS: Is there a way to escape browse without picking a choice? PS: What size is listed for releases? numpy's sizes per release don't make sense, unless that's the best matching wheel? Maybe that's what that is.

    enhancement 
    opened by henryiii 12
  • Pipx support

    Pipx support

    For any package that has a different command line interface, pipx run is much more pleasant if you also add an entry point for it. (not needed if the names match). See https://github.com/pipxproject/pipx/issues/600

    PS: I'd also recommend moving to setup.cfg, easier to work with and maintain. See https://packaging.python.org or https://scikit-hep.org/developer for examples.

    opened by henryiii 5
  • [BUG] GitHub info pane does not always show correct GitHub info if project README contains links to other GitHub repos

    [BUG] GitHub info pane does not always show correct GitHub info if project README contains links to other GitHub repos

    First, just wanted to say thank for the very useful utility! It's especially impressive given your age. Well done!

    Describe the bug The GitHub info pane produced by pypi info does not always show the correct info as the script is grabbing the wrong GitHub link from project README.

    To Reproduce Steps to reproduce the behavior:

    1. Use the command pypi info osxphotos
    2. See
    ╭───────── GitHub ─────────╮
    │ Name: pipxproject/pipx   │
    │ Size: 2,993 KB           │
    │ Stargazers: 4,191        │
    │ Issues/Pull Requests: 89 │
    │ Forks: 199               │
    ╰──────────────────────────╯
    

    Which is the GitHub info for pipx not osxphotos.

    Also, try pypi info osxmetadata which shows this for the GitHub info:

    ╭───────── GitHub ──────────╮
    │ Name: python/black        │
    │ Size: 5,863 KB            │
    │ Stargazers: 23,296        │
    │ Issues/Pull Requests: 347 │
    │ Forks: 1,477              │
    ╰───────────────────────────╯
    

    Expected behavior Expected to see the GitHub info for the project instead of a different project. This info is correctly shown by pypi.org.

    Screenshots pypi info osxphotos

    Screen Shot 2021-10-22 at 6 47 08 AM

    Same info from pypi.org

    Screen Shot 2021-10-22 at 6 46 36 AM

    pypi info osxmetadata

    Screen Shot 2021-10-22 at 6 45 43 AM

    Same info from pypi.org

    Screen Shot 2021-10-22 at 6 46 10 AM

    Desktop (please complete the following information):

    • OS: macOS
    • Browser Firefox
    • Version 10.15.7

    Additional context I believe the problem occurs when the project README contains a link to a GitHub repo that is not the repo for the project. This is quite common. For example, in the examples above, the project README contains a badge for code style black: [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)

    And also instructions to use pipx for installation and these GitHub repos are getting grabbed as the source repo for the package in these lines:

    https://github.com/wasi-master/pypi-command-line/blob/a65095fadc4fc2dcbec9e30589ff262fef9dc075/pypi_cli/main.py#L920-L924

    pypi.org does correctly parse the GitHub info so perhaps you can grab the data there or parse it the same they do. Both the projects in question, do contain a GitHub link in their project setup.py:

    https://github.com/RhetTbull/osxphotos/blob/0e9b9d625190b94c1dd68276e3b0e5367002d87c/setup.py#L60

    bug good issue 
    opened by RhetTbull 3
  • Fix an issue caused by a stupid change in pypi.org that broke all CLI clients

    Fix an issue caused by a stupid change in pypi.org that broke all CLI clients

    …to change the way bs4 parses the HTML data and replace the property strings with the correct ones

    Closes #

    📑 Description

    ✅ Checks

    • [x] My pull request adheres to the code style of this project if any
    • [ ] My code requires changes to the documentation
    • [x] I have updated the documentation as required
    • [x] All the tests have passed if any

    ℹ Additional Information

    opened by hemzaz 2
  • Bump typer[all] from 0.6.0 to 0.6.1

    Bump typer[all] from 0.6.0 to 0.6.1

    Bumps typer[all] from 0.6.0 to 0.6.1.

    Release notes

    Sourced from typer[all]'s releases.

    0.6.1

    Fixes

    Changelog

    Sourced from typer[all]'s changelog.

    0.6.1

    Fixes

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [BUG] pypi desc doesn't render for images without alt

    [BUG] pypi desc doesn't render for images without alt

    Describe the bug

    It does not work for images without a alt text because it does not have anything to display

    To Reproduce

    Steps to reproduce the behavior:

    1. Use the command pypi desc wheel_filename
    2. See an error

    Expected behavior

    Well it should not error

    Information (please try to complete the following information):

    • OS : 10
    • Terminal : Windows Terminal
    • Shell : powershell
    • OS Version : 21H2 (OS Build 19044.1320
    • Python Version : 3.8.10
    • Package Versions :-
      bs4==0.0.1
      click==8.0.1
      click-help-colors==0.9.1
      humanize==3.12.0
      lxml==4.6.3
      packaging==21.2
      questionary==1.10.0
      requests==2.24.0
      requests-cache==0.8.1
      rich==10.12.0
      rich-rst==0.2.3
      shellingham==1.4.0
      thefuzz==0.19.0
      typer==0.4.0
      wheel-filename==1.3.0
      

    Additional context

    Traceback:

    ❯ pypi desc wheel-filename
    ℹ️ Info: Found shortened name 'desc', using 'description'
    Traceback (most recent call last):
      File "C:\Program Files\Python 3.8\lib\runpy.py", line 194, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "C:\Program Files\Python 3.8\lib\runpy.py", line 87, in _run_code
        exec(code, run_globals)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\Scripts\pypi.exe\__main__.py", line 7, in <module>
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\pypi_cli\__main__.py", line 1469, in run
        app()
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\typer\main.py", line 214, in __call__
        return get_command(self)(*args, **kwargs)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\click\core.py", line 1137, in __call__
        return self.main(*args, **kwargs)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\click\core.py", line 1062, in main
        rv = self.invoke(ctx)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\click\core.py", line 1668, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\click\core.py", line 1404, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\click\core.py", line 763, in invoke
        return __callback(*args, **kwargs)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\typer\main.py", line 500, in wrapper
        return callback(**use_params)  # type: ignore
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\pypi_cli\__main__.py", line 608, in description
        console.print(Panel(description, title=f"Description for {package_name}", border_style="bold magenta"))
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1594, in print
        extend(render(renderable, render_options))
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1225, in render
        for render_output in iter_render:
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\panel.py", line 176, in __rich_console__
        lines = console.render_lines(renderable, child_options, style=style)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1260, in render_lines
        lines = list(
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\segment.py", line 269, in split_and_crop_lines
        for segment in segments:
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1225, in render
        for render_output in iter_render:
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\padding.py", line 92, in __rich_console__
        lines = console.render_lines(
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1260, in render_lines
        lines = list(
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\segment.py", line 269, in split_and_crop_lines
        for segment in segments:
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich\console.py", line 1225, in render
        for render_output in iter_render:
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich_rst\__init__.py", line 160, in __rich_console__
        document.walkabout(visitor)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\docutils\nodes.py", line 214, in walkabout
        if child.walkabout(visitor):
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\docutils\nodes.py", line 214, in walkabout
        if child.walkabout(visitor):
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\docutils\nodes.py", line 206, in walkabout
        visitor.dispatch_visit(self)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\docutils\nodes.py", line 1995, in dispatch_visit
        return method(node)
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\rich_rst\__init__.py", line 107, in visit_image
        Text("🌆 ") + Text(node["alt"], style=Style(link=target or node.get("uri"), color="#6088ff"))
      File "C:\Users\Wasi Master\AppData\Programs\Python38\site-packages\docutils\nodes.py", line 625, in __getitem__
        return self.attributes[key]
    KeyError: 'alt'
    
    bug good issue 
    opened by wasi-master 1
  • Restyle Pipx support

    Restyle Pipx support

    A duplicate of #3 with additional commits that automatically address incorrect style, created by Restyled.

    :warning: Even though this PR is not a Fork, it contains outside contributions. Please review accordingly.

    Since the original Pull Request was opened as a fork in a contributor's repository, we are unable to create a Pull Request branching from it with only the style fixes.

    The following Restylers made fixes:

    To incorporate these changes, you can either:

    1. Merge this Pull Request instead of the original, or

    2. Ask your contributor to locally incorporate these commits and push them to the original Pull Request

      Expand for example instructions
      ```console
      git remote add upstream https://github.com/wasi-master/pypi-command-line.git
      git fetch upstream pull/<this PR number>/head
      git merge --ff-only FETCH_HEAD
      git push
      ```
      

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 1
  • Bump typer[all] from 0.6.0 to 0.7.0

    Bump typer[all] from 0.6.0 to 0.7.0

    Bumps typer[all] from 0.6.0 to 0.7.0.

    Release notes

    Sourced from typer[all]'s releases.

    0.7.0

    Features

    Fixes

    Docs

    • 📝 Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @​targhs.
    • 📝 Fix typo in docs at docs/tutorial/commands/help.md. PR #466 by @​fepegar.
    • ✏ Fix link in docs to datetime.strptime(). PR #464 by @​Kobu.
    • ✏ Update first-steps.md, clarify distinction between parameter and argument. PR #176 by @​mccarthysean.
    • ✏ Fix broken plac link. PR #275 by @​mgielda.

    Internal

    0.6.1

    Fixes

    Changelog

    Sourced from typer[all]'s changelog.

    0.7.0

    Features

    Fixes

    Docs

    • 📝 Add note about how subcommands with function names using underscores are converted to dashes. PR #403 by @​targhs.
    • 📝 Fix typo in docs at docs/tutorial/commands/help.md. PR #466 by @​fepegar.
    • ✏ Fix link in docs to datetime.strptime(). PR #464 by @​Kobu.
    • ✏ Update first-steps.md, clarify distinction between parameter and argument. PR #176 by @​mccarthysean.
    • ✏ Fix broken plac link. PR #275 by @​mgielda.

    Internal

    0.6.1

    Fixes

    Commits
    • 6c5698f 🔖 Release version 0.7.0
    • aaf3cdd 📝 Update release notes
    • 24d3c39 📝 Update release notes
    • c1ddf1d ✅ Add extra tests just for coverage because monkeypatching with strange impor...
    • 5e46deb 📝 Update release notes
    • 8999df2 📝 Update release notes
    • 36e4080 ✨ Make typer.run() not add completion scripts by default, it only makes sen...
    • bd7dd4c 📝 Update release notes
    • a6f28a7 ✨ Add support for Python 3.11, tests in CI and official marker (#487)
    • 2b0aa71 📝 Update release notes
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Restyle Due to stupid change in pypi.org which broke all cli clients, i had

    Restyle Due to stupid change in pypi.org which broke all cli clients, i had

    A duplicate of #16 with additional commits that automatically address incorrect style, created by Restyled.

    :warning: Even though this PR is not a Fork, it contains outside contributions. Please review accordingly.

    Since the original Pull Request was opened as a fork in a contributor's repository, we are unable to create a Pull Request branching from it with only the style fixes.

    The following Restylers made fixes:

    To incorporate these changes, you can either:

    1. Merge this Pull Request instead of the original, or

    2. Ask your contributor to locally incorporate these commits and push them to the original Pull Request

      Expand for example instructions
      ```console
      git remote add upstream https://github.com/wasi-master/pypi-command-line.git
      git fetch upstream pull/<this PR number>/head
      git merge --ff-only FETCH_HEAD
      git push
      ```
      

    NOTE: As work continues on the original Pull Request, this process will re-run and update (force-push) this Pull Request with updated style fixes as necessary. If the style is fixed manually at any point (i.e. this process finds no fixes to make), this Pull Request will be closed automatically.

    Sorry if this was unexpected. To disable it, see our documentation.

    opened by restyled-io[bot] 0
A mini command line tool to spellcheck text files using tadqeek.alsharekh.org

tadqeek_sakhr A mini command line tool to spellcheck text files using tadqeek.alsharekh.org Usage usage: python tadqeek_sakhr.py [-h] -i INPUT [-o OUT

Youssif Shaaban Alsager 5 Dec 11, 2022
A ZSH plugin that enables you to use OpenAI's powerful Codex AI in the command line.

A ZSH plugin that enables you to use OpenAI's powerful Codex AI in the command line.

Tom Dörr 976 Jan 3, 2023
Powerful yet easy command line calculator.

Powerful yet easy command line calculator.

Cruisen 1 Jul 22, 2022
A supercharged AWS command line interface (CLI).

SAWS Motivation AWS CLI Although the AWS CLI is a great resource to manage your AWS-powered services, it's tough to remember usage of: 70+ top-level c

Donne Martin 5.1k Jan 5, 2023
Command line interface for testing internet bandwidth using speedtest.net

speedtest-cli Command line interface for testing internet bandwidth using speedtest.net Versions speedtest-cli works with Python 2.4-3.7 Installation

Matt Martz 12.4k Jan 8, 2023
Universal Command Line Interface for Amazon Web Services

This package provides a unified command line interface to Amazon Web Services.

Amazon Web Services 13.3k Jan 7, 2023
command line interface to manage VALORANT skins

A PROPER RELEASE IS COMING SOON, IF YOU KNOW HOW TO USE PYTHON YOU CAN USE IT NOW! valorant skin manager command line interface simple command line in

colinh 131 Dec 25, 2022
Microsoft Azure CLI - Azure Command-Line Interface

A great cloud needs great tools; we're excited to introduce Azure CLI, our next generation multi-platform command line experience for Azure.

Microsoft Azure 3.4k Dec 30, 2022
flora-dev-cli (fd-cli) is command line interface software to interact with flora blockchain.

Install git clone https://github.com/Flora-Network/fd-cli.git cd fd-cli python3 -m venv venv source venv/bin/activate pip install -e . --extra-index-u

null 14 Sep 11, 2022
A command line interface to buy things in stregsystemet

Stregsystemet-CLI This repository is the Stregsystemet CLI, to buy things in Stregsystemet, at AAU. Use of this cli-tool is at your own risk and there

F-klubben 14 Oct 18, 2022
moviepy-cli: Command line interface for MoviePy.

Moviepy-cli is designed to apply several video editing in a single command with Moviepy as an alternative to Video-cli.

Kentaro Wada 23 Jun 29, 2022
Command line interface for unasync

CLI for unasync Command line interface for unasync Getting started Install Run the following command to install the package with pip: pip install unas

Leynier Gutiérrez González 3 Apr 4, 2022
Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Website

?? rover Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Websit

Saketha Ramanjam 4 Jan 19, 2022
bsp_tool provides a Command Line Interface for analysing .bsp files

bsp_tool Python library for analysing .bsp files bsp_tool provides a Command Line Interface for analysing .bsp files Current development is focused on

Jared Ketterer 64 Dec 28, 2022
Investing library and command-line interface inspired by the Bogleheads philosophy

Lakshmi (Screenshot of the lak command in action) Background This project is inspired by Bogleheads forum. Bogleheads focus on a simple but powerful p

Sarvjeet Singh 108 Dec 26, 2022
⚙ A lightweight command line interface library for creating commands.

⚙ A lightweight command line interface library for creating cli commands. About | Installation | Usage | Features | Contributors | License About Next:

Serum 16 Sep 25, 2022
A minimal and ridiculously good looking command-line-interface toolkit.

Pyceo Pyceo is a Python package for creating beautiful, composable, and ridiculously good looking command-line-user-interfaces without having to write

Juan-Pablo Scaletti 21 Mar 25, 2022
Quo is a Python based toolkit for writing Command-Line Interface(CLI) applications.

Quo is a Python based toolkit for writing Command-Line Interface(CLI) applications. Quo is making headway towards composing speedy and orderly CLI applications while forestalling any disappointments brought about by the failure to execute a CLI API. Simple to code, easy to learn, and does not come with needless baggage.

Secretum Inc. 16 Oct 15, 2022
The command line interface for Gradient - Gradient is an an end-to-end MLOps platform

Gradient CLI Get started: Create Account • Install CLI • Tutorials • Docs Resources: Website • Blog • Support • Contact Sales Gradient is an an end-to

Paperspace 58 Dec 6, 2022