Kuwala is the no-code data platform for BI analysts and engineers enabling you to build powerful analytics workflows. We are set out to bring state-of-the-art data engineering tools you love, such as Airbyte, dbt, or Great Expectations together in one intuitive interface built with React Flow.
Do you want to discuss your first contribution, want to learn more in general, or discuss your specific use-case for Kuwala? Just book a digital coffee session with the core team here.
Kuwala stands for extendability, reproducibility, and enablement. Small data teams build data products fastly and collaboratively. Analysts and engineers stay with their strengths. Kuwala is the tool that makes it possible to keep a data project within scope while having fun again.
- Kuwala Canvas runs directly on a data warehouse = Maximum flexibility and no lock-in effect
- Engineers enable their analysts by adding transformations and models via dbt or new data sources through Airbyte
- The node-based editor enables analyst to build advanced data workflows with many data sources and transformations through simple drag-and-drop
- With models-as-a-block the BI analyst can launch advanced Marketing Mix Models and attributions without knowing R or Python
For connecting and loading all your tooling data into a data warehouse, we are integrating with Airbyte connectors. For everything related to third-party data, such as POI and demographics data, we are building separate data pipelines.
To apply transformations on your data, we are integrating dbt which is running on top of your data warehouses. Engineers can easily create dbt models and make them reusable to the frontend.
We are going to include open-source data science and AI models (e.g., Meta's Robyn Marketing Mix Modeling).
We make the results exportable to Google Sheets and in the future also available in a Medium-style markdown editor.
The canvas environment is currently WIP. But you can already get an idea of how it is going to look like with our prototype and checkout our roadmap for updates.
We currently have five pipelines for different third-party data sources which can easily be imported into a Postgres database. The following pipelines are integrated:
Before the canvas is built, we have a Jupyter environment with convenience functions to work with the third-party data pipelines. To easily run the data pipelines, you can use the CLI.
We have a notebook with which you can correlate any value associated with a geo-reference with the Google popularity score. In the demo, we have preprocessed popularity data and a test dataset with Uber rides in Lisbon, Portugal.
You could either use the deployed example on Binder using the badge above or run everything locally. The Binder example
simply uses Pandas dataframes and is not connecting to a data warehouse.
To run the demo locally, launch Docker in the background and from inside the root directory run:
Linux/Mac:
cd kuwala/scripts && sh initialize_core_components.sh && sh run_cli.sh
and for Windows (Please use PowerShell or any Docker integrated terminal):
cd kuwala/scripts && sh initialize_windows.sh && cd windows && sh initialize_core_components.sh && sh run_cli.sh
To run the pipelines yourself, please follow the instructions for the CLI.
- How to build an Uber-like analytics system with Kuwala
- Perform location analytics for a grocery store with Kuwala
- Querying the most granular demographics data set with Kuwala
Every new issue, question, or comment is a contribution and very welcome! This project lives from your feedback and involvement!
The best first step to get involved is to join the Kuwala Community on Slack. There we discuss everything related to our roadmap, development, and support.
If you have a feature request, observed a bug, or just want to get involved please check out our open issues. We are also happy to set up a call with you. Just email us to community@kuwala.io.
Note: To submit a pull request, please fork the project and then submit a PR to the base repo.
Note: For Python contributors, please install these linters/formatters listed below
- Install prerequisites:
pip install poetry && poetry install
- Format your code before committing:
make format
- Run linter on your code before committing:
make lint
- If no exception then you're good to go
Link | Description |
---|---|
Blog | Read all our blog articles related to the stuff we are doing here. |
Join Slack | Our Slack channel with over 170 data engineers and many discussions. |
Jupyter notebook - Popularity correlation | Open a Jupyter notebook on Binder and merge external popularity data with Uber traversals by making use of convenient dbt functions. |
Podcast | Listen to our community podcast and maybe join us on the next show. |
Digital coffee break | Are you looking for new inspiring tech talks? Book a digital coffee chit-chat with one member of the core team. |
Our roadmap | See our upcoming milestones and sprint planing. |