HitSave: Effortless data.¶
Contents¶
API reference
Examples
Introduction to HitSave¶
HitSave provides a powerfully simple system for managing data in your Python workflows.
Using memoization (both locally and in the cloud) HitSave allows you to granularly version your code and data. This saves your team valuable developer and compute resources, as well as giving you experiment management out of the box with no additional work.
HitSave is currently in beta. We’re working towards delivering a roadmap of exciting features, culminating in full execution orchestration for large, computationally-intensive projects. For now, HitSave offers the following early feature set.
Features¶
Cloud memoization¶
HitSave’s core mechanic is simple: memoized functions. HitSave provides the @memo
decorator, which you can think of as a more powerful version of @lru_cache
.
HitSave can be configured to cache your function executions to the cloud. Read the getting started guide for more information.
Granular code versioning¶
HitSave uses a cache invalidation algorithm that observes both your code and your data. This algorithm traverses the full tree of code dependencies to ensure soundness. So if your code changes, the cache invalidates.
Experiment management¶
If you mark a function as @experiment
, this flags that the memoized function
should be displayed in your dashboard. You’ll be able to see visualized artifacts
right in the browser window. We’ve been using HitSave to manage experiments for a
machine learning project where we’re attempting to make a neural network understand
chess endgames. Here’s what the dashboard looks like: