All Projects β†’ IndianOpenSourceFoundation β†’ dynamic-cli

IndianOpenSourceFoundation / dynamic-cli

Licence: GPL-3.0 license
A Modern, user-friendly command-line HTTP client for the API testing, and if you're stuck - Search and browse StackOverflow without leaving the CLI

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dynamic-cli

Tsukae
πŸ§‘β€πŸ’»πŸ“Š Show off your most used shell commands
Stars: ✭ 345 (+128.48%)
Mutual labels:  commandline, command, terminal-based
starcli
✨ Browse trending GitHub projects from your command line
Stars: ✭ 436 (+188.74%)
Mutual labels:  commandline, pypi-package
Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (-16.56%)
Mutual labels:  command, terminal-based
Zeus
πŸ”­ A modern cross platform `ls` with powerful searching and querying capabilities to scale your productivity to the moon πŸš€ (and yeah it has file explorer like capabilities too 🀫)
Stars: ✭ 75 (-50.33%)
Mutual labels:  commandline, terminal-based
Hoppscotch
πŸ‘½ Open source API development ecosystem https://hoppscotch.io
Stars: ✭ 34,569 (+22793.38%)
Mutual labels:  http-client, api-client
Httpie
As easy as /aitch-tee-tee-pie/ πŸ₯§ Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+35033.77%)
Mutual labels:  http-client, api-client
gomphotherium
Gomphotherium (/ΛŒΙ‘Ι’mfΙ™ΛˆΞΈΙͺΙ™riΙ™m/; "welded beast"), a command line Mastodon client.
Stars: ✭ 22 (-85.43%)
Mutual labels:  commandline, terminal-based
Httpu
The terminal-first http client
Stars: ✭ 619 (+309.93%)
Mutual labels:  http-client, terminal-based
Cobra
A Commander for modern Go CLI interactions
Stars: ✭ 24,437 (+16083.44%)
Mutual labels:  commandline, command
Socli
Stack overflow command line client. Search and browse stack overflow without leaving the terminal πŸ’»
Stars: ✭ 911 (+503.31%)
Mutual labels:  commandline, terminal-app
You Dont Need Gui
Stop relying on GUI; CLI **ROCKS**
Stars: ✭ 4,766 (+3056.29%)
Mutual labels:  commandline, command
Nba api
An API Client package to access the APIs for NBA.com
Stars: ✭ 881 (+483.44%)
Mutual labels:  http-client, api-client
Curlie
The power of curl, the ease of use of httpie.
Stars: ✭ 877 (+480.79%)
Mutual labels:  http-client, api-client
Py cui
A python library for intuitively creating CUI/TUI interfaces with widgets, inspired by gocui.
Stars: ✭ 380 (+151.66%)
Mutual labels:  command, terminal-based
Uplink
A Declarative HTTP Client for Python
Stars: ✭ 824 (+445.7%)
Mutual labels:  http-client, api-client
exch
a command-line tool to see currency exchange rates
Stars: ✭ 20 (-86.75%)
Mutual labels:  commandline, terminal-app
Php Curl Class
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Stars: ✭ 2,903 (+1822.52%)
Mutual labels:  http-client, api-client
Insomnia
The open-source, cross-platform API client for GraphQL, REST, and gRPC.
Stars: ✭ 18,969 (+12462.25%)
Mutual labels:  http-client, api-client
cgol
Conway's Game of Life in the Terminal
Stars: ✭ 32 (-78.81%)
Mutual labels:  terminal-based, terminal-app
asciiarena
Terminal multiplayer deathmatch game
Stars: ✭ 34 (-77.48%)
Mutual labels:  terminal-based, terminal-app

dynamic-cli

dynamic-cli-cropped

PyPI <Sonarcloud quality gate> Downloads Downloads License: GPL v3 PyPI

A Modern, user-friendly command-line HTTP client for the API testing, and if you're stuck - Search and browse StackOverflow without leaving the CLI

Why Dynamic-cli?

The Command Line Utility

Although the Stackoverflow website is really cool, it can be tough to remember the same question that you faced earlier :

  • Countless answers, you can save it to playbook
  • Toggle between multiple answers is easy
  • Are you a developer ? Integrate your own feature and install it

dynamic-cli - A Supercharged Command Line Utility

dynamic_search

dynamic_saving_to_playbook dynamic_retrieving_from_playbook

dynamic_api

Index

Argumentsβš™

Usage: Dynamic [OPTIONS]

A Modern, user-friendly command-line HTTP client for the API testing, and if you're stuck - Search and browse StackOverflow without leaving the CLI.

Options:

