Skip to main content

Small library for common tasks

Project description

📦 Helper Package for Coding and Automation Changelog

v0.2.x (Experiment & Core Updates)

v0.2.57

  • New Feature: Added halib.utils.tex_op for handling LaTeX operations; currently support flattening nested LaTeX structures into a single line (with all resources files like images, csv, etc. copied to a specified output directory), that can be used as standalone LaTeX code for building pdf using Tex Studio or Overleaf.

v0.2.55

  • 🚀 Improvement:: enhance zprofiler allow to inject pre-calculated time for a context (ctx) or a step.

v0.2.49

  • New Feature:: introduce utils/csv_op.py = a YAML-driven declarative CSV transformation pipeline supporting operations like filter, rename, convert, limit, sort, and drop with flexible output path handling.

v0.2.43

  • 🚀 Improvement:: enhance log_func decorator with additional logging options and better formatting (in Rich table).

  • New Feature:: introduce utils.PlotlyUtils with parallel coordinates plot and data table support

  • 🚀 Improvement:: move wandb_op.py to utils and add scripts folder

  • New Feature:: add common.common.log_func as decorator to log function entry, exit, with execution time and arguments.

  • 🚀 Improvement:: enhance utils.dict.DictUtils with deep_exclude/include and prune function

v0.2.28

  • New Feature: Implement utils.slack.SlackUtils class for managing Slack channel message deletion

  • New Feature: Added utils.dict.DictUtils for advanced dictionary manipulations (merging, filtering, transforming).

  • New Feature: Added common.common.pprint_stack_trace to print stack traces with optional custom messages and force stop capability.

  • 🚀 Improvement: exp.perf.profiler - allow to export report dict as csv files for further analysis

v0.2.19

  • New Feature: Added exp.core.param_gen to facilitate fast generation of parameter combination sweeps (grid search) using YAML configurations.

v0.2.17

  • 🚀 Improvement: Updated exp.perf.profiler with an enabled flag for dynamic toggling.
  • 🚀 Improvement: Added a measure context manager to simplify performance measuring of code blocks.

v0.2.13

  • ♻️ Refactor: Major reorganization of packages. Renamed research package to exp (Experiment Management).
  • 🚀 Improvement: Updated exp/perfcalc.py to allow saving computed performance metrics to CSV without explicitly calling calc_perfs.

v0.2.1

  • New Feature: Added eval_exp method to exp/base_exp for running evaluations (e.g., model testing) after experiments conclude.

v0.1.9x (Visualization & Generators)

v0.1.99

  • New Feature: Added gen_ipynb_name to filetype/ipynb. Generates filenames based on the current notebook name with optional timestamps.

v0.1.96

  • New Feature: Added PlotHelper class in research/plot for plotting training history and image grids (dataset samples or model outputs).

v0.1.91

  • New Feature: Added ParamGen class to research/param_gen for parsing YAML files into parameter lists for hyperparameter searches.

v0.1.90

  • New Feature: Added zProfiler class to research/profiler for measuring context/step execution time, supporting dynamic color scales in plots.

v0.1.5x - v0.1.7x (Infrastructure & Utilities)

v0.1.77

  • New Feature: Added BaseExp class in research/base_exp to handle common experiment tasks (performance calculation, result saving).

v0.1.67

  • 🔧 Maintenance: Switched to uv for virtual environment management.
  • 🚀 Improvement: Updated research/perfcalc to support both torchmetrics and custom metrics.

v0.1.61

  • New Feature: Added VideoUtils (util/video) for common video handling tasks.
  • New Feature: Added GPUMonitor (util/gpu_mon) for tracking GPU usage and performance.

v0.1.59

  • 🔨 Architecture: Added util/perfcalc abstract base class. This requires implementation of specific performance calculation logic.

v0.1.55

  • New Feature: Added util/dataclass_util for dynamic creation of dataclass objects from dictionaries or YAML (supports nested structures).

v0.1.52

  • New Feature: Added research/perftb module for managing experiment performance tables (filtering by dataset, metric, etc.).

