Skip to main content

Core components for plumage-dash-components

Project description

PyPI version npm version Build Status Total alerts Language grade: JavaScript Language grade: Python Python 3.8 | 3.9 | 3.10 Code style: black code style: prettier

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:

  1. Run pip install plumage-dash-components
  2. Run python usage.py
  3. 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:

  1. Install npm packages.
    npm ci --ignore-scripts --prefix ./react
    
  2. Install python packages required to build components.
    pip install .[dependencies]
    pip install dash[dev]
    
  3. 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, run npm start --prefix ./react.

  • To test your code in a Python environment:

    1. Build your code
      npm run build --prefix ./react
      
    2. Install the Python pacakge in development mode (if not already done and assuming you are using a virtual environment):
      pip install -e .
      
    3. Create a new example in examples/ which uses your new component.
  • 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.
    • JavaScript
      • JavaScript tests exist in react/tests. Take a look at them to see how to write tests using the Jest test framework.
  • 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 in plumage_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.

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


Download files

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

Source Distribution

plumage_dash_components-0.0.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

plumage_dash_components-0.0.1-py3-none-any.whl (751.2 kB view details)

Uploaded Python 3

File details

Details for the file plumage_dash_components-0.0.1.tar.gz.

File metadata

File hashes

Hashes for plumage_dash_components-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0319b45a74f4ac4b9d8b2bd2bca4b48e4fb7d1634a84ecb2f6b233b97a58f009
MD5 4c9481a72422988ff2f21a7a12dfcfc2
BLAKE2b-256 d7edb435942c145ab943b9a148af8d471ac52aecf684585c53acaf2e40b0dc0c

See more details on using hashes here.

File details

Details for the file plumage_dash_components-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for plumage_dash_components-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5af49631e27708124a6891bb50f3b743c441aa5432fccd549a78795124648229
MD5 fe22ea9aa0de02843cd6b3f92045f093
BLAKE2b-256 2dfec97a50b4e50fc7f3861f8f116341d03aafabd41782fbc1adb9be13da818a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page