-st, --start -> Introduces Dynamic CLI
-v, --version -> Gives the Version of the CLI
-s, --search -> Search a question on Stackoverflow
-no, --notion -> Open browser to login to Notion.so
-d, --debug -> Turn on Debugging mode
-c, --custom -> Setup a custom API key
-p, --playbook -> To access all the answers saved in the playbook
-h, --help -> Shows this message and exit
-GET -> Make a GET request to an API
-POST -> Make a POST request to an API
-DELETE -> Make a DELETE request to an API

Installation

Pip Installation

PyPI version PyPI

dynamic-cli is hosted on PyPI. The following command will install Dynamic-cli:

pip3 install dynamic-cli

You can also install the latest dynamic-cli from GitHub source which can contain changes not yet pushed to PyPI:

pip3 install git+https://github.com/IndianOpenSourceFoundation/dynamic-cli.git

If you are not installing in a virtualenv, you might need to run with sudo:

sudo pip3 install dynamic-cli

pip3

Depending on your setup, you might also want to run pip3 with the -H flag:

sudo -H pip3 install dynamic-cli

For most linux users, pip3 can be installed on your system using the python3-pip package.

For example, Ubuntu users can run:

sudo apt-get install python3-pip

Virtual Environment Installation

You can install Python packages in a virtualenv to avoid potential issues with dependencies or permissions.

If you are a Windows user or if you would like more details on virtualenv, check out this guide.

Install virtualenv and virtualenvwrapper:

pip3 install virtualenv
pip3 install virtualenvwrapper
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

Create a dynamic-cli virtualenv and install dynamic-cli:

mkvirtualenv dynamic-cli
pip3 install dynamic-cli

If the pip install does not work, you might be running Python 2 by default. Check what version of Python you are running:

python --version

If the call above results in Python 2, find the path for Python 3:

which python3  # Python 3 path for mkvirtualenv's --python option

Install Python 3 if needed. Set the Python version when calling mkvirtualenv:

mkvirtualenv --python [Python 3 path from above] dynamic-cli
pip3 install dynamic-cli

If you want to activate the dynamic-cli virtualenv again later, run:

workon dynamic-cli

To deactivate the dynamic-cli virtualenv, run:

deactivate

Supported Python Versions

  • Python 3.5 - Tested
  • Python 3.6 - Tested
  • Python 3.7 - Tested
  • Python 3.8 - Tested

Supported Platforms

  • Mac OS X
    • Tested on OS X 11.16.1
  • Linux, Unix
    • Tested on Ubuntu 20 LTS
  • Windows*
    • Tested on Windows 10/11 with WSL only [Currently, you need WSL for this]

Windows Support

dynamic-cli has been tested on Windows 10/11 with WSL installed. Please read the doc here

Developer InstallationπŸ“¦

1. Installing pip

sudo apt-get install python3-pip

2. Clone this repository to your local drive

git clone https://github.com/IndianOpenSourceFoundation/dynamic-cli.git

3. Go to dynamic directory

cd dynamic-cli/

4. Install dependencies

pip3 install -r requirements.txt

5. Install with pip

pip3 install -e .

If you face some issue running dynamic on mac, follow the below instructions

Note for mac users: Make sure to add these lines in you ~/.bashrc or ~/.zhsrc(depending upon your shell) πŸ‘‡

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

License

The project is licensed under the GNU General Public License v3. Check out LICENSE

Contributing

PRs Welcome Open Source Love

We're accepting PRs for our open and unassigned issues. Please check CONTRIBUTING.md. We'd love your contributions! Kindly follow the steps below to get started:

1. Fork this repository.

2. Clone the forked repository.

git clone https://github.com/<your-github-username>/project_name.git

3. Navigate to the project directory.

cd dynamic-cli

4. Make changes in source code.
P.S. If you want to add emojis 😁, use unicodes. Emoji unicodes can be found at https://unicode.org/emoji/charts/full-emoji-list.html
To include an emoji in a string, copy the unicode (Eg: U+1F600), replace + with 000 and prefix it with a \.
Eg: \U0001F604

5. Stage your changes and commit

# Add changes to Index
git add .

# Commit to the local repo
git commit -m "<your_commit_message>"

7. Push your local commits to the remote repo.

git push

8. Create a PR !

9. Congratulations! Sit and relax, you've made your contribution to Dynamic-CLI project.

Testing

We also have written unit tests for API features of dynamic-cli, if you have made changes to that section you can run tests as follows:

1. To run every test in dynamic-cli:

pytest

2. To run test related to only one feature for ex. for GET API Feature:

pytest -k test_get_api

Dynamic CLI is a part of these open source programs

ContributorsπŸ‘¨πŸ½β€πŸ’»

Credit goes to these people:✨

Dynamic Cli Contributors
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].