kcliutils
Project description
kcliutils
Description
Python cli utils for faster development
Install
pip install kcliutils
# or
pip3 install kcliutils
How to use
1. Package related
- npp/new_python_package
- Run in an empty folder with git checked out
- Creates a new empty package, with default files, such as .gitignore, README.md, setup.py, demo.py, LICENSE, etc.
# cd to desired folder with .git in it
npp package_name
# or
new_python_package package_name
npp test_package_name
will generate
- upp/upgrade_python_package
- Run in an already existing project folder
- Updates setup.py with dependencies, bumps version number
- Updates install_dependencies.sh and requirements.txt
- Updates readme with dependencies, copies the contents of 'demo.py' to the usage section of the reeadme
- NOTE: to make this work properly, the packege had to be created with npp.
# cd to desired folder with .git in it
upp
# or
upgrade_python_package
- ppp/publish_python_package
- Calls upp, publishes to pypi and instals the new version
# cd to desired folder with .git in it
ppp "Optional commit message"
# or
publish_python_package "Optional commit message"
- prpipush/upgrade_push_install
- Same as ppp, but without publishing on pypi (for private, github-hosted packages)
# cd to desired folder with .git in it
prpipush "Optional commit message"
# or
upgrade_push_install "Optional commit message"
2. Formatting
- cl/clean_lines
- Cleans the ending useless spaces from every line
# cd to desired folder
cl
# or
clean_lines
- migrate_comment_line_len
- Updates the lengh of each separator comment line generated with the file generators from this package.
# cd to desired folder
migrate_comment_line_len Optional_length_which_defaults_to_your_settings
3. Git
- psh/push
- stages/commits everything and pushes to github
# cd to desired folder
psh "Optional commit message"
# or
push "Optional commit message"
- ftch/fetch
- git fetch
# cd to desired folder
ftch
# or
fetch
- pll/pull
- git pull
# cd to desired folder
pll
# or
pull
4. Pip
- pipu/pip_uninstall
- pip uninstall
pipu PACKAGE_NAME
# or
pip_uninstall PACKAGE_NAME
- pipi/pipiu/pip_install
- pip install -U
pipi PACKAGE_NAME
# or
pipiu PACKAGE_NAME
# or
pip_install PACKAGE_NAME
- pipir/pip_reinstall
- pip uninstall && pip install
pipir PACKAGE_NAME
# or
pip_reinstall PACKAGE_NAME
5. New files
- npc/new_python_class
- creates a python file with a class-like formatting
npc file_name
# creates 'file_name.py' class 'FileName' in it
# also accepts relative path 'relative/path/to/file_name'
# or
new_python_class file_name
generated file contents
# ------------------------------------------------- Imports ------------------------------------------------ #
# System
# Pip
# Local
# ---------------------------------------------------------------------------------------------------------- #
# -------------------------------------------- class: TestClass -------------------------------------------- #
class TestClass:
# ---------------------------------------------- Init ---------------------------------------------- #
def __init__(
self
):
return
# ---------------------------------------- Public properties --------------------------------------- #
# ----------------------------------------- Public methods ----------------------------------------- #
# --------------------------------------- Private properties --------------------------------------- #
# ----------------------------------------- Private methods ---------------------------------------- #
# ---------------------------------------------------------------------------------------------------------- #
- npa/new_python_api
- creates a python file with a api-like formatting (conforming ksimpleapi)
npa file_name
# creates 'file_name.py' class 'FileName' in it
# also accepts relative path 'relative/path/to/file_name'
# or
new_python_api file_name
generated file contents
# ------------------------------------------------- Imports ------------------------------------------------ #
# System
from typing import Optional, Dict
# Pip
from ksimpleapi import Api
# Local
# ---------------------------------------------------------------------------------------------------------- #
# --------------------------------------------- class: FileName -------------------------------------------- #
class FileName(Api):
# -------------------------------------------- Overrides ------------------------------------------- #
@classmethod
def extra_headers(cls) -> Optional[Dict[str, any]]:
return {
}
# ---------------------------------------- Public properties --------------------------------------- #
# ----------------------------------------- Public methods ----------------------------------------- #
# --------------------------------------- Private properties --------------------------------------- #
# ----------------------------------------- Private methods ---------------------------------------- #
# ---------------------------------------------------------------------------------------------------------- #
- npe/new_python_enum
- creates a python file with a enum-like formatting
npe file_name
# creates 'file_name.py' enum 'FileName' in it
# also accepts relative path 'relative/path/to/file_name'
# or
new_python_enum file_name
generated file contents
# ------------------------------------------------- Imports ------------------------------------------------ #
# System
from enum import Enum
# ---------------------------------------------------------------------------------------------------------- #
# --------------------------------------------- enum: FileName --------------------------------------------- #
class FileName(Enum):
Template = 0
# ---------------------------------------------------------------------------------------------------------- #
- npf/new_python_file
- creates a python file with a default file formatting
npf file_name
# creates 'file_name.py'
# also accepts relative path 'relative/path/to/file_name'
# or
new_python_file file_name
generated file contents
# ------------------------------------------------- Imports ------------------------------------------------ #
# System
# Pip
# Local
# ---------------------------------------------------------------------------------------------------------- #
# ----------------------------------------------- Public vars ---------------------------------------------- #
# ---------------------------------------------- Private vars ---------------------------------------------- #
# ---------------------------------------------- Private vars ---------------------------------------------- #
# ---------------------------------------------- Private vars ---------------------------------------------- #
# ---------------------------------------------------------------------------------------------------------- #
- npfl/new_python_flow
- creates a python file with a flow-like formatting (check example)
npfl file_name
# creates 'file_name.py'
# also accepts relative path 'relative/path/to/file_name'
# or
new_python_flow file_name
generated file contents
# ------------------------------------------------- Imports ------------------------------------------------ #
# System
# Pip
# Local
# ---------------------------------------------------------------------------------------------------------- #
# ------------------------------------------------- Methods ------------------------------------------------ #
# -------------------------------------------------- Paths ------------------------------------------------- #
# -------------------------------------------------- Vars -------------------------------------------------- #
# -------------------------------------------------- Flow -------------------------------------------------- #
# ---------------------------------------------------------------------------------------------------------- #
- nps/new_python_subpackage
- creates a new subpackage at the desired relative path
nps SUB_PACKAGE_NAME_OR_RELATIVE_PATH
# or
new_python_subpackage SUB_PACKAGE_NAME_OR_RELATIVE_PATH
nps test_subpackage
will generate
Dependencies
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kcliutils-0.1.3.tar.gz
(21.4 kB
view hashes)
Built Distribution
kcliutils-0.1.3-py3-none-any.whl
(30.7 kB
view hashes)
Close
Hashes for kcliutils-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 933a88b400566eb1993484143fb24193caa5ea34f773760350bccc61885f59a8 |
|
MD5 | 069c8eea9be24f66beb5df7605344194 |
|
BLAKE2b-256 | a1f9ba9ec7467fabe22550c4e3f07ee7e162ffbfb1750e8a617958311853b6f3 |