Wik is use to get information about anything on the shell using Wikipedia.

Overview

WIK

wik is a tool to view wikipedia pages from your terminal. It also let you search for any wikipedia up to date article on one query from your terminal.

Requirements

  • Python3
  • beautifulsoup4

Installation

Linux

From Source
sudo pip3 install beautifulsoup4 flit_core
git clone https://github.com/yashsinghcodes/wik.git
cd wik
sudo pip3 install .
PYPI
sudo pip3 install wik

Windows

From Source
pip install beautifulsoup4 flit_core
git clone https://github.com/yashsinghcodes/wik.git
cd wik
pip install .

Note: Windows users should have added python to there environment variable

PYPI
pip install wik

Options

Using wik is acutally really simple.

usage: wik [-h] [-s SEARCH] [-i INFO] [-q QUICK] [-l LANG] [-x]

optional arguments:
  -h, --help            show this help message and exit
  -s SEARCH, --search SEARCH
                        Search any topic
  -i INFO, --info INFO  Get info on any topic
  -q QUICK, --quick QUICK
                        Get the summary on any topic
  -l LANG, --lang LANG  Get info in your native language (default english)
  -x, --rand            Get random Wikipedia article

Example

$ wik -i Linux

carbon (6)

$ wik -q Linux

carbon (7)

$ wik -i Linux -l br

lang

Contribution

You can contribute to the project by opening a issue if you face any or making a pull requests, if you think you can fix somthing or make improvment on the code. If you have some ideas related to the project you can contact me.

Want to work with me?

This is the task list if you think you can implement any please make a pull request.

Note: Do things which are under To-do do not make a pull request for tasks which are already under development.

