Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

plotly/dash-core-components

Repository files navigation

Notice

As of Dash 2, the development of dash-core-components has been moved to the main Dash repo

This package exists for backward compatibility


Dash Core Components

This package provides the core React component suite for Dash.

CircleCI

Development

The dash package contains some tools to build components and drive the bundles build process. To avoid the circular dependency situation, we don't add dash as a required install in the dash-core-components setup. But, in order to do development locally, you need to install dash before everything.

  1. Install the dependencies with:
# it's recommended to install your python packages in a virtualenv
# python 2
$ pip install virtualenv --user && virtualenv venv && . venv/bin/activate
# python 3
$ python -m venv venv && . venv/bin/activate

# make sure dash is installed with dev and testing dependencies
$ pip install dash[dev,testing]  # in some shells you need \ to escape []

# run the build process
$ npm i --ignore-scripts && npm run build

# install dcc in editable mode
$ pip install -e .

Code quality and tests

To run integration tests (test_integration.py)

You can run the Selenium integration tests with the

npm test

Testing your components in Dash

  1. Run the build watcher by running $ npm run build:watch

  2. Run the dash layout you want to test

     # Import dash_core_components to your layout, then run it:
     $ python my_dash_layout.py
    

Uninstalling python package locally

$ npm run uninstall-local

Publishing

There's an npm script that will handle publish, provided you have the right credentials. You can run it by running

$ npm run publish-all

See the Publishing New Components/Features section of the Contributing guide for step-by-step instructions on publishing new components.

Dash Component Boilerplate

See the dash-component-boilerplate repo for more information.

Big Thanks

Cross-browser Testing Powered by image