How do i do sth?

Benjamin Gleitzman d9dd193a9b Update supported Python versions před 2 roky
.github f895e7c7ee Perhaps we do not need pathlib for Python 3.4+ před 3 roky
docs f346b9d08c Update introduction.md před 2 roky
extension ea9795f7ed docs: fix simple typo, ecapsulated -> encapsulated před 2 roky
howdoi 83b5982109 New release: 2.0.20 před 2 roky
notebooks eca6724d8f feat: add language labelling notebook so far před 3 roky
page_cache b15f35af9c Put test back the way it was před 3 roky
requirements b89fd41841 Update dependencies to fix github pipeline před 2 roky
.flake8 6020732bc1 Run github actions on PRs před 4 roky
.flake8rc 16a9bdedcf Fix a bunch of flake8, pylint, and mypy errors před 4 roky
.gitattributes 1c496a969e Added .gitattributes před 4 roky
.gitignore 644ba84ca2 add .idea/ to gitignore před 4 roky
.mypy.ini 16a9bdedcf Fix a bunch of flake8, pylint, and mypy errors před 4 roky
.pre-commit-config.yaml 714f0f1a5a Added patch, fixed minor documentation před 3 roky
.pylintrc 16a9bdedcf Fix a bunch of flake8, pylint, and mypy errors před 4 roky
CHANGES.txt 83b5982109 New release: 2.0.20 před 2 roky
LICENSE.txt 054012ba5c moved howdoi.py into a subdirectory for packaging před 12 roky
MANIFEST.in 0cd01d9d50 Release 2.0.17 před 3 roky
README.md d9dd193a9b Update supported Python versions před 2 roky
fastentrypoints.py 42b6b6280c Improve github actions linting před 4 roky
mkdocs.yml 4a3b8f8974 Clean up some of the documentation před 3 roky
requirements.txt 58801b5be2 linked prod.txt to requirements.txt před 4 roky
setup.py b89fd41841 Update dependencies to fix github pipeline před 2 roky
test_howdoi.py b89fd41841 Update dependencies to fix github pipeline před 2 roky

README.md

Sherlock, your neighborhood command-line sloth sleuth

howdoi

Instant coding answers via the command line

⚡ Never open your browser to look for help again ⚡

build status downloads Python versions


Introduction to howdoi

Are you a hack programmer? Do you find yourself constantly Googling for how to do basic programming tasks?

Suppose you want to know how to format a date in bash. Why open your browser and read through blogs (risking major distraction) when you can simply stay in the console and ask howdoi:

$ howdoi format date bash
> DATE=`date +%Y-%m-%d`

howdoi will answer all sorts of queries:

$ howdoi print stack trace python
> import traceback
>
> try:
>     1/0
> except:
>     print '>>> traceback <<<'
>     traceback.print_exc()
>     print '>>> end of traceback <<<'
> traceback.print_exc()

$ howdoi convert mp4 to animated gif
> video=/path/to/video.avi
> outdir=/path/to/output.gif
> mplayer "$video" \
>         -ao null \
>         -ss "00:01:00" \  # starting point
>         -endpos 10 \ # duration in second
>         -vo gif89a:fps=13:output=$outdir \
>         -vf scale=240:180

$ howdoi create tar archive
> tar -cf backup.tar --exclude "www/subf3" www

image

Installation

pip install howdoi

Usage

New to howdoi?

howdoi howdoi

RTFM

Commands

usage: howdoi [-h] [-p POS] [-n NUM] [-a] [-l] [-c] [-x] [-C] [-j] [-v] [-e [ENGINE]]
[--save] [--view] [--remove] [--empty] [QUERY ...]

instant coding answers via the command line

positional arguments:
  QUERY                 the question to answer

optional arguments:
  -h, --help            show this help message and exit
  -p POS, --pos POS     select answer in specified position (default: 1)
  -n NUM, --num NUM     number of answers to return (default: 1)
  -a, --all             display the full text of the answer
  -l, --link            display only the answer link
  -c, --color           enable colorized output
  -x, --explain         explain how answer was chosen
  -C, --clear-cache     clear the cache
  -j, --json            return answers in raw json format
  -v, --version         display the current version of howdoi
  -e [ENGINE], --engine [ENGINE]
                        search engine for this query (google, bing, duckduckgo)
  --save, --stash       stash a howdoi answer
  --view                view your stash
  --remove              remove an entry in your stash
  --empty               empty your stash

environment variable examples:
  HOWDOI_COLORIZE=1
  HOWDOI_DISABLE_CACHE=1
  HOWDOI_DISABLE_SSL=1
  HOWDOI_SEARCH_ENGINE=google
  HOWDOI_URL=serverfault.com

Using the howdoi stashing feature (for more advanced features view the keep documentation).

stashing: howdoi --save QUERY
viewing:  howdoi --view
removing: howdoi --remove (will be prompted which answer to delete)
emptying: howdoi --empty (empties entire stash, will be prompted to confirm)

As a shortcut, if you commonly use the same parameters each time and don\'t want to type them, add something similar to your .bash_profile (or otherwise). This example gives you 5 colored results each time.

alias h='function hdi(){ howdoi $* -c -n 5; }; hdi'

And then to run it from the command line simply type:

$ h format date bash

You can also search other StackExchange properties for answers:

HOWDOI_URL=cooking.stackexchange.com howdoi make pesto

or as an alias:

alias hcook='function hcook(){ HOWDOI_URL=cooking.stackexchange.com howdoi $* ; }; hcook'
hcook make pesto

Other useful aliases:

alias hless='function hdi(){ howdoi $* -c | less --raw-control-chars --quit-if-one-screen --no-init; }; hdi'

Contributors

How to contribute

We welcome contributions that make howdoi better and improve the existing functionalities of the project. We have created a separate guide to contributing to howdoi that explains how to get up and running with your first pull request.

Notes

Visual Studio Code Extension Installation

Head over to the MarketPlace to install the extension.