v0.1.50

  • New Feature: Added pprint_local_path to print clickable file URIs for local paths.
  • New Feature: Added research package containing benchquery for dataframe benchmarking.
  • New Feature: Added wandb module for offline syncing and batch clearing of Weights & Biases runs.

v0.1.4x (Display & formatting)

v0.1.47

  • New Feature: Added pprint_box to print objects or strings inside a decorative box frame.

v0.1.46

  • 🐛 Fix: Filtered UserWarning: Unable to import Axes3D.
  • 🚀 Improvement: Added auto_wrap_text to fn_display_df to prevent long text overflow in tables.

v0.1.42

  • New Feature: Added rich_color.py wrapper for basic color lists.

v0.1.41

  • New Feature: Added rich_color.py to support rich color information (palettes, strings) using the rich library.

v0.1.40

  • 🚀 Improvement: Updated csvfile.py to use itables and pygwalker for interactive dataframe display in Jupyter notebooks.

v0.1.3x (Data & Loading)

v0.1.38

  • New Feature: Added torchloader.py to search for optimal DataLoader configurations (num_workers, batch_size, pin_memory).

v0.1.37

  • New Feature: Added dataset.py for splitting classification datasets into train/val/test sets.

v0.1.33

  • New Feature: Added plot.py for plotting Deep Learning training history (accuracy/loss) using seaborn and matplotlib.

v0.1.0 - v0.1.2x (Early Utilities)

v0.1.29

  • 🐛 Fix: Pinned kaleido==0.1.* for tele_noti as version 0.2.* caused image generation hangs.

v0.1.24

  • ♻️ Refactor: Renamed sys module to system to avoid conflicts with Python's built-in sys.
  • New Feature: Added tele_noti module for Telegram notifications regarding training progress.

v0.1.22

  • New Feature: Added cuda.py to check CUDA availability for both PyTorch and TensorFlow.

v0.1.21

  • New Feature: Added YAML inheritance and overriding support using networkx and omegaconf.

v0.1.15

  • New Feature: Added common logging library and @console_log decorator for function tracing.

v0.1.10

  • 🐛 Fix: Fixed typo is_exit -> is_exist in filesys.
  • 🚀 Improvement: Updated gdrive to support uploading to specific folders and returning direct shareable links.

v0.1.9

  • 🔧 Maintenance: Added requirements.txt.

v0.1.6 - v0.1.8

  • 🚀 Performance: Optimized table insertion by using an in-memory row_pool_dict before committing to the DataFrame.
  • New Feature: Added DFCreator for manipulating DataFrames (create, insert, display, save).

v0.1.4 - v0.1.5

  • New Feature: Added cmd module.
  • New Feature: Support for creating Bitbucket Projects from templates.

v0.1.2

  • New Feature: Added support for uploading local files to Google Drive.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

halib-0.2.57.tar.gz (84.0 kB view details)

Uploaded Source

Built Distribution

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

halib-0.2.57-py3-none-any.whl (205.4 kB view details)

Uploaded Python 3

File details

Details for the file halib-0.2.57.tar.gz.

File metadata

  • Download URL: halib-0.2.57.tar.gz
  • Upload date:
  • Size: 84.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for halib-0.2.57.tar.gz
Algorithm Hash digest
SHA256 4fdc5226bc68aaa82dfc56ec0b9ee102481071fca121a1626e2de1e166c672a2
MD5 38587a1614a6d448b8220263b733c88d
BLAKE2b-256 9ade0641b78269740921f925c7370aaeb26524770fea847826a1c9c2c9811462

See more details on using hashes here.

File details

Details for the file halib-0.2.57-py3-none-any.whl.

File metadata

  • Download URL: halib-0.2.57-py3-none-any.whl
  • Upload date:
  • Size: 205.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.6

File hashes

Hashes for halib-0.2.57-py3-none-any.whl
Algorithm Hash digest
SHA256 bd4913cf7303e8928d6218aebbb2b98dc7f58090d0d3af699e4b2f5adca821cf
MD5 6dd404fac59118052fa3f3a2937600d4
BLAKE2b-256 44064cc3b733396754135f3a2e2a13d15c4f1ee9c9060b45cb9ca6f133e588e5

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