Bonobo vs dplyr
Bonobo
bonobo-project.orgdplyr
dplyr.tidyverse.orgSide by side
| Figure | Bonobo | dplyr |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Data Transformation Tools | 8.9 (#7) | 8.2 (#14) |
| Intended users | The project describes Bonobo as a toolkit for Python developers writing ETL jobs with simple, testable transformations. | The documentation recommends dplyr to people learning data transformation in R for Data Science. |
| License | Bonobo and its extensions are released under the Apache License 2.0. | The dplyr site identifies its license as MIT. |
| Purpose | Bonobo is a lightweight Python ETL framework for building data transformation pipelines. | dplyr is a grammar of data manipulation with verbs for common data manipulation tasks. |
| Support | The project points users to GitHub issues, Slack discussions, and Stack Overflow for community help. | The project directs bug reports to GitHub and questions or discussion to the Posit community forum. |
| 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. | Its core verbs add variables, select variables by name, filter cases by value, summarize values, and order rows. |
Plans
In their own words
Bonobo
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.
dplyr
dplyr is a free R package for transforming data frames and tibbles through a set of code-based operations. Its main verbs add variables with mutate(), choose variables with select(), filter cases with filter(), summarize values with summarise(), and order rows with arrange(). Combine them with group_by() to apply operations to groups, or use two-table verbs to work with pairs of datasets. The across() helper repeats an operation over several columns, while rowwise() supports row-by-row work. The programming guide covers data masking, tidy selection, and use in functions or loops. For other data settings, dbplyr translates dplyr code into SQL for relational databases; the documentation also lists Arrow, dtplyr, duckplyr, and sparklyr as alternative backends for larger datasets. dplyr runs on Linux, macOS, and Windows and is licensed under MIT. The CRAN package requires R 4.1.0 or later, and installation instructions cover CRAN and a development version from GitHub. The project recommends dplyr to people learning data transformation in R for Data Science.