Useful helpers by me, for me.
Project description
mmguero
mmguero is my personal collection of miscellaneous helper functions for Python.
Contents
AggressiveUrlEncode
- urlencode each character of a stringAppendToFile
- append strings to a text fileAskForPassword
- get interactive password (without echoing)AskForString
- get interactive user responseAtomicInt
- atomic integer class and context managerBase64DecodeIfPrefixed
- decode a string as base64 only if it starts withbase64:
, otherwise just returnCaselessDictionary
- dictionary that enables case insensitive searching while preserving case sensitivity when keys are listedCheckOutputInput
- run command with arguments and return its exit code, stdout, and stderrChooseMultiple
- select multiple options from a list of optionsChooseOne
- select a single option from a list of optionsChownRecursive
- "chown -R" a file or directoryClearScreen
- attempt to clear the screen withclear
(*NIX) orcls
(Windows)ContainsWhitespace
- check if any character in a string is whitespaceContextLockedOrderedDict
- an OrderedDict that locks itself and unlocks itself as a context managerCustomMakeTranslation
DeepGet
- safe deep get for a dictionaryDeepSet
- convenience routine for setting-getting a value into a dictionaryDictSearch
- recursive dictionary key searchDisplayMessage
- display a message to the userDisplayProgramBox
- "stream" the contents of a file descriptor into a program boxDoDynamicImport
- attempt dynamic imports, prompting for install via pip if possibleDownloadToFile
- download a URL to a local fileeprint
- print to stderrEscapeAnsi
- remove ANSI escape sequencesEVP_BytesToKey
- create key compatible with openssl encFileContents
- read the contents of a file, optionally falling back to binaryFlatten
- flatten a collection, but don't split stringsGetIterable
- return an iterable for an iterable (as-is) or a scalar (as a single element in a tuple)GetPrimaryIP
- return the primary IP (the one with a default route) on the local boxGitClone
- create a local git cloneLoadFileIfJson
- does this file contain valid json? if so, load and return itLoadStrIfJson
- is this string valid json? if so, load and return itPopLine
- "pop" lines from the beginning of a text filepushd
- chdir to directory as context manager, returning automaticallyRemoveEmptyFolders
- recursively remove empty subfoldersRemovePrefix
- remove a prefix from a stringRemoveSuffix
- remove a suffix from a stringRunProcess
- run command with arguments and return its exit code, stdout, and stderrRunSubProcess
- execute a shell process returning its exit code and outputSameFileOrDir
- return true if os.path.samefile, also False on exceptionsha256sum
- calculate a sha256 hash of a fileSizeHumanFormat
- nice human-readable file sizesstr2bool
andstr2boolorextra
- convenient boolean argument parsingTablify
- print a list of lists into a nice tableTemporaryFilename
- a context manager returning a temporary filename which is deleted upon leaving the contextTestSocket
- test if a remote port is openTouch
- open a file and close it, updating its access timeval2bool
- convenient boolean argument parsingWhich
- determine if a program/script exists and is executable in the system pathYesOrNo
- get interactive user response to Y/N question
Installation
Using pip
, to install the latest release from PyPI:
python3 -m pip install -U mmguero
Or to install directly from GitHub:
python3 -m pip install -U 'git+https://github.com/mmguero/python-mmguero'
Authors
- Seth Grover - Initial work - mmguero
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
mmguero-1.2.0.tar.gz
(15.6 kB
view details)
Built Distribution
mmguero-1.2.0-py3-none-any.whl
(14.8 kB
view details)
File details
Details for the file mmguero-1.2.0.tar.gz
.
File metadata
- Download URL: mmguero-1.2.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c305678788ce180c2b7b530f8dcaff7c24c8795994e721e5721d2deb940f447 |
|
MD5 | 361acec7b403edbe234c6162d1e8bf6d |
|
BLAKE2b-256 | 3843bb75f4c4c5b06be31ad7f1b7b777a1d20c0f581c87f9cfc1e60d6437aa34 |
File details
Details for the file mmguero-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: mmguero-1.2.0-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db4df10e1598e97f201506f544c8238d6629235c9588878e8009f23db15ccead |
|
MD5 | e596de98339f573f921a5b36519f3e85 |
|
BLAKE2b-256 | b4edb487950ee73de18c6065d881ffda7d0bd32c6fb67bd94ea06df2f7001571 |