A collection of daily usage utility scripts in python. Helps in automation of day to day repetitive tasks.

Overview

Kush's Utils Tool

Logo For Utils Tool Kush's Utils Tool is my personal collection of scripts which is used to automated daily tasks. It is a evergrowing collection of scripts and will continue to evolve till the day I program. This is also my first python project.

Ever evolving project. May see major rework at at anypoint of time

Current version - 0.0.2

Features

  • Project Structure creator for a given language (currently cpp only)
  • Amazon.in Price Tracker with Email alert (from Hacktober Contribution)
  • Random Dice Rolls and Coin Toss (from Hacktober Contribution)
  • More scripts will be added soon and the tool will be extended as and when need be...

NOTE: Some Hacktober contributions though pulled have been held for integration later. Check back at later to see their integration.

Usage

kush-util.py is the entry point. Other files are helpers.

First Level Arguments

Usage : python kush-util.py [opt-args]

CLI Arguments Type Description
-h, --help opt-args Show help for commands
-v, --version opt-args Show version for the utils program
create pos-args Create project from templates
modify pos-args Modify project templates metadata
delete pos-args Delete project folder created using utils
hackto pos-args Utility scripts by community during Hacktober

For Creating a Project - Second Level Arguments

Usage : python kush-util.py create [opt-args]

CLI Arguments Type Description
-h, --help opt-args Show help for create
--plang opt-args Specify Projects Programming Language
--pname opt-args Specify Projects Name
--pname opt-args Specify Projects Path

For Accessing Hacktober Contributions - Second Level Arguments

Usage : python kush-util.py hackto [opt-args]

CLI Arguments Type Description
-h, --help opt-args Show help for create
random pos-args Random Chance Things
price_alert pos-args Get Price alert for Amazon.in products

For Accessing Price Alert Scripts - Third Level Arguments

Usage : python kush-util.py hackto price_alert [opt-args]

CLI Arguments Type Description
-h, --help opt-args Show help for create
url pos-args URL for the product
eprice pos-args Expected price in INR for the product
--s_email opt-args Sender Email (set default in globals)
--s_pass opt-args Sender Password (set default in globals)
--r_email opt-args Receiver Email (set default in globals)

For Accessing Random Generators Scripts - Third Level Arguments

Usage : python kush-util.py hackto random [opt-args]

CLI Arguments Type Description
-h, --help opt-args Show help for create
--roll_dice opt-args Roll a Double Dice!
--toss_coin opt-args Toss a Coin!
--sort_hat opt-args Get sorted at Hogwartz!

Running

  1. Create a virtualenv
  2. Get the required packages through pip from requirements.txt
  3. Run the kush-util.py script with the required args.

Requirements

  • pathlib - Approach for pathlib usage:
    • create directory if not exist
    • create file if not exist and populate specific filetype with predefined templates
    • basically filesystem related tasks.
  • anytree - Approach for anytree usage:
    • store project and directory structure as tree
    • check if leaf is file then create the file with a predefined template
    • if the leaf is a directory keep the directory empty
  • argparse - Approach for argparse usage:
    • multiple sub-parser for major commands
    • args in the sub-parsers for major commands specific feature
    • inspiration for chained arguments taken from git cli.
  • requests - Approach for requests usage:
    • get the webpage locally in a machine readable format
  • beautifulsoup4 - Approach for beautifulsoup4 usage:
    • for the webpage from requests scrap required ids and classes
  • smtplib - Approach for smtplib usage:
    • sending emails - currently gmail only using smtp
  • cowsay - Approach for cowsay usage
    • for adding fun element in printing on CLI screen.

Contributing

NOTE: Check the TODO before opening issues to check if it is detected and is being worked upon.

This project is open to and encourages contributions! Feel free to discuss any bug fixes/features in the issues. If you wish to work on this project and extend it with your own daily usage scripts:

  1. Fork this project
  2. Create a branch (git checkout -b new-branch)
  3. Commit your changes (git commit -am 'add new feature')
  4. Push to the branch (git push origin new-branch)
  5. Submit a pull request!
Owner
Kushagra
Student CSE (Spl. Gaming Tech)
Kushagra
The repository is about 100+ python programming exercise problem discussed, explained, and solved in different ways

Break The Ice With Python A journey of 100+ simple yet interesting problems which are explained, solved, discussed in different pythonic ways Introduc

