Observed since 20 Oct, 19:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Elegant data operations for DataFrames - add.to(), add.transform(), add.synthetic()
Elegant data operations for DataFrames
A Rust-powered Python library for intuitive data transformations, lookups, synthetic data generation, and DataFrame comparison — with Polars and Pandas.
pip install additory
Requirements: Python 3.9+ · Polars (required) · pyarrow (required) · Pandas (optional)
import additory as add
import polars as pl
orders = pl.DataFrame({'order_id': [1, 2], 'customer_id': [101, 102], 'amount': [250, 180]})
customers = pl.DataFrame({'customer_id': [101, 102], 'name': ['Alice', 'Bob']})
result = add.to(orders, customers, 'name', 'customer_id')
df = pl.DataFrame({'price': [100, 200, 300], 'quantity': [2, 3, 1]})
result = add.transform('@calc', df, strategy={'total': 'price * quantity', 'tax': 'total * 0.1'})
result = add.transform('@filter', df, where='price > 150')
result = add.transform('@sort', df, by='price', strategy='desc')
result = add.transform('@aggregate', df, by='category', strategy={'price': 'sum'})
result = add.synthetic('@new', n=1000, strategy={
'age': 'normal(40, 10)',
'salary': 'normal(75000, 15000)',
})
# Augment existing data
result = add.synthetic(df, n=100)
diff = add.scan('@diff', old=df_jan, new=df_feb)
patients = pl.DataFrame({'weight': [70, 85], 'height': [1.70, 1.80]})
result = add.bmi(patients)
result = (
orders
.pipe(add.to, customers, 'name', 'customer_id')
.pipe(add.to, products, 'price', 'product_id')
)
| Function | Purpose | Pipe-Friendly |
|---|---|---|
add.to(bring_to, bring_from, bring, against, ...) | Bring columns from another DataFrame | ✅ |
add.transform(mode, df, ...) | Transform data (12 modes) | ❌ |
add.synthetic(df_or_mode, n, ...) | Generate or augment data | ✅ |
add.scan(mode, df, ...) | Analyze, diff, manage expressions | ❌ |
add.<dynamic>(df, ...) | Named expression functions | ✅ |
@calc · @filter · @sort · @aggregate · @harmonize · @round · @transpose · @extract · @onehot · @label · @deduce · @split
add.scan('@diff').add fileslineage=Truedf.pipe()📚 sekarkrishna.github.io/additory
Current version: 0.1.3a11
MIT License — see LICENSE for details.
Author: Krishnamoorthy Sankaran
pypistats · 71 observations shown. Missing days are unknown. Source category: overall: without mirrors.
| Date / source period | Value | Observed at |
|---|---|---|
| 2026-10-20 – 2026-10-20 | 8 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-19 – 2026-10-19 | 8 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-18 – 2026-10-18 | 7 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-17 – 2026-10-17 | 10 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-16 – 2026-10-16 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-14 – 2026-10-14 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-13 – 2026-10-13 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-12 – 2026-10-12 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-11 – 2026-10-11 | 19 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-10 – 2026-10-10 | 29 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-09 – 2026-10-09 | 14 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-08 – 2026-10-08 | 82 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-07 – 2026-10-07 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-06 – 2026-10-06 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-04 – 2026-10-04 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-03 – 2026-10-03 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-02 – 2026-10-02 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-10-01 – 2026-10-01 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-30 – 2026-09-30 | 25 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-29 – 2026-09-29 | 44 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-28 – 2026-09-28 | 29 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-27 – 2026-09-27 | 14 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-26 – 2026-09-26 | 6 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-25 – 2026-09-25 | 14 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-24 – 2026-09-24 | 30 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-23 – 2026-09-23 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-21 – 2026-09-21 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-20 – 2026-09-20 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-19 – 2026-09-19 | 53 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-18 – 2026-09-18 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-17 – 2026-09-17 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-16 – 2026-09-16 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-15 – 2026-09-15 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-14 – 2026-09-14 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-13 – 2026-09-13 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-12 – 2026-09-12 | 6 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-11 – 2026-09-11 | 16 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-09 – 2026-09-09 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-07 – 2026-09-07 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-04 – 2026-09-04 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-03 – 2026-09-03 | 8 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-02 – 2026-09-02 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-09-01 – 2026-09-01 | 12 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-31 – 2026-08-31 | 13 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-30 – 2026-08-30 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-29 – 2026-08-29 | 14 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-28 – 2026-08-28 | 23 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-26 – 2026-08-26 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-25 – 2026-08-25 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-24 – 2026-08-24 | 10 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-23 – 2026-08-23 | 6 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-22 – 2026-08-22 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-21 – 2026-08-21 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-20 – 2026-08-20 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-19 – 2026-08-19 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-18 – 2026-08-18 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-17 – 2026-08-17 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-16 – 2026-08-16 | 3 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-15 – 2026-08-15 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-14 – 2026-08-14 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-13 – 2026-08-13 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-09 – 2026-08-09 | 8 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-03 – 2026-08-03 | 4 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-02 – 2026-08-02 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-08-01 – 2026-08-01 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-29 – 2026-07-29 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-28 – 2026-07-28 | 1 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-27 – 2026-07-27 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-26 – 2026-07-26 | 2 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-24 – 2026-07-24 | 9 | 2026-10-21T17:56:04.4624161Z |
| 2026-07-23 – 2026-07-23 | 3 | 2026-10-21T17:56:04.4624161Z |
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.3a11 | 9 May 2026 | 4 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 19:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2b9e318edbd1d260a032e8bb05c64b3cbae6c188b16db92ec80b6ab7a6608b98