Skip to main content

dsbro logo

dsbro

CI Python 3.9+ License: MIT PyPI version Downloads

Your Data Science Bro. One import away.

dsbro is an all-in-one Python library for notebook-first data science. It pulls together setup, file I/O, EDA, preprocessing, visualization, metrics, ML baselines, and text helpers into one import with smart defaults and dark-theme visuals.

Installation

pip install dsbro
pip install dsbro[ml]
pip install dsbro[all]

Quick Start

import dsbro
dsbro.setup()
print(dsbro.version())
dsbro.about()
from dsbro import eda
eda.overview(df)
from dsbro import prep
df_small = prep.reduce_memory(df)
df_clean = prep.fill_missing(df)
from dsbro import viz
viz.set_theme("dark")
viz.heatmap(df.corr(numeric_only=True))
from dsbro import ml
results = ml.compare(df, target="target", cv=3)
results.head()
from dsbro import metrics
metrics.regression_report(y_true, y_pred)

Modules

Module What it does
utils Notebook setup, seeding, timers, system info, and environment helpers
io File loading, saving, peeking, searching, and submission utilities
eda Dataset overview, missing values, correlation, outliers, drift, and profiling
prep Encoding, scaling, missing-value handling, feature engineering, and memory reduction
viz Dark-theme charts for tabular analysis and model evaluation
metrics Quick regression and classification metrics in one place
ml Model comparison, training, tuning, blending, stacking, and OOF utilities
text Text cleaning, tokenization, n-grams, word frequency, and TF-IDF features

Why dsbro?

  • You stop copy-pasting the same notebook boilerplate for setup, missing values, scaling, and memory reduction.
  • You get cleaner charts without writing styling code every time.
  • You avoid scattered imports across pandas, seaborn, sklearn, and utility snippets.
  • You can benchmark baseline models in one line instead of wiring cross-validation by hand.
  • You keep common Kaggle and Colab workflows in one small, consistent package.

For Kaggle Users

Use dsbro to replace the usual notebook starter blocks:

!pip install dsbro[all] -q

import dsbro
dsbro.setup()

Useful first calls:

from dsbro import eda, prep, ml
eda.profile(train_df, target="target")
train_small = prep.reduce_memory(train_df)
leaderboard = ml.compare(train_small, target="target", cv=3)

For Colab Users

Install in the first cell, then keep the rest of the notebook clean:

!pip install dsbro[all] -q

import dsbro
dsbro.setup()

Colab-friendly flow:

from dsbro import io, eda, viz
data = io.load("/content/train.csv")
eda.overview(data)
viz.hist(data, col="target")

Dependencies

Core dependencies:

  • numpy
  • pandas
  • matplotlib
  • seaborn
  • scikit-learn

Optional extras:

  • dsbro[ml]: lightgbm, xgboost, catboost, optuna
  • dsbro[plotly]: plotly
  • dsbro[all]: all optional extras together

Notebook Example

The project includes a proper tutorial notebook:

Development

pytest tests/ -v
ruff check dsbro/ tests/
python -m build

Contributing

We welcome contributions. Read CONTRIBUTING.md before opening a PR.

License

MIT. See LICENSE.

Author

Muhammad Ibrahim Qasmi
Website
GitHub

Metadata

Release files for dsbro 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dsbro 0.2.1
File Size Uploaded Provenance
dsbro-0.2.1.tar.gz 205.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dsbro 0.2.1
File Interpreter ABI Platform
dsbro-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 256.3 kB

Release files / dsbro-0.2.1.tar.gz

Download URL dsbro-0.2.1.tar.gz
Size 205.2 kB
Tags Source
SHA-256 checksum
How to use checksums
269fbc6d6cc25f9c00acd5f37d7c3a4f73e2fb1dffb5b4cca15cdfd4c33afa6b
BLAKE2b-256 checksum
How to use checksums
b37dc2981afee1cad695abdf54441c0fc1802d56043d5590fbefcd2f1b2a952d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / dsbro-0.2.1-py3-none-any.whl

Download URL dsbro-0.2.1-py3-none-any.whl
Size 51.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dff816d390cef1dd0635a84b88d53e8bb8ea224963448ab9542804c54b89c0ed
BLAKE2b-256 checksum
How to use checksums
84cf56e477ed1c873926ba4ced7b6f1e265da67c11155a17fc44b0a5bcb7c319
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for dsbro 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page