Skip to main content

A comprehensive Python library of standard CLI utilities for convenient command, I/O, and file handling.

Project description

CLIbrary

A comprehensive Python library of standard CLI utilities for convenient command, I/O, and file handling.
Make sure to take a look at the documentation

Installation

Installing CLIbrary

CLIbrary can be installed from PyPI by:

python3 -m pip install --upgrade CLIbrary

Verify installation

The installation of CLIbrary can be verified by:

python3 -m CLIbrary

which would return something similar to[^1]:

●  CLIbrary v1.7.2 
A comprehensive Python library of standard CLI utilities for convenient command, I/O, and file handling.
Developed by Andrea Di Antonio, more on https://github.com/diantonioandrea/CLIbrary
Documentation on https://github.com/diantonioandrea/CLIbrary/blob/main/docs.md
Bug tracker on https://github.com/diantonioandrea/CLIbrary/issues

[^1]: Example referring to version 1.7.2

Importing CLIbrary

CLIbrary can be imported by:

import CLIbrary

Examples

These are some examples from existing projects[^2].

Command line interface

An example from openTree

import CLIbrary

...

cmdHandler = {"request": "[" + user.name + "@" + name + "]"}
cmdHandler["style"] = Fore.MAGENTA

cmdHandler["helpPath"] = helpPath

...

cmdHandler["allowedCommands"] = ["set", "password", "delete", "new"]

...

command = CLIbrary.cmdIn(cmdHandler)

cmd = command["command"]
sdOpts = command["sdOpts"]
ddOpts = command["ddOpts"]

[^2]: "..." indicates missing code.

Asking for input

Some examples from openBriefcase

import CLIbrary

...

class account:
	def __init__(self, otherNames: list):
		self.name = CLIbrary.strIn({"request": "Account name", "space": False, "blockedAnswers": otherNames})
		self.start = CLIbrary.numIn({"request": "Starting balance"})

...

class movement:
	def __init__(self, otherCodes: list):
		...

		self.reason = CLIbrary.strIn({"request": "Movement reason", "allowedChars": ["-", "'", ".", ",", ":"]})
		self.amount = CLIbrary.numIn({"request": "Movement amount"})
		self.date = CLIbrary.dateIn({"request": "Movement date"})

		...

		self.confirmation = CLIbrary.boolIn({"request": "Verify \"" + str(self) + "\""})

Loading and dumping a file

An example from openTree

import CLIbrary

...

user = openTree.user()

fileHandler = {"path": dataPath + user.name, "ignoreMissing": True}
userData = CLIbrary.aLoad(fileHandler)

...

fileHandler["data"] = user
CLIbrary.aDump(fileHandler)

Set values for global settings

An example from openTree

import CLIbrary

...

CLIbrary.data.setting_fileExtension = ".ot"

...

if userData.darkTheme:
	CLIbrary.style.setting_darkMode = True

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

clibrary-1.7.2.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

clibrary-1.7.2-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file clibrary-1.7.2.tar.gz.

File metadata

  • Download URL: clibrary-1.7.2.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for clibrary-1.7.2.tar.gz
Algorithm Hash digest
SHA256 a2015d97b7c58f6fc06d18f7b6f041ef055862cce560eb6c09b8929db9fc9ef4
MD5 644c1d6025d0e29e04159753d1196275
BLAKE2b-256 b72e92c2b9deee6488b3bba8ab3a037786af2f740084dda13c1cacb201c0deb0

See more details on using hashes here.

File details

Details for the file clibrary-1.7.2-py3-none-any.whl.

File metadata

  • Download URL: clibrary-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for clibrary-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eb60561226dbe5ea4f097e0f5c5e52587a2cb853a8de6fa93bb612b01c4776b7
MD5 0ea22dcc324ccf323d3b77eda269cc1f
BLAKE2b-256 c62db5856306d1232e28dddf7622970e68dfbb4748ab7c6712b2d57e3eeb4d09

See more details on using hashes here.

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