Get started creating your own Dash components here.
This repository contains a Cookiecutter template to create your own Dash components.
To use this boilerplate:
$ pip install cookiecutter
$ pip install virtualenv
Node.js/npm is also required.
$ cookiecutter gh:plotly/dash-component-boilerplate
project_name
: This is the "human-readable" name of your project. For example, "Dash Core Components".project_shortname
: is derived from the project name, it is the name of the "Python library" for your project. By default, this is generated from your project_name
by lowercasing the name and replacing spaces & -
with underscores. For example, for "Dash Core Components" this would be "dash_core_components".component_name
: This is the name of the initial component that is generated. As a JavaScript class name it should be in PascalCase. defaults to the PascalCase version of project_shortname
.jl_prefix
: Optional prefix for Julia components. For example, dash_core_components
uses "dcc" so the Python dcc.Input
becomes dccInput
in Julia, and dash_table
uses "dash" to make dashDataTable
.r_prefix
: Optional prefix for R components. For example, dash_core_components
uses "dcc" so the Python dcc.Input
becomes dccInput
in R, and dash_table
uses "dash" to make dashDataTable
.author_name
and author_email
: for package.json and DESCRIPTION (for R) metadata.github_org
: If you plan to push this to GitHub, enter the organization or username that will own it (for URLs to the project homepage and bug report page)description
: the project description, included in package.json.license
: License type for the component library. Plotly recommends the MIT license, but you should read the generated LICENSE file carefully to make sure this is right for you.publish_on_npm
: Set to false to only serve locally from the package data.install_dependencies
: Set to false to only generate the project structure.project_shortname
.Installing the dependencies can take a long time. They will be installed in a
folder named venv
, created by virtualenv. This ensures that dash is installed
to generate the components in the build:backends
script of the generated
package.json
.
Shared async chunks for code that repeats across multiple async chunks is already supported through our custom webpack.config.js
optimizations. You can leverage it by manually the path of {{cookiecutter.project_shortname}}-shared.js
to _js_dist
inside {{cookiecutter.project_shortname}}/__init__.py
(as well as the associated external URL).