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
An open-source Python project series where beginners can contribute and practice coding.

Python Mini Projects A collection of easy Python small projects to help you improve your programming skills. Table Of Contents Aim Of The Project Cont

Leah Nguyen 491 Jan 04, 2023
Urban Big Data Centre Housing Sensor Project

Housing Sensor Project The Urban Big Data Centre is conducting a study of indoor environmental data in Scottish houses. We are using Raspberry Pi devi

Jeremy Singer 2 Dec 13, 2021
Multiperiod Reports by Month/Quarter/Year in Beancount.

Multiperiod Reports by Month/Quarter/Year in Beancount. Plotting income and expenses over time. Treemap plot of expenses.

Altynbek Isabekov 16 Aug 13, 2022
Create standalone, installable R Shiny apps using Electron

WARNING This is still very much a work in progress and nothing can be assumed stable in any way Temp notes: Two types of created installer, based on w

Chase Clark 5 Dec 24, 2021
Youtube Channel Website

Videos-By-Sanjeevi Youtube Channel Website YouTube Channel Website Features: Free Hosting using GitHub Pages and open-source code base in GitHub. It c

Sanjeevi Subramani 5 Mar 26, 2022
GNU/Linux'u yeni kurulumu bitirmiş olarak açtığınızda sizi karşılayacak bir uygulama.

Hoş Geldiniz GNU/Linux'u yeni kurulumu bitirmiş olarak açtığınızda sizi karşılayacak bir uygulama.

Alperen İsa 96 Oct 30, 2022
Sublime Text 2/3 style auto completion for ST4

Hippie Autocompletion Sublime Text 2/3 style auto completion for ST4: cycle through words, do not show popup. Simply hit Tab to insert completion, hit

Alexander Schepanovski 20 May 19, 2022
A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

A server shell for you to play with Powered by Django + Nginx + Postgres + Bootstrap + Celery.

Mengting Song 1 Jan 10, 2022
Build a grocery store management application.

python_projects_grocery_webapp In this python project, we will build a grocery store management application. It will be 3 tier application, Front end:

codebasics 54 Dec 29, 2022
Bazel rules to install Python dependencies with Poetry

rules_python_poetry Bazel rules to install Python dependencies from a Poetry project. Works with native Python rules for Bazel. Getting started Add th

Martin Liu 7 Dec 15, 2021
Users can read others' travel journeys in addition to being able to upload and delete posts detailing their own experiences

Users can read others' travel journeys in addition to being able to upload and delete posts detailing their own experiences! Posts are organized by country and destination within that country.

Christopher Zeas 1 Feb 03, 2022
Change ACLs for QNAP LXD unprivileged container.

qnaplxdunpriv If Advanced Folder Permissions is enabled in QNAP NAS, unprivileged LXD containers won't start. qnaplxdunpriv changes ACLs of some Conta

1 Jan 10, 2022
token vesting escrow with cliff and clawback

Yearn Vesting Escrow A modified version of Curve Vesting Escrow contracts with added functionality: An escrow can have a start_date in the past.

62 Dec 08, 2022
YBlade - Import QBlade blades into Fusion 360

YBlade - Import QBlade blades into Fusion 360 Simple script for Fusion 360 that takes QBlade blade description and constructs the blade: Usage First,

Jan Mrázek 37 Sep 25, 2022
A self contained invitation management system for gatekeeping.

Invitease Description A self contained invitation management system for gatekeeping. Purpose Serves as a focal point for inviting guests to a venue pr

מעגן מיכאל 7 Jul 19, 2022
Python 100daysofcode

#python #100daysofcode Python is a simple, general purpose ,high level & object-oriented programming language even it's is interpreted scripting langu

Tara 1 Feb 10, 2022
An example of Connecting a MySQL Database with Python Code

An example of Connecting And Query Data a MySQL Database with Python Code And How to install Table of contents General info Technologies Setup General

Mohammad Hosseinzadeh 1 Nov 23, 2021
This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help..

VS Code Virtual Assistant This is a vscode extension with a Virtual Assistant that you can play with when you are bored or you need help. Its currentl

Soham Ghugare 6 Aug 22, 2021
Render reMarkable documents to PDF

rmrl: reMarkable Rendering Library rmrl is a Python library for rendering reMarkable documents to PDF files. It takes the original PDF document and th

Robert Schroll 95 Dec 25, 2022
Simple tooling for marking deprecated functions or classes and re-routing to the new successors' instance.

pyDeprecate Simple tooling for marking deprecated functions or classes and re-routing to the new successors' instance

Jirka Borovec 45 Nov 24, 2022