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.8.tar.gz (863.7 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.8-py3-none-any.whl (878.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: holytools-0.9.8.tar.gz
  • Upload date:
  • Size: 863.7 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.8.tar.gz
Algorithm Hash digest
SHA256 9341a41be43435b249e5324855b7eb0f169f332753ec1b1e3ada1e31d3506dd8
MD5 2bac7f59775ba7dc11dc7453bb41f7b5
BLAKE2b-256 24f9932a84b75e1bd19013cf0a368d169429f40f5a92ae3a6fca93751ffd889d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: holytools-0.9.8-py3-none-any.whl
  • Upload date:
  • Size: 878.7 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f03a107f54b44ecbcfff5d6d04038100066e59b11cee761e81cb1beecb372f28
MD5 f71e22ee25b2408e820c381051aaf914
BLAKE2b-256 228487d6b3ddd762ce5e8a86f4a449b01094dfd35d0de5fbd63b6b8446a01434

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