Keys & Caches CLI - Accelerate your Python functions with cloud GPUs
Project description
Keys & Caches
A Python library for experiment tracking and machine learning workflow management.
What is Keys & Caches?
Keys & Caches is a Python library that provides experiment tracking and workflow management for machine learning projects. With a simple API, you can:
- 📊 Track experiments — Automatically log metrics and hyperparameters
- 🌐 Cloud dashboard — Real-time visualization of your experiments
- 🏷️ Organize projects — Group related experiments together
- 🎯 Zero-overhead when disabled — Tracking only activates when initialized
Installation
pip install kandc
Quick Start
import kandc
import torch
import torch.nn as nn
class SimpleNet(nn.Module):
def __init__(self):
super().__init__()
self.layers = nn.Sequential(
nn.Linear(784, 128),
nn.ReLU(),
nn.Linear(128, 10),
)
def forward(self, x):
return self.layers(x)
def main():
# Initialize experiment tracking
kandc.init(
project="my-project",
name="experiment-1",
config={"batch_size": 32, "learning_rate": 0.01}
)
# Your training/inference code
model = SimpleNet()
data = torch.randn(32, 784)
output = model(data)
loss = output.mean()
# Log metrics
kandc.log({"loss": loss.item(), "accuracy": 0.85})
# Finish the run
kandc.finish()
if __name__ == "__main__":
main()
Key Features
🎯 Simple Initialization
kandc.init(
project="my-ml-project",
name="experiment-1",
config={
"learning_rate": 0.001,
"batch_size": 32,
"model": "resnet18",
}
)
📊 Metrics Logging
# Log single or multiple metrics
kandc.log({"loss": 0.25, "accuracy": 0.92})
# Log with step numbers for training loops
for epoch in range(100):
loss = train_epoch()
kandc.log({"epoch_loss": loss}, step=epoch)
🌐 Multiple Modes
# Online mode (default) - full cloud experience
kandc.init(project="my-project")
# Offline mode - local development
kandc.init(project="my-project", mode="offline")
# Disabled mode - zero overhead
kandc.init(project="my-project", mode="disabled")
Examples
See the examples/ directory for detailed examples:
complete_example.py- Simple getting started exampleoffline_example.py- Offline mode usage
API Reference
Core Functions
kandc.init()- Initialize a new run with configurationkandc.finish()- Finish the current run and save all datakandc.log()- Log metrics to the current runkandc.get_current_run()- Get the active run objectkandc.is_initialized()- Check if kandc is initialized
Run Modes
"online"- Default mode, full cloud functionality"offline"- Save everything locally, no server sync"disabled"- No-op mode, zero overhead
🎓 Students & Educators
Email us at founders@herdora.com for support and collaboration opportunities!
📦 Publishing to PyPI
🚀 Publish Stable Release
-
Bump the version in
pyproject.toml(e.g.,0.0.15). -
Run the following commands:
rm -rf dist build *.egg-info python -m pip install --upgrade build twine python -m build export TWINE_USERNAME=__token__ twine upload dist/*
🧪 Publish Dev Release
-
Bump the dev version in
pyproject.dev.toml(e.g.,0.0.15.dev1). -
Run the following commands:
rm -rf dist build *.egg-info cp pyproject.dev.toml pyproject.toml python -m pip install --upgrade build twine python -m build export TWINE_USERNAME=__token__ twine upload dist/* git checkout -- pyproject.toml # Restore the original pyproject.toml
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kandc-0.0.16.tar.gz.
File metadata
- Download URL: kandc-0.0.16.tar.gz
- Upload date:
- Size: 29.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd6ced5684bcda144de96d8aa1c12a3fa1207cff617a01627a686785a4a2effd
|
|
| MD5 |
459ade747213124b6951928eb62a0e5d
|
|
| BLAKE2b-256 |
99c7c33d5fe1d63307e561146ef2b12bdb69de161ebbe9d0bc183b0f82e8daf7
|
File details
Details for the file kandc-0.0.16-py3-none-any.whl.
File metadata
- Download URL: kandc-0.0.16-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a98e7c1a76198abf403e3f3865b30ff554e889f3bd17da36cbf4bbfad5219d65
|
|
| MD5 |
13397c937f925150c529d34d49352dc0
|
|
| BLAKE2b-256 |
1bf9593b0cc575ceedc073661c8c997ab27874444c8ae9e0321d7eefcedb8c5e
|