Your Data Science Bro. One import away.
Project description
dsbro
Your Data Science Bro. One import away.
dsbro is a lightweight Python toolkit for notebook-heavy data science work. It is built for the
repeated workflow most people have in Kaggle, Colab, and local Jupyter notebooks: setup, load
data, inspect it, clean it, visualize it, and train a baseline model fast.
What dsbro covers
dsbro.utils: notebook setup, seeding, timers, system info, downloads, simple parallel workdsbro.io: file loading, saving, previews, directory trees, file search, submission helpersdsbro.eda: overview tables, missing-value analysis, drift checks, target analysis, comparisonsdsbro.prep: encoding, scaling, missing-value filling, feature engineering, memory reductiondsbro.viz: themed matplotlib and optional plotly charts for fast notebook visualsdsbro.metrics: classification and regression metrics in one placedsbro.ml: model comparison, cross-validation, training, tuning, stacking, pseudo-labelingdsbro.text: text cleaning, tokenization, word frequencies, and TF-IDF features
Current status
Implemented now:
- Core package scaffold and packaging
utils,io,eda,prep,viz,metrics,ml, andtext- Built-in help and about/version entry points
- Tests across the implemented modules
- Quickstart notebook in examples/quickstart.ipynb
Still planned:
- Final polish for docs/examples
- Additional ML/deep-learning extras over time
Installation
From PyPI:
pip install dsbro
From GitHub:
pip install git+https://github.com/muhammadibrahim313/dsbro.git
For local development:
pip install -e ".[dev]"
Optional extras:
pip install -e ".[ml]"
pip install -e ".[plotly]"
pip install -e ".[all]"
PyPI packaging is scaffolded, but this repository is still in active buildout.
Quick example
import dsbro
import pandas as pd
dsbro.setup()
train = pd.DataFrame(
{
"age": [22, 35, 41, 28],
"city": ["lahore", "karachi", "lahore", "islamabad"],
"purchased": [0, 1, 1, 0],
}
)
overview = dsbro.eda.overview(train)
processed, report = dsbro.prep.auto_preprocess(train, target="purchased")
leaderboard = dsbro.ml.compare(train, target="purchased", cv=2)
Help system
dsbro includes a built-in cheatsheet:
dsbro.help()
dsbro.help("viz")
dsbro.help("encode")
dsbro.about()
dsbro.version()
Notebook example
The repository includes a walkthrough notebook:
It demonstrates:
dsbro.setup()dsbro.eda.overview()dsbro.prep.datetime_features()dsbro.prep.text_features()dsbro.prep.auto_preprocess()dsbro.viz.bar()dsbro.ml.compare()
Development
pytest tests/ -v
ruff check dsbro/ tests/
ruff format dsbro/ tests/
python -m build
Roadmap
- Expand example notebooks
- Add GitHub Actions CI
- Publish to TestPyPI, then PyPI
- Continue polishing module docs and tutorial coverage
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 dsbro-0.1.0.tar.gz.
File metadata
- Download URL: dsbro-0.1.0.tar.gz
- Upload date:
- Size: 198.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
400689a51b91f16a81562d9c90ecc0c987ceb5da4660ef9b3fc30bbf6537ca7c
|
|
| MD5 |
9f1e0bc851281ac0fff5838a967456bb
|
|
| BLAKE2b-256 |
be060a68ebeb1e4c7cfed26af0d471edf04326b893f3270a0e5a805a218c3406
|
File details
Details for the file dsbro-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dsbro-0.1.0-py3-none-any.whl
- Upload date:
- Size: 49.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
684a2c6775cbe80623a857716b03def7e027aec798411e870012596cd0be4386
|
|
| MD5 |
e697c9be8db9e3e5dfda0095b10e817f
|
|
| BLAKE2b-256 |
9edd672a79daa0b7096d263ca36bf0620834c622e669085c1e557c9d612a7971
|