Skip to main content

UtilityLib: Think, Explore, and Master

Project description

About UtilityLib

  • Provided ready to use functions to process, read, write, list files and directories and more...

Installation

  • Install using source from github using python's pip module
  • Copy the UtilityLib directory in the project
  • pip install UtilityLib under any python envrironment

Examples

# Append package path to PYTHONPATH or use sys.path.append method to append parent directory's path

# 1
from UtilityLib import EU
EU.filename("filepath/filename.ext1.ext2")

# 2
from UtilityLib import UtilityManager as UM
UM().filename("filepath/filename.ext1.ext2")

# 3
import UtilityLib as UL
UL.UM.filename("filepath/filename.ext1.ext2")
UL.UtilityManager().filename("filepath/filename.ext1.ext2")

# 4
from UtilityLib import ProjectManager
_pm = ProjectManager(
  path_bases=("/mnt/D/DataDrive", "D:/path-windows")
  version=2,
  subversion=202211
  )
_pm.config.new_key.deeper_new_key = "new_value"

# Update Old Config
_pm.update_config()

# Save as a new version but later change key
_pm.update_config(subversion=20221103)

Quickly compress files to tar.gz (tgz) format and remove the directory

Later the files can be read directly from the tgz compressed file

_wos_files = EU.search(f"{path_scrapped_queries}/WOS-Downloads", "*.csv")
EU.add_tgz_files(f"{path_scrapped_queries}/WOS-Downloads.tgz", _wos_files)
EU.delete_path(f"{path_scrapped_queries}/WOS-Downloads")

ToDo

  • require_from GitHub
  • Saving file hashes to check if file has changed ever since last accessed

Requirements

  • xmltodict
  • sqlalchemy

Version Updates

2.6

20221103

  • Added ProjectManager
    • Dot notion to access or deep nested objected
    • Can hold data by pickling and unpickling (Could there be any data loss due to protocol version change?)
    • class to keep track of configuration
    • persistent storage
    • Storage by pickling and unpickling

20221018

  • Class DataUtility for quick processing of text, numbers or objects or frequently used libraries
  • require_form method to include libraries from external folder

20220923

  • Upgraded FileSystemUtility.list_zipfile to FileSystemUtility.list_zip_files

20220921

  • Added cli argument parser
  • ITERTOOLS product and combinations method

20220914

  • Added single static update_attributes method and removed __update_attr method from individual class

2.57.20220908

  • Implemented ready to go import from UtilityLib import EU
  • Param changes in EU.combination method

2.56.20220905

  • Added new methods
  • Major changes (check commit)
    • Removed json parameter from FileSystemUtility.get_file
  • Minor changes (check commit)

2.5.20220818

  • Package reusability enhancement

2.4.20220129

  • Initial version

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

UtilityLib-2.7.20231012.tar.gz (23.5 kB view details)

Uploaded Source

File details

Details for the file UtilityLib-2.7.20231012.tar.gz.

File metadata

  • Download URL: UtilityLib-2.7.20231012.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for UtilityLib-2.7.20231012.tar.gz
Algorithm Hash digest
SHA256 aba5a22dfee932d75495daa134e46e9cc018b4ac5d2816c6eda11b0223aacb77
MD5 8dc3eb4aee3deba0ae6e754a5e70be62
BLAKE2b-256 62741e3031b80f66746410dec6df2a1f76f8174daab517247d755d33360aedc9

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