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)
CLI Utility to encode and recursively recreate directories with ffmpeg.

FFenmass CLI Utility to encode and recursively recreate directories with ffmpeg. Report Bug ยท Request Feature Table of Contents Getting Started Prereq

George Av. 8 May 06, 2022
AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

AWS Interactive CLI - Allows you to execute a complex AWS commands by chaining one or more other AWS CLI dependency

Rafael Torres 2 Dec 10, 2021
frogtrade9000 - a command-line Rich client for the freqtrade REST API

frogtrade9000 - a command-line Rich client for the freqtrade REST API I found FreqUI too cumbersome and slow on my Raspberry Pi 400 when running multi

Robert Davey 79 Dec 02, 2022
Ideas on how to quickly learn to build command-line tools

CLI-Bootcamp Ideas on how to quickly learn to build command-line tools Part 1-Bash Week1: Using Linux Lesson 1: Using Linux Shell Lab Lesson 2: How sh

Noah Gift 10 Apr 18, 2022
A simple web-based SSH client.

Kommander A simple web-based SSH client. It supports: entering SSH login details (including private key and custom ports) and connecting user authenti

KingWaffleIII 2 Jan 01, 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
CPOST is a CLI tool to assist with the proper sizing of Clara Deploy pipelines

CPOST (Clara Pipeline Operator Sizing Tool) Tool to measure resource usage of Clara Platform pipeline operators Cpost is a tool that will help you run

NVIDIA Corporation 5 Sep 27, 2021
pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget

Currently, all the work is being done inside the refactoring branch. pyNPS - A cli Linux and Windows Nopaystation client made with python 3 and wget P

Everton Correia 45 Dec 11, 2022
Simple tool, to update linux kernel on ubuntu

Kerbswap Simple tool, to update linux kernel on ubuntu Information At the moment, this tool only supports "Ubuntu" distributions, but will be expanded

dword 1 Oct 31, 2021
GanTTY - Project planning from the terminal

GanTTY - Project planning from the terminal

Timeo Sam Pochin 161 Dec 26, 2022
A CLI tool for creating disposable environments.

dispenv - Disposable Python Environments โš ๏ธ WIP Need to make an environment to work on a GitHub issue? Want to try out a new package and not leave the

Peter Baumgartner 3 Mar 14, 2022
Output Analyzer for you terminal commands

Output analyzer (OZER) You can specify a few words inside config.yaml file and specify the color you want to be used. installing: Install command usin

Ehsan Shirzadi 1 Oct 21, 2021
eBay's TSV Utilities: Command line tools for large, tabular data files. Filtering, statistics, sampling, joins and more.

Command line utilities for tabular data files This is a set of command line utilities for manipulating large tabular data files. Files of numeric and

eBay 1.4k Jan 09, 2023
A python program to detect your emotion and suggest a playlist.

mood_music A python program to detect your emotion and suggest a playlist. This program is written in python using opencv,FER() and tensorflow This pr

Aditya_Sai 1 Jan 02, 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
Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Gianluca Gippetto 62 Dec 22, 2022
Pyreadline3 - Windows implementation of the GNU readline library

pyreadline3 The pyreadline3 package is based on the stale package pyreadline loc

32 Jan 06, 2023
A super simple terminal command shortener ๐ŸŸ

pcmd A super simple terminal command shortener ๐ŸŸ Source code : https://github.com/j0fiN/pcmd Documentation : https://j0fin.github.io/pcmd About Durin

9 Mar 02, 2022
A command-line utility that, given a markdown file, checks whether all its links work.

A command-line utility written in Python that checks validity of links in a markdown file.

Teclado 2 Dec 08, 2021
A handy command-line utility for generating and sending iCalendar events

A handy command-line utility for generating and sending iCalendar events This simple command-line utility is designed to generate an iCalendar event,

Baochun Li 17 Nov 21, 2022