Comments
  • wik Random Article Feature

    wik Random Article Feature

    Any interest in including a random wikipedia article feature in wik? I have a basic version of this working but can clean it up and make a PR if you're interested.

    opened by reyg3 3
  • Replace setup.py with flit-flavored pyproject.toml

    Replace setup.py with flit-flavored pyproject.toml

    The name field in the project section should be a PyPI-ready name, and I don't know what is best (fetch being occupied already), but I set it to yash-fetch.

    opened by AndydeCleyre 3
  • Fetch is a very common unix tool

    Fetch is a very common unix tool

    The fetch command has been a fundamental part of the FreeBSD operating system and other OSs for decades. By naming your project fetch, you risk causing lots of confusion. Perhaps wikifetch or something would be a better choice? I love the idea and want to have a command line wikipedia tool!

    opened by jepace 2
  • adding random Wikipedia article feature

    adding random Wikipedia article feature

    Adding getRand() to info.py. Also updated wik.py with CLI option -x since Wikipedia has alt+shift+x random article shortcut. I didn't update README since I wasn't sure if you wanted to use a different CLI option instead of -x.

    opened by reyg3 1
  • wik is *not* a

    wik is *not* a "command based wiki"

    The README opens with:

    wik is command based wiki.

    A wiki is a website where anyone can edit the pages. Wikipedia is one such website. MediaWiki is software for hosting it. Github provides a simple wiki for every project you host (this project even has one: https://github.com/yashsinghcodes/wik/wiki).

    wik is (as far as I can see) a tool to view Wikipedia pages from your terminal. The README should say this.

    opened by rjmunro 1
  • Add possibility to specify article language

    Add possibility to specify article language

    Either detect language when full url is passed to -S (br.wikipedia.org) or add a language option which changes the language in the hard coded url here: https://github.com/yashsinghcodes/wik/blob/main/wik/info.py#L42

    opened by IljaN 1
  • No such file or directory: 'fetch/__version__.py'

    No such file or directory: 'fetch/__version__.py'

    Traceback (most recent call last): File "setup.py", line 12, in <module> exec(open("fetch/__version__.py").read()) FileNotFoundError: [Errno 2] No such file or directory: 'fetch/__version__.py'

    I had to create fetch/__version__.py and put my current python version in it. For example

    __version__ = "3.8.10"

    This info should be added to the README.

    opened by ringl-student 1
  • Unable to use a pager

    Unable to use a pager

    It's not possible to pipe output of fetch to a file or a pager

    fetch -i mallard | less -R

    Traceback (most recent call last):
      File "/usr/local/bin/fetch", line 11, in <module>
        load_entry_point('yashsinghcodes==0.1', 'console_scripts', 'fetch')()
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 476, in load_entry_point
        return get_distribution(dist).load_entry_point(group, name)
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2700, in load_entry_point
        return ep.load()
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2318, in load
        return self.resolve()
      File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in resolve
        module = __import__(self.module_name, fromlist=['__name__'], level=0)
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
      File "/usr/local/lib/python3.6/site-packages/yashsinghcodes-0.1-py3.6.egg/fetch/__init__.py", line 4, in <module>
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
      File "/usr/local/lib/python3.6/site-packages/yashsinghcodes-0.1-py3.6.egg/fetch/fetch.py", line 3, in <module>
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
      File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
      File "/usr/local/lib/python3.6/site-packages/yashsinghcodes-0.1-py3.6.egg/fetch/info.py", line 18, in <module>
    OSError: [Errno 25] Inappropriate ioctl for device
    

    In fetch/info.py I changed

    width,height = os.get_terminal_size()

    to

    try:
        width,height = os.get_terminal_size()
    except OSError:
        width = 120
        height = 80
    

    to get it to work

    opened by pmopmo 1
  • Config file for pyup.io

    Config file for pyup.io

    Hi there and thanks for using pyup.io!

    Since you are using a non-default config I've created one for you.

    There are a lot of things you can configure on top of that, so make sure to check out the docs to see what I can do for you.

    opened by pyup-bot 0
  • Initial Update

    Initial Update

    The bot created this issue to inform you that pyup.io has been set up on this repo. Once you have closed it, the bot will open pull requests for updates as soon as they are available.

    opened by pyup-bot 0
  • Feature Request: Work with offline ZIM files/kiwix

    Feature Request: Work with offline ZIM files/kiwix

    It would be really nice to be able to use wik in conjunction with local offline wikipedia dumps. I'm not a programmer but I'm a big command line enthusiast and I tried modifying the wiki URL in info.py to the local one I'm running. It will display an article when giving the exact name but doesn't return any results when searching. I'm clearly out of my element here :) but it doesn't appear to be too far away from being able to do it. Thoughts?

    opened by klundry 3
Releases(2021.06)
GanTTY - Project planning from the terminal

GanTTY - Project planning from the terminal

Timeo Sam Pochin 161 Dec 26, 2022
Python commandline tool for remembering linux/terminal commands

ehh Remember linux commands Commandline tool for remembering linux/terminal commands. It stores your favorite commands in ~/ehh.json in your homedir a

56 Nov 10, 2022
Command Line Manager + Interactive Shell for Python Projects

Manage Command Line Manager + Interactive Shell for Python Projects

Python Manage 123 Aug 28, 2022
Helping you manage your data science projects sanely.

PyDS CLI Helping you manage your data science projects sanely. Requirements Anaconda/Miniconda/Miniforge/Mambaforge (Mambaforge recommended!) git on y

Eric Ma 16 Apr 25, 2022
CLI to show end-of-life dates for tools and technologies.

Python 3.9+ interface to endoflife.date to show end-of-life dates for tools and technologies.

Hugo van Kemenade 32 Jan 06, 2023
Amazon Scraper: A command-line tool for scraping Amazon product data

Amazon Product Scraper: 2021 Description A command-line tool for scraping Amazon product data to CSV or JSON format(s). Requirements Python 3 pip3 Ins

49 Nov 15, 2021
Pequeno joguinho pra você rodar no seu terminal

JokenPython Pequeno joguinho pra você rodar no seu terminal Olá! Joguinho legal pra vc rodar no seu terminal!! (rode no terminal, pra melhor experienc

Scott 4 Nov 25, 2021
Yet another bash/zsh prompt script

Here we have yet another script for Git-aware customization of the command prompt in Bash and zsh. Unlike all the other scripts, I wrote this one, so

John T. Wodder II 5 Oct 13, 2021
A basic molecule viewer written in Python, using curses; Thus, meant for linux terminals

asciiMOL A basic molecule viewer written in Python, using curses; Thus, meant for linux terminals. This is an alpha version, featuring: Opening defaul

Dominik Behrens 328 Dec 11, 2022
Stephen's Obsessive Note-Storage Engine.

Latest Release · PyPi Package · Issues · Changelog · License # Get Sonse and tell it where your notes are... $ pip install sonse $ export SONSE="$HOME

Stephen Malone 23 Jun 10, 2022
GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

14 Dec 17, 2022
kitty - the fast, feature-rich, cross-platform, GPU based terminal

kitty - the fast, feature-rich, cross-platform, GPU based terminal

Kovid Goyal 17.3k Jan 04, 2023
Find your broken links, so users don't.

PyAnchor Dead links are an annoyance for websites with an extensive amount of content. A side from the negative impact on SEO, dead links are an annoy

Ricky White 61 Dec 14, 2022
Several tools that can be added to your `PATH` to make your life easier.

CK-CLI Tools Several tools that can be added to your PATH to make your life easier. prettypath Prints the $PATH variable in a human-readable way. It a

Christopher Kumm 2 Apr 21, 2022
An interactive aquarium for your terminal.

sipedon An interactive aquarium for your terminal, written using pytermgui. The project got its name from the Common Watersnake, also known as Nerodia

17 Nov 07, 2022
Zecwallet-Python is a simple wrapper around the Zecwallet Command Line LightClient written in Python

A wrapper around Zecwallet Command Line LightClient, written in Python Table of Contents About Installation Usage Examples About Zecw

Priveasy 2 Sep 06, 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

14 Sep 11, 2022
Python-Stock-Info-CLI: Get stock info through CLI by passing stock ticker.

Python-Stock-Info-CLI Get stock info through CLI by passing stock ticker. Installation Use the following command to install the required modules at on

Ayush Soni 1 Nov 05, 2021
A CLI Spigot plugin manager that adheres to Unix conventions and Python best practices.

Spud A cross-platform, Spigot plugin manager that adheres to the Unix philosophy and Python best practices. Some focuses of the project are: Easy and

Tommy Dougiamas 9 Dec 02, 2022
Python library & console tool for controlling Xiaomi smart appliances

python-miio This library (and its accompanying cli tool) can be used to interface with devices using Xiaomi's miIO and MIoT protocols. Getting started

Teemu R. 2.4k Jan 02, 2023