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.1.tar.gz
(15.6 kB
view details)
Built Distribution
mmguero-1.2.1-py3-none-any.whl
(14.8 kB
view details)
File details
Details for the file mmguero-1.2.1.tar.gz
.
File metadata
- Download URL: mmguero-1.2.1.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 | 1d75a90ebc766036261dc91da52ea9bdaa1d377246cca97c22531dea96a2439a |
|
MD5 | 7c1746bd021a9ba716a903fc949be1d6 |
|
BLAKE2b-256 | 64ddc47d7783c2a49fd25d0c7c053fac5bad1da92cb90d4f1c2a324a64205cff |
File details
Details for the file mmguero-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: mmguero-1.2.1-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 | f0e4e4a9055c72f69fe485d7301b54013517e7ef031f13fc057c04c4a9a0a002 |
|
MD5 | b85c9a3d899a2de69ae061fa31508aca |
|
BLAKE2b-256 | a6fcdad6ee53c0bf70a5ce30a686d785bd53ed3ed87e3beae32ed8272bed6a66 |