Core components for plumage-dash-components
Project description
Plumage Dash Components
plumage_dash_components
is a Dash component library. A storybook showing all available components will be made available
You can quickly get started with:
- Run
pip install plumage-dash-components
- Run
python usage.py
- Visit http://localhost:8050 in your web browser
How to contribute
Install dependencies
If you want to build and develop yourself, you should fork + clone the repository, and then:
- Install npm packages.
npm ci --ignore-scripts --prefix ./react
- Install python packages required to build components.
pip install .[dependencies] pip install dash[dev]
- Install the python packages for testing.
pip install .[tests]
Write component code in react/src/lib/components/<ComponentName>/<ComponentName>.tsx
-
Have a look at other components to see how the directory and file structure looks like.
-
The demo app is in
react/src/demo
and is where you will import an example of your component. To start the existing demo app, runnpm start --prefix ./react
. -
To test your code in a Python environment:
- Build your code
npm run build --prefix ./react
- Install the Python pacakge in development mode (if not already done and
assuming you are using a virtual environment):
pip install -e .
- Create a new example in
examples/
which uses your new component.
- Build your code
-
Write tests for your component.
- Python
- Python tests exist in
tests/
. Take a look at them to see how to write tests using the Dash test framework. - Run the tests with
pytest tests
.
- Python tests exist in
- JavaScript
- JavaScript tests exist in
react/tests
. Take a look at them to see how to write tests using the Jest test framework.
- JavaScript tests exist in
- Python
-
Add custom styles to your component by putting your custom CSS files into your distribution folder (
plumage_dash_components
).- 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 inplumage_dash_components/__init__.py
so dash will serve them automatically when the component suite is requested. - You can also include stylesheets directly in your component by adding the stylesheet to your component's directory and importing it via
import "./<ComponentName>.css
. Make sure that the class names in your stylesheet are starting with your component's name and two underscores:.MyComponent__MyClassName
.
- Make sure that they are referenced in
Setup using VS Code Dev Container
To setup the project using a dev container, open the project in VS Code and select "Reopen in Dev Container". This will install all dependencies automatically.
Note: Tests have to be run in headless mode in the dev container, which can be done with $ pytest tests --headless
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file plumage_dash_components-0.0.1.tar.gz
.
File metadata
- Download URL: plumage_dash_components-0.0.1.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0319b45a74f4ac4b9d8b2bd2bca4b48e4fb7d1634a84ecb2f6b233b97a58f009 |
|
MD5 | 4c9481a72422988ff2f21a7a12dfcfc2 |
|
BLAKE2b-256 | d7edb435942c145ab943b9a148af8d471ac52aecf684585c53acaf2e40b0dc0c |
File details
Details for the file plumage_dash_components-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: plumage_dash_components-0.0.1-py3-none-any.whl
- Upload date:
- Size: 751.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5af49631e27708124a6891bb50f3b743c441aa5432fccd549a78795124648229 |
|
MD5 | fe22ea9aa0de02843cd6b3f92045f093 |
|
BLAKE2b-256 | 2dfec97a50b4e50fc7f3861f8f116341d03aafabd41782fbc1adb9be13da818a |