Tap into the power of causality by transforming data into interactive graphs and applications
Dara is a dynamic application framework designed for creating interactive web apps with ease, all in pure Python. Over the past two years, Dara has fueled the development of hundreds of apps, now widely used and appreciated by both our customers and our in-house teams!
To get started with Dara, you can use the create-dara-app
CLI tool to create a new app.
pip install create-dara-app
You can also use pipx
to install the CLI tool in an isolated environment.
Then simply run the following command to create a new app.
create-dara-app
By default the CLI will attempt to scaffold your project with poetry
but will fall back to pip
if poetry
is not present. This can be overriden with --packaging pip
or --packaging poetry
flag.
After the project is created, you can run it with:
cd my-dara-app
# with poetry installation
poetry run dara start
# with pip installation make sure to activate the new virtual environment
source .venv/bin/activate
dara start
Note: pip
installation uses PEP 660 pyproject.toml
-based editable installs which require pip >= 21.3
and setuptools >= 64.0.0
. You can upgrade both with:
python -m pip install --upgrade pip
pip install --user --upgrade setuptools
For more details check out our Documentation.
Explore some of our favorite apps - a great way of getting started and getting to know the framework!
Check out our App Gallery for more inspiration!
This repository covers the Dara Application Framework first-party packages.
-
dara-core
: The core of the Dara framework, this includes the core framework code for creating applications. -
dara-components
: Components for the Dara Framework. -
create-dara-app
: A CLI tool for creating new Dara applications.
And the supporting UI packages and tools.
-
eslint-config
- base ESLint configuration -
prettier-config
- base Prettier configuration -
stylelint-config
- base Stylelint configuration -
styled-components
- styled-components theme -
ui-causal-graph-editor
- causal graph editor component -
ui-code-editor
- code editor component -
ui-components
- base UI components -
ui-hierarchy-viewer
- hierarchy viewer component -
ui-icons
- icon components for Dara packages -
ui-notifications
- notification components -
ui-utils
- miscellaneous utility functions -
ui-widgets
- widget components
More information on the repository structure can be found in the CONTRIBUTING.md file.
Dara is open-source and licensed under the Apache 2.0 License.