Skip to main content

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

Project description

drytorch_logo.png 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:

➡️ Full Getting Started Notebook

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.0b3.tar.gz (902.1 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.0b3-py3-none-any.whl (87.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: drytorch-0.1.0b3.tar.gz
  • Upload date:
  • Size: 902.1 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.0b3.tar.gz
Algorithm Hash digest
SHA256 dcee4c387c1b83c29b4bd21e6cb108bf25bc5ea8bf59b068d565f951acf07033
MD5 f208fbe95962abca66d9b3fca5e21c5f
BLAKE2b-256 80a89a5e37b169ca0660aa500c587db7ba20a1184c31ad9592acc593594403b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for drytorch-0.1.0b3.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.0b3-py3-none-any.whl.

File metadata

  • Download URL: drytorch-0.1.0b3-py3-none-any.whl
  • Upload date:
  • Size: 87.2 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.0b3-py3-none-any.whl
Algorithm Hash digest
SHA256 555d50a417f927ac4f6fdc07e82b5f38cb9576a783b7c1ac905b7497d51963e2
MD5 f5561644f536d9b70cac30ad6eacc01f
BLAKE2b-256 f10a317d64f97760e91e525e5a20e02ec011015a6aa40fffb4f3e3c38a354a94

See more details on using hashes here.

Provenance

The following attestation bundles were made for drytorch-0.1.0b3-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