CLIbrary
A comprehensive Python library of standard CLI utilities for convenient command, I/O, and file handling.
CLIbrary is a comprehensive Python library that makes command line usage, input/output, and file handling easier and more efficient. It provides a wide range of tools for interacting with a shell, including essential utilities for command line parsing and I/O, file manipulations, tab completion, and command hinting. With these tools, CLIbrary makes it easy to integrate powerful command-line functionality into any Python project.
Additionally, it now also provides a history feature for tracking and re-executing previous commands.
Make sure to take a look at the documentation, at the contributing guidelines and at the examples.
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 to1:
● 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
Importing CLIbrary
CLIbrary can be imported by:
import CLIbrary
Examples
These are some examples from existing projects2.
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"]
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
Metadata
Release files for CLIbrary 1.10.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| clibrary-1.10.0.tar.gz | 27.3 kB | Without provenance | Details for clibrary-1.10.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clibrary-1.10.0-py3-none-any.whl | Python 3 | none | any | Details for clibrary-1.10.0-py3-none-any.whl |
Total release size: 50.1 kB
Release files / clibrary-1.10.0.tar.gz
| Download URL | clibrary-1.10.0.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c393517b913967f4e370e39f697ffe54d4f5121a1153008a50ec3d893d093fe3
|
|
BLAKE2b-256 checksum How to use checksums |
010c75db84a100cc373528642291f01aa0469a38f685aa78cd5600aaf54b674f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / clibrary-1.10.0-py3-none-any.whl
| Download URL | clibrary-1.10.0-py3-none-any.whl |
|---|---|
| Size | 22.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9d864543ff6df995858322afd0a240277595ee18453441e00724953fd1e906e3
|
|
BLAKE2b-256 checksum How to use checksums |
6905835907e3d108ff0e7dbc25409308ec0788e48c7507a2739f8e14d027b229
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Security for CLIbrary 1.10.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.