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)
triggercmd is a CLI client for the TRIGGERcmd cloud service.

TriggerCMD CLI client triggercmd is a CLI client for the TRIGGERcmd cloud service. installation the triggercmd package is available in PyPI. to instal

Gustavo Soares 7 Oct 18, 2022
Dark powered asynchronous completion framework for neovim/Vim8

deoplete.nvim Dark powered asynchronous completion framework for neovim/Vim8 Note: The development of this plugin is finished. Accepts minor patches a

Shougo 5.9k Dec 30, 2022
Terminal epub reader with inline images

nuber Inspired by epy, nuber is an Epub terminal reader with inline images written with Rust and Python using Überzug. Features Display images in term

Moshe Sherman 73 Oct 12, 2022
stonky is a simple command line dashboard for monitoring stocks.

stonky is a simple command line dashboard for monitoring stocks.

Jessy Williams 228 Dec 14, 2022
A minimal todo list for your terminal.

todo A minimal todo list for your terminal. Installation Run the following command. pip install git+https://github.com/piero-vic/todo.git Usage todo

Piero Lescano 7 Aug 08, 2022
Module for converting 2D Python lists to fancy ASCII tables. Table2Ascii lets you display pretty tables in the terminal and on Discord.

table2ascii Module for converting 2D Python lists to a fancy ASCII/Unicode tables table2ascii 📥 Installation 🧑‍💻 Usage Convert lists to ASCII table

Jonah Lawrence 40 Jan 03, 2023
Colab-xterm allows you to open a terminal in a cell

colab-xterm Colab-xterm allows you to open a terminal in a cell. Usage Install package and load the extension !pip install git+https://github.com/popc

InfuseAI 194 Dec 29, 2022
A Python package for Misty II development

Misty2py Misty2py is a Python 3 package for Misty II development using Misty's REST API. Read the full documentation here! Installation Poetry To inst

Chris Scarred 1 Mar 07, 2022
Analyzing the most strategic words to guess on Wordle, based on letter frequency distributions

wordle-analysis Evaluating different heuristics to determine the most effective solving strategy and building an AI-powered assistant tool to help you

Sejal Dua 9 Feb 27, 2022
Gamma ion pump QPC ethernet Python library & CLI utility

Unofficial Gamma ion pump ethernet control CLI utility and library This is a mini Python 3 library and utility that exposes some of the functions of t

2 Jul 18, 2022
Write Django management command using the click CLI library

Django Click Project information: Automated code metrics: django-click is a library to easily write Django management commands using the click command

Jonathan Stoppani 215 Dec 19, 2022
A CLI password generator

passgen - A CLI password generator Usage python3 main.py arguments Arguments Argument Short Description --length -l The length of the password to ge

1 Nov 13, 2021
Personal and work vim 8 configuration with submodules

vimfiles Windows Vim 8 configuration files based on the recommendations of Ruslan Osipov, Keep Your vimrc file clean and The musings of bluz71. :help

1 Aug 27, 2022
gcptree - Like the unix tree command but for GCP Org Heirarchy

gcptree Like the unix tree command but for GCP Org Heirarchy. For a note on coloring, the org node is green, folders and blue, and projects that are n

Ryan Canty 25 Sep 06, 2022
(BionicLambda Universal SHell) A simple shell made in Python. Docs and possible C port incoming.

blush 😳 (BionicLambda Universal SHell) A simple shell made in Python. Docs and possible C port incoming. Note: The Linux executables were made on Ubu

3 Jun 30, 2021
A user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN).

pyFmask What is pyFmask pyFmask is a user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN; https://github.com/GERSL/Fmask). Fmask (Zhu et

1 Jan 05, 2022
Commandline script to interact with volkswagencarnet library

volkswagencarnet-client command line script to interact with volkswagencarnet library Table of Contents General Info Setup Usage Example Acknowledgeme

3 Jan 19, 2022
A command line tool to hide and reveal information inside images (works for both PNGs and JPGs)

Imgrerite A command line tool to hide and reveal information inside images (works for both PNGs and JPGs) Dependencies Python 3 Git Most of the Linux

Jigyasu 10 Jul 27, 2022
instant coding answers via the command line

howdoi instant coding answers via the command line Sherlock, your neighborhood command-line sloth sleuth. Are you a hack programmer? Do you find yours

Benjamin Gleitzman 9.8k Jan 08, 2023
Animefetch is an anime command-line system information tool written in python

Animefetch - v0.0.3 An anime command-line system information tool written in python. Description Animefetch is an anime command-line system informatio

Thadeuks 6 Jun 17, 2022