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.6.tar.gz (863.4 kB view details)

Uploaded Source

Built Distribution

holytools-0.9.6-py3-none-any.whl (878.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: holytools-0.9.6.tar.gz
  • Upload date:
  • Size: 863.4 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.6.tar.gz
Algorithm Hash digest
SHA256 e04e5bb3318aa6bbf8b4ec2eb92c30ef677e422018de06369e5ff90fb1f6e193
MD5 2b2e4c2e220efb0ea842cd451e7613b8
BLAKE2b-256 1786cced4e7abd87e66341139fe5ba3799426be99c9ec5482d1b13b40e85301c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: holytools-0.9.6-py3-none-any.whl
  • Upload date:
  • Size: 878.4 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8628c027e9143e02131495b35034b113c98b17759cd0c211f33aa2ae803abf21
MD5 4bbd89e5a64718e649f6fd38cf313956
BLAKE2b-256 00a61d972c536f8d941e445f3b2ffb8a50a809c24e2d35d5331ed3d29cd0c1eb

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