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
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2015d97b7c58f6fc06d18f7b6f041ef055862cce560eb6c09b8929db9fc9ef4 |
|
MD5 | 644c1d6025d0e29e04159753d1196275 |
|
BLAKE2b-256 | b72e92c2b9deee6488b3bba8ab3a037786af2f740084dda13c1cacb201c0deb0 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb60561226dbe5ea4f097e0f5c5e52587a2cb853a8de6fa93bb612b01c4776b7 |
|
MD5 | 0ea22dcc324ccf323d3b77eda269cc1f |
|
BLAKE2b-256 | c62db5856306d1232e28dddf7622970e68dfbb4748ab7c6712b2d57e3eeb4d09 |