Skip to main content

This package helps train, document and evaluate a Pytorch model.

Project description

drytorch_logo.png PyPI version Total Downloads Python License CI Status codecov Ruff basedpyright - checked

DRYTorch

A lean, minimal framework for machine-learning experiments. It enforces best practices and maximizes code reusability via a modular, decoupled design.

🌟 Features at a Glance

  • DRY Training Cycle: Minimal boilerplate for a wide range of ML applications. Includes a hook-based training cycle, adaptive data loading, and simplified checkpointing.
  • Protocol-Driven Modularity: Components communicate via defined protocols and abstract classes, ensuring type safety and flexibility for custom classes.
  • Decoupled Tracking: An event system notifies optional external libraries (Hydra, W&B, TensorBoard, etc.). Trackers do not impact the core experiment.
  • Enforced Best Practices: All logic runs within an experimental scope to discourage dependencies, prevent data leakage, and ensure correct configuration.

🛠️ Installation

Requirements The library only requires recent versions of PyTorch and NumPy. Tracker dependencies are optional.

Installation Using pip:

pip install drytorch

Using uv

uv add drytorch

🏗️ Library Organization

The library uses a microkernel (plugin) architecture to separate concerns.

  1. Core (core): The library kernel. Contains the Event System, Protocols for component communication, and internal safety Checks.
  2. Standard Library (lib): Reusable implementations and abstract classes of the protocols.
  3. Trackers (tracker): Optional tracker plugins that integrate via the event system.
  4. Contributions (contrib): Dedicated space for community-driven extensions.
  5. Utilities (utils): Functions and classes independent to the framework.

🚀 Usage

Dive into the full, runnable examples:

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

drytorch-0.1.0b4.tar.gz (903.8 kB view details)

Uploaded Source

Built Distribution

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

drytorch-0.1.0b4-py3-none-any.whl (87.5 kB view details)

Uploaded Python 3

File details

Details for the file drytorch-0.1.0b4.tar.gz.

File metadata

  • Download URL: drytorch-0.1.0b4.tar.gz
  • Upload date:
  • Size: 903.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for drytorch-0.1.0b4.tar.gz
Algorithm Hash digest
SHA256 451176310d36f2a25c2450b421e17a27e070be8b343b3cc5be69244dec10b24f
MD5 e7c53023306523598d063049a95c6a89
BLAKE2b-256 9436260fbcc9eddb0151e38dbe23b2623e7a4066f5f93b034e3a6cb532c7ec6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for drytorch-0.1.0b4.tar.gz:

Publisher: publish.yaml on nverchev/drytorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file drytorch-0.1.0b4-py3-none-any.whl.

File metadata

  • Download URL: drytorch-0.1.0b4-py3-none-any.whl
  • Upload date:
  • Size: 87.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for drytorch-0.1.0b4-py3-none-any.whl
Algorithm Hash digest
SHA256 57f4e22d51e014d33921c5777972cf96d82141cf2c10d715d3e1f467573a620e
MD5 f3c84979c83d9003cd6638970498c59f
BLAKE2b-256 511f299b1fd99d8a0f49545641432004cd4c6de94d63c06fe16ced66c073e140

See more details on using hashes here.

Provenance

The following attestation bundles were made for drytorch-0.1.0b4-py3-none-any.whl:

Publisher: publish.yaml on nverchev/drytorch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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