Abdullah Al Masud Tushar 2.2k Jan 04, 2023
Quanser Labs Robotic Arm With Python

Quanser-Labs-Robotic-Arm As a team, we programmed a Robotic-Arm in Python on the

1 Jul 11, 2022
📙 Super lightweight function registries for your library

catalogue: Super lightweight function registries for your library catalogue is a tiny, zero-dependencies library that makes it easy to add function (o

Explosion 139 Jan 02, 2023
A project to find out all the words in a crossword.

A project to find out all the words in a crossword.

Kalpesh Dhoundiyal 1 Feb 06, 2022
Simple AoC helper program you can use to develop your own solutions in python.

AoC-Compabion Simple AoC helper program you can use to develop your own solutions in python. Simply install it in your python environment using pip fr

Alexander Vollmer 1 Dec 20, 2021
Load dependent libraries dynamically.

dypend dypend Load dependent libraries dynamically. A few days ago, I encountered many users feedback in an open source project. The Problem is they c

Louis 5 Mar 02, 2022
Used the pyautogui library to automate some processes on the computer

Pyautogui Utilizei a biblioteca pyautogui para automatizar alguns processos no c

Dheovani Xavier 1 Dec 30, 2021
All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Python3-cursoemvideo-exercises - All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Renan Barbosa 3 Jan 17, 2022
TrainingBike - Code, models and schematics I've used to interface my stationary training bike with PC.

TrainingBike Code, models and schematics I've used to interface my stationary training bike with PC. You can find more information about the project i

1 Jan 01, 2022
A simple streamlit webapp with multiple functionality

A simple streamlit webapp with multiple functionality

Omkar Pramod Hankare 2 Nov 24, 2021
🍞 Create dynamic spreadsheets with arbitrary layouts using Python

🍞 tartine What this is Installation Usage example Fetching some data Getting started Adding a header Linking more cells Cell formatting API reference

Max Halford 11 Apr 16, 2022
A Sophisticated And Beautiful Doxing Tool

Garuda V1.1 A Sophisticated And Beautiful Doxing Tool Works on Android[Termux] | Linux | Windows Don't Forget to give it a star ❗ How to use ❓ First o

The Cryptonian 67 Jan 10, 2022
A tool to replace all osu beatmap backgrounds at once.

OsuBgTool A tool to replace all osu beatmap backgrounds at once. Requirements You need to have python 3.6 or newer installed. That's it. How to Use Ju

Aditya Gupta 1 Oct 24, 2021
PyToQlik is a library that allows you to integrate Qlik Desktop with Jupyter notebooks

PyToQlik is a library that allows you to integrate Qlik Desktop with Jupyter notebooks. With it you can: Open and edit a Qlik app inside a Ju

BIX Tecnologia 16 Sep 09, 2022
Craxk is a SINGLE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reproduced by a single machine.

What is Craxk ? Craxk is a UNIQUE AND NON-REPLICABLE Hash that uses data from the hardware where it is executed to form a hash that can only be reprod

5 Jun 19, 2021
Heads Down Application for Mac OSX

Heads Down A Mac app that lives in your ribbon—with a click of the mouse, temporarily block distracting websites and applications to encourage "heads

20 Mar 10, 2021
Blender addon for executing the operator in response to the received OSC message.

I/F Joiner 受信したOSCメッセージに応じてオペレータ(bpy.ops)を実行するアドオンです. OSC通信に対応したコントローラやアプリをインストールしたスマートフォンを使用してBlenderを操作することが可能になります. 同時開発しているAndroidコントローラ化アプリMocopa

simasimataiyo 6 Oct 02, 2022
This code makes the logs provided by Fiddler proxy of the Google Analytics events coming from iOS more readable.

GA-beautifier-iOS This code makes the logs provided by Fiddler proxy of the Google Analytics events coming from iOS more readable. To run it, create a

Rafael Machado 3 Feb 02, 2022
Lightweight and Modern kernel for VK Bots

This is the kernel for creating VK Bots written in Python 3.9

Yrvijo 4 Nov 21, 2021
Ergonomic option parser on top of dataclasses, inspired by structopt.

oppapī Ergonomic option parser on top of dataclasses, inspired by structopt. Usage from typing import Optional from oppapi import from_args, oppapi @

yukinarit 4 Jul 19, 2022