Dash Draggable is a Dash component library.
Get started with:
python usage.py
See CONTRIBUTING.md
If you have selected install_dependencies during the prompt, you can skip this part.
Install npm packages
$ npm install
Create a virtual env and activate.
$ virtualenv venv
$ venv/Scripts/activate
Note: venv\Scripts\activate for windows
Install python packages required to build components.
$ pip install -r requirements.txt
Install the python packages for testing (optional)
$ pip install -r tests/requirements.txt
src/lib/components/dash_draggable.react.js
.src/demo
and you will import your example component code into your demo app.$ npm run build:all
usage.py
sample dash app:
$ python usage.py
tests/test_usage.py
, it will load usage.py
and you can then automate interactions with selenium.$ pytest tests
.dash_draggable
).
MANIFEST.in
so that they get properly included when you're ready to publish your component._css_dist
dict in dash_draggable/__init__.py
so dash will serve them automatically when the component suite is requested.Build your code:
$ npm run build:all
Create a Python tarball
$ python setup.py sdist
This distribution tarball will get generated in the dist/
folder
Test your tarball by copying it into a new environment and installing it locally:
$ pip install dash_draggable-0.0.1.tar.gz
If it works, then you can publish the component to NPM and PyPI:
$ rm -rf dist
$ twine upload dist/*
publish_on_npm
)
$ npm publish
_Publishing your component to NPM will make the JavaScript bundles available on the unpkg CDN. By default, Dash servers the component library's CSS and JS from the remote unpkg CDN, so if you haven't published the component package to NPM you'll need to set the serve_locally
flags to True
(unless you choose False
on publish_on_npm
). We will eventually make serve_locally=True
the default, follow our progress in this issue._
Share your component with the community! https://community.plot.ly/c/dash