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
A module to develop and apply old-style links

Old-Linkage-Dev (OLD) Old Linkage Development is a module to develop and apply old-style links. Old-style links stand for some traditional or conventi

Tarcadia 2 Dec 04, 2021
Archive, organize, and watch for changes to publicly available information.

0. Overview The Trapper Keeper is a collection of scripts that support archiving information from around the web to make it easier to study and use. I

Bill Fitzgerald 9 Oct 26, 2022
If Google News had a Python library

pygooglenews If Google News had a Python library Created by Artem from newscatcherapi.com but you do not need anything from us or from anyone else to

Artem Bugara 1.1k Jan 08, 2023
AIST++ API This repo contains starter code for using the AIST++ dataset.

Explainability for Vision Transformers (in PyTorch) This repository implements methods for explainability in Vision Transformers

Google 260 Dec 30, 2022
Small tool to use hero .json files created with Optolith for The Dark Eye/ Das Schwarze Auge 5 to perform talent probes.

DSA5-ProbeMaker A little tool for The Dark Eye 5th Edition (Das Schwarze Auge 5) to load .json from Optolith character generation and easily perform t

2 Jan 06, 2022
Visual Python and C++ nanosecond profiler, logger, tests enabler

Look into Palanteer and get an omniscient view of your program Palanteer is a set of lean and efficient tools to improve the quality of software, for

Damien Feneyrou 1.9k Dec 26, 2022
ViberExport - Export messages from Viber messenger using viber.db file

📲 ViberExport Export messages from Viber messenger using viber.db file ⚡ Usage:

7 Nov 23, 2022
A promo calculator for sports betting odds.

Sportbetter Calculation Toolkit Parlay Calculator This is a quick parlay calculator that considers some of the common promos offered. It is used to id

Luke Bhan 1 Sep 08, 2022
Python framework to build apps with the GASP metaphor

Gaspium Python framework to build apps with the GASP metaphor This project is part of the Pyrustic Open Ecosystem. Installation | Documentation | Late

5 Jan 01, 2023
Today I Commit (1일 1커밋) 챌린지 알림 봇

Today I Commit Challenge 1일1커밋 챌린지를 위한 알림 봇 config.py github_token = "github private access key" slack_token = "slack authorization token" channel = "

sunho 4 Nov 08, 2021
Commodore 64 OS running on Atari 8-bit hardware

This is the Commodre 64 KERNAL, modified to run on the Atari 8-bit line of computers. They're practically the same machine; why didn't someone try this 30 years ago?

Nick Bensema 133 Nov 12, 2022
This library attempts to abstract the handling of Sigma rules in Python

This library attempts to abstract the handling of Sigma rules in Python. The rules are parsed using a schema defined with pydantic, and can be easily loaded from YAML files into a structured Python o

Caleb Stewart 44 Oct 29, 2022
SuperCollider library for Python

SuperCollider library for Python This project is a port of core features of SuperCollider's language to Python 3. It is intended to be the same librar

Lucas Samaruga 65 Dec 22, 2022
Artificial intelligence based on 5-dimensional quantum selection

Deep Thought An artificial intelligence based on 5-dimensional quantum selection. Algorithm The payload Make an random bit array (e.g. 1101...) Conver

Larry Holst 3 Dec 14, 2022
Check broken access control exists in the Java web application

javaEeAccessControlCheck Check broken access control exists in the Java web application. 检查 Java Web 应用程序中是否存在访问控制绕过问题。 使用 python3 javaEeAccessControl

kw0ng 3 May 04, 2022
Aevsploit İçin Destekde Bulun Papara: 1427113016

Aevsploit İçin Destekde Bulun Papara: 1427113016 Toolu Geliştirmek İçin Fikirlerinizi Bekliyorum Telegram

9 Jun 07, 2022
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
This simple script generates a backup of a given Python and R environment

Python Environment Backup It’s always good to maintain your Python and R Anaconda environment packages properly listed and well-kept in case you have

Andrew Laganaro 1 Jul 13, 2022
Web app for keeping track of buildings in danger of collapsing in the event of an earthquake

Bulina Roșie 🇷🇴 Un cutremur în București nu este o situație ipotetică. Este o certitudine că acest lucru se va întâmpla. În acest context, la mai bi

Code for Romania 27 Nov 29, 2022
100 Days of Python Programming

100 days of Python Following the initiative of my friend Helber Belmiro, who is almost done with his 100 days of Java, I have decided to start my 100

Henrique Pereira 19 Nov 08, 2021