Skip to content
SPECIFICTION
Get listed

Bonobo

bonobo-project.org

Free plan WindowsmacOSLinuxSelf-hosted

What it is

Bonobo is a free, open-source ETL framework for Python developers building data transformation pipelines. It connects callable or iterable Python objects into directed graphs that it can visualize and execute. Data moves as streams of independent rows, with each node handling one row at a time while nodes can run in parallel. Transformations may be plain Python or transformation classes, organized as small units intended to support testing and maintenance. Built-in extractors and writers cover CSV, JSON, XML and XLS; the framework can also work with sources such as HTTP REST or SOAP APIs, filesystems, storage services, and SQL or NoSQL databases. The SQLAlchemy extension adds SQL database capabilities, while a Docker extension can run a local job with the bonobo runc command. Bonobo can also show live job status in a Jupyter Notebook. It is self-hosted, released under Apache License 2.0, and documented for small-scale data use. The documentation identifies it as alpha, so APIs may change.

Spec sheet

Purpose
Bonobo is a lightweight Python ETL framework for building data transformation pipelines.Read 8 Oct 2026 · bonobo-project.org
Product
Bonobo is a lightweight ETL framework for Python 3.5+ that builds data transformation pipelines from Python primitives and runs them in parallel.Read 4 Oct 2026 · bonobo-project.org
Intended users
The project describes Bonobo as a toolkit for Python developers writing ETL jobs with simple, testable transformations.Read 8 Oct 2026 · github.com
Integrations
The SQLAlchemy extension adds capabilities for extracting from and loading into SQL databases.Read 8 Oct 2026 · bonobo-project.org
Support
The project points users to GitHub issues, Slack discussions, and Stack Overflow for community help.Read 8 Oct 2026 · bonobo-project.org
License
Bonobo and its extensions are released under the Apache License 2.0.Read 8 Oct 2026 · bonobo-project.org
Built-in formats
The site lists built-in extractors and writers for CSV, JSON, XML, and XLS formats.Read 4 Oct 2026 · bonobo-project.org
Data flow
It streams data one row at a time through a directed graph of Python callables.Read 8 Oct 2026 · docs.bonobo-project.org
Docker
The Docker extension can run a local ETL job inside a container using the bonobo runc command.Read 8 Oct 2026 · bonobo-project.org
Docker integration
The Bonobo-Docker extension can run a local ETL job in a Docker container with the bonobo runc command.Read 4 Oct 2026 · bonobo-project.org
Docker limitation
The Docker extension page says it does not support running Docker inside a Docker container.Read 4 Oct 2026 · bonobo-project.org
Execution
Bonobo can execute graph nodes in parallel and show live job statistics through its command-line interface.Read 8 Oct 2026 · bonobo-project.org
Formats
Built-in extractors and writers work with formats including CSV, JSON, XML, and Excel.Read 8 Oct 2026 · bonobo-project.org
Graph model
Callable or iterable Python objects can be connected into directed graphs, which Bonobo can visualize and execute.Read 4 Oct 2026 · bonobo-project.org
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.Read 4 Oct 2026 · bonobo-project.org
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.Read 4 Oct 2026 · bonobo-project.org
Jupyter
Bonobo can detect a Jupyter Notebook environment and display job status in an HTML widget.Read 8 Oct 2026 · bonobo-project.org
Notebook support
Bonobo can detect when it is running in a Jupyter Notebook and display live job status with an HTML widget.Read 4 Oct 2026 · bonobo-project.org
Platform support
The documentation describes Linux support as strong, says Windows support is correct but may have minor issues, and mentions OSX developer use.Read 8 Oct 2026 · docs.bonobo-project.org
Scale
The documentation describes Bonobo as intended for small-scale data and says it has no client-server component or daemon.Read 8 Oct 2026 · docs.bonobo-project.org
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.Read 4 Oct 2026 · bonobo-project.org
SQL integration
The Bonobo-SQLAlchemy extension adds capabilities for working with SQL databases and is installed with the sqlalchemy extra.Read 4 Oct 2026 · bonobo-project.org
Stability
The documentation says Bonobo is currently released as alpha and that APIs may change.Read 8 Oct 2026 · docs.bonobo-project.org
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.Read 4 Oct 2026 · bonobo-project.org

Plans and prices

Bonobo Free Open-source software · Apache License 2.0 Read 8 Oct 2026 · bonobo-project.org

Every Bonobo plan and price →

Strong points and limits

Strong points

  • Free and open source under Apache License 2.0.
  • Graph nodes can run in parallel.
  • Built-in extractors and writers cover common formats.
  • Jupyter Notebook can show live job status.
  • SQLAlchemy extension adds SQL database capabilities.

Limits

  • Documentation describes it as intended for small-scale data.
  • There is no client-server component or daemon.
  • The project is alpha and APIs may change.
  • Docker extension cannot run Docker inside Docker.

Who it suits

Bonobo is for Python developers who want to build ETL jobs from code and small, testable transformations. Its documented small-scale focus makes it less suited to workflows needing a client-server component or daemon.

Bonobo in depth

Read the full write-up

Bonobo is a lightweight Python toolkit for assembling ETL jobs as executable graphs. It is best suited to Python developers who want to own small data pipelines in code, rather than adopt a hosted or centrally managed platform. The trade-off is clear: you get a free, Apache-licensed framework with useful integrations, but also alpha-era API risk and responsibility for running it yourself.

Overview

