Y-ibe - machine learning in plain English. No syntax. No cloud. Your data never leaves your computer.
Project description
Y-ibe — machine learning in plain English
No syntax. No setup headaches. No cloud. Your data never leaves your computer.
Y-ibe is a tiny programming language where you write machine learning as ordinary
English sentences, one per line. The yibe tool translates your sentences into
real Python (pandas + scikit-learn) and runs it locally. It is 100% deterministic —
no AI, no API keys, no network calls, same input → same output, forever.
get data from "houses.csv" and call it houses
put columns of houses named square_feet and bedrooms into features
put column of houses named market_value into targets
make a linear regression model called price calculator
train price calculator using features and targets
check how good price calculator is on features and targets
$ yibe run prices.yibe
Score for price_calculator: 0.973
Six sentences. A real, trained, scored model — running the same C-powered libraries the experts use.
Install
pipx install yibelang # recommended (or: pip install yibelang)
yibe version
More options (venv, from source) in INSTALL.md.
Try it in 60 seconds
yibe examples # list the bundled example scripts
yibe run examples/04_house_prices.yibe # train your first model
yibe check examples/04_house_prices.yibe # validate without running
yibe show-python examples/04_house_prices.yibe # see the Python it writes
show-python is the graduation path: when you're ready to learn Python, Y-ibe
shows you exactly what it has been writing for you all along.
What you can say
The full sentence list lives in docs/LANGUAGE.md (it is generated from the grammar itself, so it can never go stale). Highlights:
| You write | Y-ibe does |
|---|---|
get data from "sales.csv" and call it sales |
loads a CSV (or .xlsx) with pandas |
remove rows with missing values from sales |
cleans your table |
keep rows of sales where units is greater than 0 |
filters rows |
make a random forest model called sorter |
linear/logistic regression, decision tree, random forest, neural network |
split features and targets into training and testing parts |
honest train/test split |
train sorter using x_train and y_train |
fits the model |
check how good sorter is on x_test and y_test |
scores it |
use sorter to predict from features and call it guesses |
predictions |
save sorter to "sorter.yibemodel" / load model from ... |
reuse models later |
draw a scatter of square_feet versus market_value from houses |
charts |
if price limit is greater than 200000 + indented block, otherwise, repeat 3 times |
decisions and loops (v1.1) |
कीमत गणक को features और targets से सिखाओ · entrena calculador de precios con features y targets · 用features和targets训练价格计算器 |
whole other human languages — Hindi, Spanish, and Mandarin ship built in (lang: hi/es/zh); a language pack is just a folder of JSON |
Errors that talk like a person
Y-ibe never shows you a raw traceback. Mistakes are caught before your script runs whenever possible, and every runtime failure is translated:
🌊 Y-ibe hit a wave:
Hey, I tried looking for your file, but it isn't in this folder.
Fix: double-check the spelling inside your quotes and make sure the file is in
the same folder you're running from. (I looked for: houses.csv)
This happened around line 1 of your script: get data from "houses.csv" and call it houses
Typos get suggestions ("Did you mean...?"), using a model before training it is
caught at check time, and --debug reveals the real traceback when you want it.
The full catalogue is in docs/ERRORS.md.
Honest positioning
Y-ibe is a deterministic, friendly front-end over pandas and scikit-learn — "just a DSL", and proudly so. The bet is that what actually blocks beginners is not the math, it's the syntax and the terrifying error messages. Y-ibe removes exactly those two things and nothing else:
- It is not an AI product. Fixed sentence templates, matched offline. No hallucinations, no API costs, no privacy risk.
- It is not a Python replacement. It writes Python for you, and shows it to you on request.
- It is as fast as Python + scikit-learn — because that is literally what it runs.
For teachers
Students express intent ("train the model, check it on unseen data") before
they ever fight a bracket. yibe check explains mistakes in sentences, and
yibe show-python turns every script into a Python lesson. The bundled
examples (yibe examples) are a ready-made first lab.
Contributing
The perfect first contribution is one new sentence: a regex template + an AST node + its codegen + six tests + a doc example. See CONTRIBUTING.md. Feature ideas go through YEPs (Y-ibe Enhancement Proposals) — open an issue.
License
MIT — see LICENSE.
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 yibelang-2.1.0.tar.gz.
File metadata
- Download URL: yibelang-2.1.0.tar.gz
- Upload date:
- Size: 112.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc1ab8f52641f427157bc6d3a211811141a5226525c1beecfcc4894d70548af
|
|
| MD5 |
176d779c3672c33afa99172e6cb0b88f
|
|
| BLAKE2b-256 |
3d4a1fcebf62c62811ce17d5b506d8104f6606624f341fd5b97661a4ec1e9b29
|
Provenance
The following attestation bundles were made for yibelang-2.1.0.tar.gz:
Publisher:
release.yml on yatharthbhatt/yibelang
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yibelang-2.1.0.tar.gz -
Subject digest:
cbc1ab8f52641f427157bc6d3a211811141a5226525c1beecfcc4894d70548af - Sigstore transparency entry: 2188340838
- Sigstore integration time:
-
Permalink:
yatharthbhatt/yibelang@d1ffa0fc771b331f2045c7a8975311479974fd4b -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/yatharthbhatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d1ffa0fc771b331f2045c7a8975311479974fd4b -
Trigger Event:
push
-
Statement type:
File details
Details for the file yibelang-2.1.0-py3-none-any.whl.
File metadata
- Download URL: yibelang-2.1.0-py3-none-any.whl
- Upload date:
- Size: 70.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2678a8d78c87f59cff371712e52f31471edc20cdd39e21381689cf30d0636b2
|
|
| MD5 |
81ad36c921e6dc28e85063fec997407b
|
|
| BLAKE2b-256 |
9bcc0dc9e477ad550558f1f6115ce798aff819d73a88b368f900e0a2d6ef7e83
|
Provenance
The following attestation bundles were made for yibelang-2.1.0-py3-none-any.whl:
Publisher:
release.yml on yatharthbhatt/yibelang
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yibelang-2.1.0-py3-none-any.whl -
Subject digest:
c2678a8d78c87f59cff371712e52f31471edc20cdd39e21381689cf30d0636b2 - Sigstore transparency entry: 2188340865
- Sigstore integration time:
-
Permalink:
yatharthbhatt/yibelang@d1ffa0fc771b331f2045c7a8975311479974fd4b -
Branch / Tag:
refs/tags/v2.1.1 - Owner: https://github.com/yatharthbhatt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d1ffa0fc771b331f2045c7a8975311479974fd4b -
Trigger Event:
push
-
Statement type: