Repository Archived
August 21, 2026 ยท View on GitHub
=================== Repository Archived
This repository is now archived and is no longer actively maintained.
What was 'dstoolbox'?
'dstoolbox' was the Otto Group BI Data Science Toolbox. It was created as a collection of small, reusable tools to make working with scikit-learn and pandas easier. It served our production services and machine learning workflows well over the years.
We want to say a huge thank you to all the contributors and users who supported this project!
What should you do now?
Because the repository is no longer maintained, we recommend looking into modern alternatives:
- Native library features: Many workflows that once required custom helper functions in 'dstoolbox' are now natively supported in the latest versions of pandas and scikit-learn.
- Modern ecosystem tools: For advanced machine learning pipelines, explore current, active frameworks within the PyData ecosystem that fit your specific workflow.
Otto Group BI Data Science Toolbox
This repository contains tools that make working with
scikit-learn <http://scikit-learn.org/>__ and
pandas <http://pandas.pydata.org/>__ easier.
|Build Status|
What is this?
dstoolbox is not one big tool but rather an amalgamation of small re-usable tools. They are intended to work well with scikit-learn and pandas make the integration of those libraries easier.
The best way to get started is to have a look at the notebooks folder <https://github.com/ottogroup/dstoolbox/tree/master/notebooks>,
especially at the showcase notebook <https://github.com/ottogroup/dstoolbox/blob/master/notebooks/Showcase.ipynb>.
The tools included here are used by us at Otto Group BI for our production services, as well as by individual members for machine learning related things, such as participating in Kaggle competitions.
Installation instructions
Using pip::
pip install dstoolbox
There is a conda recipe for those who want to build their own conda package.
Contributing
Pull requests are welcome. Here are some directions:
Tests
To run the tests, you need to install the dev requirements using pip::
pip install -r requirements-dev.txt
or conda::
conda install --file requirements-dev.txt
Next you should check that all unit tests and all static code checks
pass::
py.test
pylint dstoolbox
Guidelines
-
Python 3 only.
-
Code should be re-usable and succinct.
-
Where applicable, it should be compatible with
scikit-learn <http://scikit-learn.org/>,pandas <http://pandas.pydata.org/>, andPalladium <https://github.com/ottogroup/palladium>__. -
It should be documented and unit-tested using pytest (100% code coverage desired).
-
It should conform to the coding standards prescribed by pylint (where it makes sense).
-
There should be usage examples that cover the most common use cases (the best place would be an IPython/Jupyter notebook).
-
Don't add dependencies unless absolutely necessary.
.. |Build Status| image:: https://github.com/ottogroup/dstoolbox/actions/workflows/build_test_python.yml/badge.svg :target: https://github.com/ottogroup/dstoolbox/actions/workflows/build_test_python.yml