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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

holytools-0.9.18-py3-none-any.whl (873.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: holytools-0.9.18.tar.gz
  • Upload date:
  • Size: 860.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for holytools-0.9.18.tar.gz
Algorithm Hash digest
SHA256 be2d6d4aab087ac50a7e93f56df336b7b7a77a35afdd114597505e936a30caae
MD5 af5bd9d73ce62ab7e8b409d389eafb72
BLAKE2b-256 89a8c01462c21bfe6c1c5219bba4d6a2a5f34910e05a38ad55272c802f6ad27b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: holytools-0.9.18-py3-none-any.whl
  • Upload date:
  • Size: 873.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for holytools-0.9.18-py3-none-any.whl
Algorithm Hash digest
SHA256 cfa2bb6a877aa9e72cb301d00130e6feff0c6232c7a0d34046e1ae9c901ea154
MD5 9c90d8be658e7de4447eb4ee1e5b3fb5
BLAKE2b-256 6fdb70ac92eadb954320a23acaf347819603817d14f5d268291d0216e50a7b02

See more details on using hashes here.

Supported by

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