Skip to main content

kcliutils

Project description

kcliutils

PyPI - package version PyPI - license PyPI - python version PyPI - downloads

GitHub - last commit GitHub - commit activity

GitHub - code size in bytes GitHub - repo size GitHub - lines of code

GitHub - license

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

npp result

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 installs 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

pyreqs/python_requirements

  • creates a requirements.txt file with all the used dependencies
pyreqs
# creates 'requirements.txt'
# or
python_requirements

pif/create_python_install_file

  • creates an install_dependencies.sh file with all the used dependencies
pif
# creates 'install_dependencies.sh'
# or
create_python_install_file

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

nps result

Dependencies

bullet, jsoncodable, kcu, kdependencies

Project details


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.12.tar.gz (21.5 kB view hashes)

Uploaded Source

Built Distribution

kcliutils-0.1.12-py3-none-any.whl (32.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page