Bonobo connects callable or iterable Python objects into directed graphs that it can visualize and execute. Data moves as a stream of independent rows, with each node handling one line at a time while nodes can run in parallel. That architecture encourages narrowly scoped transformations, which can make individual steps easier to test and maintain.

This is a toolkit, not a client-server ETL service. Its documentation positions it for small-scale data and provides no daemon or central control plane. The project is currently alpha, so APIs may change, and the software and surrounding materials are supplied as-is without a guarantee. Those conditions suit developers willing to maintain their own code and deployment; they are a poor match for teams requiring a stable enterprise contract or managed operations.

Key features

Executable graph model: Python callables and iterables become nodes in a directed graph that Bonobo can visualize and run. Code-first composition is a strong fit for teams that want ETL logic in version control and conventional Python tests.

Parallel row processing: Nodes work on independent streamed rows and can execute concurrently. The command-line interface can show live job statistics, which helps when running jobs directly, but this parallelism does not provide distributed scheduling or a service for large-scale workloads.

Small transformation units: Transformations may be plain Python or supplied transformation classes. Keeping steps small supports maintenance and testability, provided the team is comfortable designing and operating the pipeline itself.

Common file formats: Built-in extractors and writers handle CSV, JSON, XML and XLS/Excel, with Pickle also supported. That covers routine interchange and spreadsheet workflows without requiring a separate connector for every basic file job.

Broad input and output options: Bonobo describes support for HTTP REST and SOAP APIs, filesystems, storage services, and SQL or NoSQL databases, with read/write formats including CSV, JSON, XML, Excel and Pickle. The breadth is useful for stitching ordinary sources together, while the framework remains deliberately lightweight.

SQLAlchemy integration: The Bonobo-SQLAlchemy extension adds extraction from and loading into SQL databases and is installed with the sqlalchemy extra. Choose it when relational database work is central and a Python-defined pipeline is preferable to a separate ETL product.

Docker integration: Bonobo-Docker can run a local ETL job in a Docker container through bonobo runc. It cannot run Docker inside another Docker container, a restriction that matters in nested-container CI or orchestration setups.

Jupyter feedback: Bonobo detects a Jupyter Notebook environment and displays live job status in an HTML widget, making notebook-based development and monitoring more informative than a silent batch run.

Pricing

Bonobo costs free. The Bonobo plan is open-source software under the Apache License 2.0, with self-hosted deployment and no paid tier described. That makes it suitable for developers and small teams that can provide their own runtime, storage, scheduling and support.

There are no seat charges, usage quotas, trial deadlines or renewal terms to weigh. The saving is not a managed service: operational work, upgrades and any compatibility problems remain with the user, especially while the project is alpha.

Platforms

Bonobo supports Linux, macOS, Windows and self-hosted deployments. Linux support is described as strong; Windows is considered correct but may have minor issues, while macOS is mentioned as a developer platform. Self-hosting preserves control over execution, but also means the user supplies the environment and operational processes.

Who it's for

Bonobo is for Python developers building small-scale ETL jobs from simple, testable transformations. It fits teams that value code review, direct control of execution and integrations with files, APIs, databases, Docker or Jupyter. It is not the natural choice for organizations seeking a hosted control plane, a daemon-based architecture, or a mature platform for large data volumes and long-lived API stability.

Pros and cons

Pros

Free and permissively licensed: Apache 2.0 allows self-hosted use without subscription or seat costs.

Readable code-first design: Graphs built from Python objects keep transformations close to the language and testing tools developers already use.

Practical integration set: SQLAlchemy, Docker and Jupyter extensions complement built-in file-format support.

Parallel execution with live status: Independent rows can be processed concurrently, with command-line statistics and notebook widgets providing runtime feedback.

Cons

Small-scale scope: The documentation does not position Bonobo as a distributed or centrally managed ETL service.

Alpha stability: APIs may change, increasing maintenance risk for production pipelines.

Self-hosting burden: Users must run and support the framework themselves, with no guarantee attached to the software.

Container caveat: Docker-in-Docker execution is unsupported.

Alternatives

Choose Polars instead when you want an open-source data manipulation library with a freemium model, APIs and web access alongside desktop and self-hosted platforms.

KNIME Analytics Platform is a free, open-source alternative for users who prefer an analytics platform rather than a lightweight Python ETL toolkit.

Pick jq for focused JSON processing through standalone MIT-licensed binaries on Linux, macOS and Windows.

dplyr is a free MIT-licensed R package for data manipulation when R is your working language.

Use Ibis when a Python dataframe library with multiple backends is the better fit.

OpenRefine suits desktop-oriented data cleaning with free, open-source software.

Choose Apache Beam for an open-source programming model whose execution can use different runners and infrastructure.

Bruin for Customer Success offers a cloud free tier with $100 in credits and 50 AI tasks when a hosted option is preferable.

Verdict

Choose Bonobo if you are a Python developer building small, self-hosted ETL jobs and want graph-based parallel execution under a free Apache 2.0 license. Look elsewhere if you need a managed service, larger-scale architecture or dependable API stability; its alpha status, self-hosting responsibilities and Docker-in-Docker limitation are meaningful constraints.

Verdict

Bonobo offers a code-first way to build and run ETL graphs, with integrations for SQL, Docker and Jupyter. Its alpha status and small-scale focus are important constraints to weigh before building a pipeline around it.

Where Specifiction places it

Alternatives to BonoboAll alternatives →