Skip to main content

Collection of very general python utilities

Project description

Holytools

A collection of general utilities in various very general areas that aim for simplicity in use. Functionalities include:

  • object serialization -> holytools.abstract.serialization
  • fileIO and mock files -> holytools.file
  • configuration management -> holytools.configs
  • file system navigation and management -> holytools.fsys
  • task/event scheduling -> holytools.events
  • hardware interaction -> holytools.hardware
  • web search/scraping -> holytools.web
  • command line interfaces -> holytools.userIO

Setup

Latest release from PyPI:

pip install holytools 

OR: Most recent commit from github:

pip install holytools @ git+https://git@github.com/Somerandomguy10111/holytools.git

Examples

  • holytools.fsys -> Zip a file or folder or get resource information
# fsys
from holytools.fsys import FsysNode
node = FsysNode(path='/home/daniel/Drive/Desktop/fluent_python.pdf')
zip_bytes = node.get_zip()
last_modified : float = node.get_epochtime_last_modified()
file_size_mb : float = node.get_size_in_MB()
  • holytools.config -> set/get configs from a config file or from unix password manager "pass"
# config
from holytools.configs import FileConfigs, PassConfigs
configs = FileConfigs(config_fpath='~/myconfigs.ini')
key = 'plot_images'
configs.set(key=key, value=False)
plot_images : bool = configs.get(key=key) # False

pass_configs = PassConfigs()
secret_key = pass_configs.get(key='secret_key')
  • holytools.abstract -> Save/load
# serialization
from holytools.abstract import Picklable
class SomeClass(Picklable):
    def __init__(self, s : str, x : float):
        import uuid
        self.s = s
        self.x = x
        self.uuid = uuid.uuid4()

obj = SomeClass(s='hello there', x =2.3)
serialized_obj = obj.to_str()
loaded_obj = SomeClass.from_str(s=serialized_obj)
print(obj.__dict__)          # {'s': 'hello there', 'x': 2.3, 'uuid': UUID('79b489be-3871-4da0-ade4-665097b9bf42')}
print(loaded_obj.__dict__)   # {'s': 'hello there', 'x': 2.3, 'uuid': UUID('79b489be-3871-4da0-ade4-665097b9bf42')}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

holytools-0.9.5.tar.gz (863.2 kB view details)

Uploaded Source

Built Distribution

holytools-0.9.5-py3-none-any.whl (878.1 kB view details)

Uploaded Python 3

File details

Details for the file holytools-0.9.5.tar.gz.

File metadata

  • Download URL: holytools-0.9.5.tar.gz
  • Upload date:
  • Size: 863.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for holytools-0.9.5.tar.gz
Algorithm Hash digest
SHA256 c63a3cdb269af2716ff7553e35f53382839d5d188bdcee217e1a0c0ec982a7ea
MD5 8ad3f59aa7767e6acc99f4838040ada3
BLAKE2b-256 b1dfef07078bf9b2c81240f61f73fda08bfb62f120c1bc7911fff9b0f55e39fe

See more details on using hashes here.

File details

Details for the file holytools-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: holytools-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 878.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for holytools-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2993c30e58cf078f6c3f35e4a3ab2cf4d36793491483beb27d2027e4a5f16c7a
MD5 f93f825eab439a088510d0f803424d2d
BLAKE2b-256 8aef54c29a73b2fc6a1d5c500cde5a3506d0622418f53fd6a7e1cc3ff96aa300

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page