https://github.com/nverchev/drytorch
This package helps you training, documenting, and evaluating a Pytorch model.
https://github.com/nverchev/drytorch
machine-learning pytorch reproducible-research self-documenting
Last synced: 6 months ago
JSON representation
This package helps you training, documenting, and evaluating a Pytorch model.
- Host: GitHub
- URL: https://github.com/nverchev/drytorch
- Owner: nverchev
- License: mit
- Created: 2023-11-27T17:22:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-01-12T16:54:32.000Z (6 months ago)
- Last Synced: 2026-01-12T20:57:55.350Z (6 months ago)
- Topics: machine-learning, pytorch, reproducible-research, self-documenting
- Language: Python
- Homepage:
- Size: 6.86 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://pypi.org/project/drytorch/)
[](https://pypi.org/project/drytorch/)
[](https://pypi.org/project/drytorch/)
[](https://github.com/nverchev/drytorch/blob/master/LICENSE)
[](https://github.com/nverchev/drytorch/actions/workflows/CI.yaml)
[](https://codecov.io/github/nverchev/drytorch)
[](https://github.com/astral-sh/ruff)
[](https://docs.basedpyright.com)
[](https://drytorch.readthedocs.io/en/latest/?badge=latest)
# DRYTorch
## 💡 Design Philosophy
By adhering to the Don't Repeat Yourself (DRY) principle, this library makes your machine-learning projects easier to replicate, document, and reuse.
## ✨ Features at a Glance
* **Experimental Scope:** All logic runs within a controlled scope, preventing unintended dependencies, data leakage, and misconfiguration.
* **Modularity:** Components communicate via defined protocols, providing type safety and flexibility for custom implementations.
* **Decoupled Tracking:** Logging, plotting, and metadata are handled by an event system that separates execution from tracking.
* **Lean Dependencies:** Minimal core requirements while supporting optional external libraries (Hydra, W&B, TensorBoard, etc.).
* **Self-Documentation:** Metadata is automatically extracted in a standardized and robust manner.
* **Ready-to-Use Implementations:** Advanced functionalities with minimal boilerplate, suitable for a wide range of ML applications.
## 📦 Installation
**Requirements**
The library only requires recent versions of **PyTorch** and **NumPy**. Tracker dependencies are optional.
**Commands**
```bash
pip install drytorch
```
or:
```bash
uv add drytorch
```
## 🗂️ Library Organization
Folders are organized as follows:
- **Core (`core`):** The library kernel. Contains the **Event System**, **Protocols** for component communication, and internal safety **Checks**.
- **Standard Library (`lib`):** Reusable implementations and abstract classes of the protocols.
- **Trackers (`tracker`):** Optional tracker plugins that integrate via the event system.
- **Contributions (`contrib`):** Dedicated space for community-driven extensions.
- **Utilities (`utils`):** Functions and classes independent to the framework.
## 📚 Documentation
**[Read the full documentation on Read the Docs →](https://drytorch.readthedocs.io/)**
The documentation includes:
- **[Tutorials](https://drytorch.readthedocs.io/en/latest/tutorials.html)** - Complete walkthrough
- **[API Reference](https://drytorch.readthedocs.io/en/latest/api.html)** - Detailed API documentation
- **[Architecture Overview](https://drytorch.readthedocs.io/en/latest/architecture.html)** - Design principles and structure
## 📝 **[Changelog](CHANGELOG.md)**