Dash Query Builder is a Dash component library.
This project uses Poetry.
See CONTRIBUTING.md
-
Install npm packages
$ npm install
-
Install python packages required to build components.
$ poetry install
-
All together
npm i -g pnpm pnpm install poetry install poetry lock poetry install poetry run npm run build && poetry run python usage.py
- Test your code in a Python environment:
- Build your code
$ npm run build
- Run and modify the
usage.py
sample dash app:$ poetry run python usage.py
- Build your code
- Write tests for your component. (There are currently no tests for this package. The component has some finicky selectors that I still need to figure out.)
- A sample test is available in
tests/test_usage.py
, it will loadusage.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)
- A sample test is available in
- Add custom styles to your component by putting your custom CSS files into your distribution folder (
dash_query_builder
).- 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 indash_query_builder/__init__.py
so dash will serve them automatically when the component suite is requested.
- Make sure that they are referenced in
- Review your code
-
Build your code:
$ npm run build
-
Create a Python distribution
$ poetry build
This will create source and wheel distribution in the generated the
dist/
folder. -
Publish the component to PyPI:
- Publish on PyPI
$ poetry publish
- Publish on PyPI