This is a collection of my Python 3 utilities
-
Logger.pyset up a logger which supports console, rolling file, and/or SMTP logging methodsaddArgs(parser:argparse.ArgumentParser)adds command line arguments for setting up loggingmkLogger(args:argparse.ArgumentParser, fmt:str, name:str)uses the args to setup the logger- fmt is the logging message format, by default "%(asctime)s %(threadName)s %(levelname)s: %(message)s"
- name is the logger to setup
-
Thread.pyis a threading.Thread class which catches exceptions and sends them to a queue. Then the main thread can wait on the queue for a problem to arise in any of the threads. -
INotify.pyis a thread which waits for modifications in a file system then forwards the modifications to a set of queues for other threads to process. It handles adding/removing of directories. -
GreatCircle.pycalculates great circle distances on the earth in meters using Vincenty's method. Compared against Matlab's distance function, distance.sample.nc, it should give a maximum difference around 1e-7. -
Credentials.pyloads credentials from YAML files with automatic prompting if the file doesn't existgetCredentials(fn:str)returns a tuple of (username, password) from the specified YAML file
-
SingleInstance.pyensures only one instance of a program runs at a time using Unix abstract sockets- Use as a context manager:
with SingleInstance(key) as single:
- Use as a context manager:
-
loadAndExecuteSQL.pyloads and executes SQL commands from a file with optional table existence checkingloadAndExecuteSQL(db, fn:str, tableName:str=None)executes SQL from a file, skipping if table already exists
-
install.pyinstalls and manages systemd services and timers for both user and system contextsaddArgs(parser:ArgumentParser)adds command line arguments for service installationinstall(args:ArgumentParser)installs services and timersuninstall(args:ArgumentParser)removes services and timers
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Metadata
Release files for TPWUtils 0.2.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 | |
|---|---|---|---|
| tpwutils-0.2.0.tar.gz | 28.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tpwutils-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.5 kB
Release files / tpwutils-0.2.0.tar.gz
| Download URL | tpwutils-0.2.0.tar.gz |
|---|---|
| Size | 28.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47c380310e6fc54a4f07e7e3152f24e6e63cd128f2217e575b05e7d332a284de
|
|
BLAKE2b-256 checksum How to use checksums |
7ea5e68c5e1b4bacbb0e02ad5798ef4b66eafbdaa9489f0dac1764ff9e4eda83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / tpwutils-0.2.0-py3-none-any.whl
| Download URL | tpwutils-0.2.0-py3-none-any.whl |
|---|---|
| Size | 26.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7ce471a6d870f93bdce6ac8bab33e5635f82f65caa3191dc29038b9ac6cb12d
|
|
BLAKE2b-256 checksum How to use checksums |
48c564f7f1fa9da03dde8265f202ffa29cc909e701c96d67af481e65f7cc4be1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|