
Bonobo
Bonobo is a free, open-source Python framework for building and running ETL pipelines.
What Bonobo is
Bonobo is a free, open-source Python framework for building and running ETL pipelines. It connects callable or iterable Python objects into directed graphs, which it can visualize and execute. As data flows through the graph, each node handles individual rows, and nodes can run in parallel. Developers can write transformations in plain Python or use transformation classes, with small, focused units intended to support testing and maintenance.
Bonobo includes extractors and writers for CSV, JSON, XML, and XLS, and can work with inputs such as APIs, filesystems, storage services, and SQL or NoSQL databases. The SQLAlchemy extension adds database capabilities; a separate Docker extension runs a local job in a container. In Jupyter Notebook, Bonobo can show job status in an HTML widget. The documentation positions it for small-scale data and describes the project as alpha, so its APIs may change. Bonobo is self-hosted and supports Linux, macOS, and Windows.
Good
- Free and released under the Apache License 2.0.
- Graph nodes can execute in parallel.
- Built-in extractors and writers cover CSV, JSON, XML, and XLS.
- Jupyter notebooks can display job status in an HTML widget.
Watch out
- The project is released as alpha, and APIs may change.
- Documentation describes it as intended for small-scale data.
- Docker extension cannot run Docker inside a Docker container.
Who it suits
Bonobo suits Python developers building self-hosted ETL jobs with small, testable transformations. It is intended for small-scale data rather than setups needing a client-server component or daemon.
Verdict
Bonobo offers Python developers a code-based way to build ETL graphs and process data in parallel. Its small-scale scope and alpha status are important considerations for teams evaluating it.
Plans and prices
From Bonobo's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Bonobo | Free | Open-source software · Apache License 2.0 |
The facts
Each one read from Bonobo's own pages, with the date it was checked.
What it does
- Built-in formats
- The site lists built-in extractors and writers for CSV, JSON, XML, and XLS formats.checked 4 Oct 2026
- Data flow
- It streams data one row at a time through a directed graph of Python callables.checked 8 Oct 2026
- Docker
- The Docker extension can run a local ETL job inside a container using the bonobo runc command.checked 8 Oct 2026
- Docker integration
- The Bonobo-Docker extension can run a local ETL job in a Docker container with the bonobo runc command.checked 4 Oct 2026
- Docker limitation
- The Docker extension page says it does not support running Docker inside a Docker container.checked 4 Oct 2026
- Execution
- Bonobo can execute graph nodes in parallel and show live job statistics through its command-line interface.checked 8 Oct 2026
- Formats
- Built-in extractors and writers work with formats including CSV, JSON, XML, and Excel.checked 8 Oct 2026
- Graph model
- Callable or iterable Python objects can be connected into directed graphs, which Bonobo can visualize and execute.checked 4 Oct 2026
- Inputs and outputs
- The site says Bonobo can read from HTTP REST/SOAP APIs, filesystems, storage services, and SQL or NoSQL databases, and read or write formats including CSV, JSON, XML, Excel, and Pickle.checked 4 Oct 2026
- Integrations
- The SQLAlchemy extension adds capabilities for extracting from and loading into SQL databases.checked 8 Oct 2026
- Intended user
- The site says users who know Python can get started in 10 minutes and presents Bonobo as a toolkit for building ETL jobs.checked 4 Oct 2026
- Intended users
- The project describes Bonobo as a toolkit for Python developers writing ETL jobs with simple, testable transformations.checked 8 Oct 2026
- Jupyter
- Bonobo can detect a Jupyter Notebook environment and display job status in an HTML widget.checked 8 Oct 2026
- License
- Bonobo and its extensions are released under the Apache License 2.0.checked 8 Oct 2026
- Notebook support
- Bonobo can detect when it is running in a Jupyter Notebook and display live job status with an HTML widget.checked 4 Oct 2026
- Product
- Bonobo is a lightweight ETL framework for Python 3.5+ that builds data transformation pipelines from Python primitives and runs them in parallel.checked 4 Oct 2026
- Purpose
- Bonobo is a lightweight Python ETL framework for building data transformation pipelines.checked 8 Oct 2026
- Scale
- The documentation describes Bonobo as intended for small-scale data and says it has no client-server component or daemon.checked 8 Oct 2026
- Security and warranty
- The site describes Bonobo as open-source software provided without any guarantee and says its code and surrounding materials are provided as-is.checked 4 Oct 2026
- SQL integration
- The Bonobo-SQLAlchemy extension adds capabilities for working with SQL databases and is installed with the sqlalchemy extra.checked 4 Oct 2026
- Stability
- The documentation says Bonobo is currently released as alpha and that APIs may change.checked 8 Oct 2026
- Support
- The project points users to GitHub issues, Slack discussions, and Stack Overflow for community help.checked 8 Oct 2026
- Transformations
- Transformations can be plain Python or provided transformation classes, and the site describes them as small, scoped units intended to improve testability and maintenance.checked 4 Oct 2026
Where it runs
- Platform support
- The documentation describes Linux support as strong, says Windows support is correct but may have minor issues, and mentions OSX developer use.checked 8 Oct 2026
The full review of Bonobo
Bonobo is a Python framework for building and running ETL pipelines as executable graphs. It suits Python developers handling small-scale data who want to keep transformations in code and run jobs themselves. Its parallel processing and open-source license make it an appealing toolkit, but alpha stability and the absence of a client-server component narrow its fit.
Overview
Bonobo connects Python callables or iterables into directed graphs that it can visualize and execute. It processes independent rows as streams, with each node handling one row at a time while nodes run in parallel. This gives developers a way to divide ETL logic into small, testable transformations; it is not a centrally managed service, and the documentation positions it for small-scale data.
The project is released under Apache License 2.0, but is currently alpha, so APIs may change. It is also provided as-is without a guarantee. That trade-off is reasonable for developers comfortable owning their ETL code, but less attractive for teams that need stable interfaces or formal commitments.
Key features
- Code-based graphs: Python objects become graph nodes, letting developers define the pipeline directly in code. This suits teams that want transformations to remain testable and maintainable rather than configure them through a visual workflow builder.
- Parallel execution: Nodes can process independent rows in parallel, and the command-line interface can show live job statistics. This helps organize multi-step jobs, but does not make Bonobo a distributed or server-managed platform.
- Built-in formats: Extractors and writers handle CSV, JSON, XML, and XLS/Excel; supported inputs and outputs also include Pickle. This covers common file-based pipelines without implying broader format coverage.
- Database integration: The Bonobo-SQLAlchemy extension adds SQL database extraction and loading capabilities and is installed with the SQLAlchemy extra. It is a practical route for Python developers working with SQL, though it depends on an extension rather than a built-in database service.
- Notebook and Docker support: Bonobo can show live job status in a Jupyter HTML widget. The Bonobo-Docker extension runs a local job in a container with bonobo runc, but cannot run Docker inside another Docker container.
Pricing
Bonobo is free: its plan costs nothing and provides open-source software under Apache License 2.0. There are no paid tiers or seat or usage quotas in the plan. The cost advantage comes with self-hosted operation and the responsibility to manage jobs and accommodate an alpha API that may change.
Platforms
Bonobo supports Linux, macOS, Windows, and self-hosted deployment. The project describes Linux support as strong, Windows support as correct with possible minor issues, and macOS as a developer platform. It can read from APIs, filesystems, storage services, and SQL or NoSQL databases, subject to the relevant integrations and formats.
Who it's for
Bonobo is best for Python developers building small-scale ETL jobs who value code-based, scoped transformations and want to run them in their own environment. It is a poor fit for teams seeking a client-server component, daemon, or a stable alpha-free interface; the project instead points users to Slack discussions, GitHub issues, and a contact email for feedback and support.
Pros and cons
- Pros: Free Apache-licensed software makes the framework accessible without a subscription, and parallel graph execution gives Python developers a clear way to structure independent processing steps.
- Pros: Built-in file formats, SQLAlchemy integration, and Jupyter status display cover common developer workflows without requiring a separate managed service.
- Cons: Small-scale scope and no client-server component make it unsuitable when ETL needs centralized, ongoing service operation.
- Cons: Alpha status means APIs may change, while the as-is terms offer no guarantee; both are material risks for production-dependent teams.
- Cons: The Docker extension has a specific container-in-container limitation, which can rule it out in nested Docker environments.
Alternatives
For other options, browse Data Transformation Tools. Choose jq for a free command-line tool with standalone Linux, macOS, and Windows binaries rather than a Python ETL framework. Polars is a free open-source data manipulation library with a freemium model, a free plan, and a free trial; choose it when a dataframe library is a better fit than Bonobo's pipeline graph. Consider Apache Beam for its open-source programming model, keeping in mind that execution costs depend on the runner and infrastructure.
Bruin for Customer Success has a free cloud tier with $100 in credits, 50 AI tasks, and no credit card requirement. csvkit is a free MIT-licensed command-line toolkit with no paid tiers stated. For R workflows, data.table requires base R, while dplyr is an MIT-licensed R package for data manipulation. Ibis is an open-source Python dataframe library whose supported backends vary in operation coverage.
Verdict
Choose Bonobo if you are a Python developer building small-scale ETL jobs and want free, self-hosted graph execution with parallel processing. Its strongest case is a code-first toolkit that keeps transformations scoped and testable. Look elsewhere if your workflows need a centrally managed service, a mature API, or guaranteed support.
Getting started
- Open the Bonobo project website.
- Use a supported environment: Linux, macOS, or Windows.
- Build ETL graphs by connecting callable or iterable Python objects.
- Install the sqlalchemy extra to add the SQLAlchemy extension for SQL databases.
- Use the bonobo runc command with the Docker extension to run a local ETL job in a container.
Limits worth knowing
Bonobo is described as intended for small-scale data and has no client-server component or daemon. Its alpha release means APIs may change; the Docker extension also cannot run Docker inside Docker.
Questions
How much does Bonobo cost?
Bonobo is free and open source under the Apache License 2.0.
Which platforms does it support?
The listed platforms are Linux, macOS, Windows, and self-hosted deployment. The documentation describes Linux support as strong, Windows support as correct but potentially subject to minor issues, and mentions OSX developer use.
Does Bonobo support SQL databases?
Yes. The Bonobo-SQLAlchemy extension adds capabilities for working with SQL databases and is installed with the sqlalchemy extra.
What formats can it handle?
Built-in extractors and writers support CSV, JSON, XML, and XLS. The listed formats also include Excel and Pickle.
Is Bonobo open source?
Yes. Bonobo and its extensions are released under the Apache License 2.0.
Can it run jobs in Docker?
The Bonobo-Docker extension can run a local ETL job in a container with the bonobo runc command. It does not support running Docker inside another Docker container.
Alternatives to Bonobo
- 1

Bruin for Customer Success
Free planOpen sourceWebAPIExtensionLinux8.2$0.01 usage-based - 2

Cube
Free planOpen sourceWebAPILinuxSelf-hosted7.9From $40 a month - 3

Apache Beam
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 4

Apache Hop
Free planOpen sourceWebAPILinuxmacOS7.7Free plan - 5

Coalesce Catalog
Free planWebAPIExtension7.5From $150 a month - 6

dbt Semantic Layer
Free planWebAPIExtension7.5From $100 a month
