Skip to main content

AbleVLabs tools: kami, a machine-learning tutor that builds models and explains them in plain English; lana, a weighted record-comparison engine that weighs records attribute by attribute and tells you which wins; and vita, a resistance-training coach that estimates reps in reserve and tracks fatigue, powered by the Vivanco Proximity-to-Failure Model.

Project description

AbleVLabs

A public laboratory of Python tools, built to make difficult things easier and shared in the open.

pip install ablevlabs

Three independent tools ship in the package, each importable on its own:

from ablevlabs import kami   # machine learning for beginners
from ablevlabs import lana   # compare and rank anything
from ablevlabs import vita   # a reps-in-reserve training coach
Reach for when you want to
kami go from a raw data file to a trained, explained model without getting lost in scikit-learn
lana decide which option wins, or rank a whole field, by the criteria that matter to you
vita know how many reps you have left, and plan your training sets around it

kami: machine learning that teaches as you go

kami wraps scikit-learn in a guided, beginner-first workflow. It catches the classic mistakes for you and explains them in plain English, and it teaches you what's happening as it happens, so you get smarter while you use it. It takes you the whole way from a raw file to real predictions.

from ablevlabs import kami

df = kami.load("houses.csv")            # opens CSV, Excel, JSON, Parquet, and more
kami.look(df, target="price")           # understand the data before you model it
result = kami.train(df, target="price") # trains a model, handling the usual traps
kami.predict(result, new_houses)        # make predictions on new rows

What's inside:

  • Understand your data: look, report, audit, and recommend size up a dataset and suggest what to predict.
  • Clean it: clean tidies the common messes and explains each fix as it makes it.
  • Train and compare: train builds one model, and bakeoff trains several and ranks them best first.
  • Trust it: feature_importance and plot_predictions show what the model leaned on and how well it did.
  • Use it: predict scores new data, and whatif shows how a prediction shifts as you change one input.
  • Charts in one line: bar, line, scatter, hist, pie, heatmap, quickplot.
  • A built-in classroom: info, learn, models, roadmap, and translate explain the concepts and the jargon as you go.

New to it? Run kami.info().


lana: compare and rank anything

lana (Logical Attribute Node Aligner) weighs records field by field, using the priorities you set, and tells you which one wins. Hand it two records for a head-to-head verdict, or a whole list for a ranked leaderboard. It works on anything with comparable fields: job candidates, products, model runs, vehicles, game characters.

from ablevlabs import lana

a = {"name": "Zoro",  "power": 9100, "speed": 80}
b = {"name": "Sanji", "power": 8800, "speed": 95}

lana.show(lana.compare(a, b, priority={"power": 5, "speed": 3}))

Rank a whole field the same way:

lana.show(lana.rank([a, b, c, d], priority={"power": 5, "speed": 3}))

What's inside:

  • Two modes: compare for a head-to-head, rank for a leaderboard across many records.
  • Your priorities: weight the fields that matter with priority, mark fields where smaller is better with lower_better, and smooth over mismatched key names with aliases.
  • Results are just data: every result is a plain dict, easy to inspect and reuse.
  • Export anywhere: to_json, to_csv, to_markdown, to_df (pandas), or save() straight to disk.

See it live at ablevlabs.com/lana.html.


vita: your reps-in-reserve training coach

vita (Vivanco Intelligent Training Assistant) answers the questions a lifter actually asks: how many reps do I have left, how many should I do, and what should today's sets look like? You calibrate a lift once from a couple of hard sets, and from then on vita estimates your reps in reserve on every set, tracks fatigue across the session, and prescribes what comes next. It runs on the Vivanco Proximity-to-Failure Model (VPFM).

from ablevlabs import vita

bench = vita.calibrate(weight1=315, reps1=5, weight2=275, reps2=9, name="Bench")
w = vita.Workout(bench)
w.target_reps(weight=275, rir=2)                 # reps to leave 2 in reserve, right now
w.log_set(weight=275, reps=8)                    # log a set; get a coaching readout back
w.build_plan(weight=275, target_rir=2, sets=5)   # prescribe today's sets

What's inside:

  • Calibrate with confidence: build a lift from your hard sets, and vita scores how much to trust it and flags any set that doesn't fit.
  • Coaching on every set: reps in reserve and RPE, a plain-language label, and advice on what to do next.
  • Three ways to plan: hold a target RIR, hold fixed reps, or run a top set with back-offs.
  • Fit it to you: feed in your own logged sessions and vita fits the fatigue model to your data, validating against held-out sets.
  • Learn it fast: vita.help() explains the ideas, and vita.info() lists every function in plain English.

About AbleVLabs

AbleVLabs is my public laboratory. It's where I learn, experiment, build things, break them, fix them, and share whatever I work out along the way. Every project is one more step from total beginner toward the engineer I'm trying to become. I believe in open source and in learning out loud, because almost every tool I use exists thanks to someone who shared their knowledge for free. This is me paying that back. If something I build helps even one person learn a little faster than I did, then it already did its job.


Requirements

Python 3.8+. Dependencies (numpy, pandas, scikit-learn, matplotlib) install automatically.

License

MIT © AbleVLabs

Links

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

ablevlabs-0.6.3.tar.gz (114.2 kB view details)

Uploaded Source

Built Distribution

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

ablevlabs-0.6.3-py3-none-any.whl (93.7 kB view details)

Uploaded Python 3

File details

Details for the file ablevlabs-0.6.3.tar.gz.

File metadata

  • Download URL: ablevlabs-0.6.3.tar.gz
  • Upload date:
  • Size: 114.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ablevlabs-0.6.3.tar.gz
Algorithm Hash digest
SHA256 1b304fd0eb9f9feb2ad00a256c4311e418d8b1ad24ce7c838a1649cc50f3fb33
MD5 1f32fb89027e96324f86f223c06d642e
BLAKE2b-256 ecb86b83082dc14ef37e38ad926ce28ad665d06d18b0596b187ac1b2d906ed5a

See more details on using hashes here.

File details

Details for the file ablevlabs-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: ablevlabs-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 93.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for ablevlabs-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 caf7104347aee788fc84b3c1727a5c53d4cb5dde20c384ed8e2b7a1467e85354
MD5 2a5dfadafc5f73d14fbfe0068ea4ca66
BLAKE2b-256 29a1ece0aeec14e1292c84133ad09caed76d4d9f197fffde9bc996d0984d7dcd

See more details on using hashes here.

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