Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

The SolveBio Dash components suite

Project Description

# solvebio-dash-components

This package provides the React component suite for SolveBio-specific Dash components

## Development
### Setup

# Install JavaScript dependencies
$ npm install

# Create Python 2 virtual environment and install Python dependencies
$ pipenv --two install --dev

# Enter virtual environment
$ pipenv shell


Add the following line to your Dash app
app.scripts.config.serve_locally = True

### Components

To install the SolveBio Dash components locally, simply clone the repo to the root folder of your
Dash app

$ git clone

Then `cd` into the directory and follow the above setup process.

In addition, add the following lines to your Dash app
sys.path.insert(0, 'solvebio-dash-components')
import solvebio_dash_components as sdc

#### DashS3Uploader

A working example of the DashS3Uploader component can be launched with the following:

$ python
$ open

One thing to note about the DashS3Uploader is that when run locally, it must be run on ``
for proper function. This is because the CORS configurations have been set on the server side
so as to only allow S3 uploading specifically from the above address.

### Code quality and tests

#### To run lint and unit tests:

$ npm test

#### To run unit tests and watch for changes:

$ npm run test-watch

#### To run a specific test

In your test, append `.only` to a `describe` or `it` statement:

describe.only('Foo component', () => {
// ...

### Testing your components in Dash

1. Build development bundle to `lib/` and watch for changes

# Once this is started, you can just leave it running.
$ npm start

2. Install module locally (after every change)

# Generate metadata, and build the JavaScript bundle
$ npm run install-local

# Now you're done. For subsequent changes, if you've got `npm start`
# running in a separate process, it's enough to just do:
$ python install

3. Run Dash file containing your component

$ python

## Installing Python package locally

Before publishing to PyPi, you can test installing the module locally:

# Install in `site-packages` on your machine
$ npm run install-local

## Uninstalling Python package locally

$ npm run uninstall-local

## Publishing

Currently, multiple steps must be taken to publish to NPM and PyPi as this project
is based on the [dash-components-archetype][]. There is ongoing work to simplify
the publishing steps into one workflow [here](

1. Preparing to publish to NPM

# Bump the package version
$ npm version major|minor|patch

# Push branch and tags to repo
$ git push --follow-tags

2. Preparing to publish to PyPi

# Bump the PyPi package to the same version
$ vi solvebio_dash_components/

# Commit to github
$ git add solvebio_dash_components/
$ git commit -m "Bump pypi package version to vx.x.x"

3. Publish to npm and PyPi

$ npm run publish-all

## Builder / Archetype

We use [Builder][] to centrally manage build configuration, dependencies, and

To see all `builder` scripts available:

$ builder help

See the [dash-components-archetype][] repo for more information.

[NPM package authors]:

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(11.4 kB) Copy SHA256 Hash SHA256
Source None Feb 27, 2018

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting