Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

sgratzl/dash-sankey

Repository files navigation

Dash Sankey

License

Dash Sankey is a Plot.ly Dash extension for rendering interactive sankey diagrams.

image

Usage

Python

latest released version

pip install https://github.com/sgratzl/dash-sankey/releases/latest/download/dash_sankey.tar.gz

latest source code version

pip install git+https://github.com/sgratzl/dash-sankey@binaries#dash_sankey

R

devtools::install_github("sgratzl/dash-sankey@binaries")

Julia

pkg
add sgratzl/dash-sankey#binaries

Development Environment

Install dependencies

Requirements: Python, Node

npm install
python -m venv venv
. venv/bind/activate # or .\venv\Scripts\activate on Windows
pip install -r requirements.txt -r requirements-dev.txt

Commands

npm start     # start test app
npm run build # build the components, assumes an activated virtualenv
npm run lint
npm run fix

OLD

Write your component code in src/lib/components/DashSankey.react.js.

  • The demo app is in src/demo and you will import your example component code into your demo app.
  • Test your code in a Python environment:
    1. Build your code
      $ npm run build
      
    2. Run and modify the usage.py sample dash app:
      $ python usage.py
      
  • Write tests for your component.
    • A sample test is available in tests/test_usage.py, it will load usage.py and you can then automate interactions with selenium.
    • Run the tests with $ pytest tests.
    • The Dash team uses these types of integration tests extensively. Browse the Dash component code on GitHub for more examples of testing (e.g. https://github.com/plotly/dash-core-components)
  • Add custom styles to your component by putting your custom CSS files into your distribution folder (dash_sankey).
    • Make sure that they are referenced in MANIFEST.in so that they get properly included when you're ready to publish your component.
    • Make sure the stylesheets are added to the _css_dist dict in dash_sankey/__init__.py so dash will serve them automatically when the component suite is requested.
  • Review your code

Create a production build and publish:

  1. Build your code:

    $ npm run build
    
  2. Create a Python distribution

    $ python setup.py sdist bdist_wheel
    

    This will create source and wheel distribution in the generated the dist/ folder. See PyPA for more information.

  3. Test your tarball by copying it into a new environment and installing it locally:

    $ pip install dash_sankey-0.0.1.tar.gz
    
  4. Share your component with the community! https://community.plotly.com/c/dash

    1. Publish this repository to GitHub
    2. Tag your GitHub repository with the plotly-dash tag so that it appears here: https://github.com/topics/plotly-dash
    3. Create a post in the Dash community forum: https://community.plotly.com/c/dash