Skip to main content

A Plotly Dash wrapper for FullCalendar

Project description

Dash FullCalendar

A lightweight Dash component library that wraps @fullcalendar/react and exposes all free FullCalendar features to Plotly Dash.


Installation

pip install dash-fullcalendar

Quick start

from dash import Dash, html
import dash_fullcalendar as dcal

app = Dash(__name__)

app.layout = html.Div([
    dcal.FullCalendar(
        id="cal",
        initialView="dayGridMonth",
        editable=True,
        selectable=True,
        events=[
            {"title": "Audit", "date": "2025-08-01"},
            {"title": "Go‑Live", "date": "2025-08-10"},
        ],
    )
])

if __name__ == "__main__":
    app.run_server(debug=True)

Open http://127.0.0.1:8050 in your browser and enjoy a fully interactive calendar.


Repository layout

Path Purpose
dash_fullcalendar/ Python package published to PyPI. Contains generated Dash component classes and pre‑compiled JS/CSS assets (_js_dist, _css_dist).
src/ Raw React source for the wrapper.
package.json, rollup.config.js JS build pipeline (npm run build:all).
usage.py Minimal Dash demo used by tests.
tests/ Integration tests with dash[testing] & pytest.
docs/ Optional screenshots / GIFs shown in this README.
.github/ CI workflows that run tests and publish to PyPI + npm.

Ignored via .gitignore:

  • node_modules/
  • dist/, build/, coverage/

Development

  1. Clone and install dependencies

    git clone https://github.com/YOUR_GH_USERNAME/dash-fullcalendar.git
    cd dash-fullcalendar
    npm install
    python -m venv venv && . venv/bin/activate   # Windows: venv\Scripts\activate
    pip install -r requirements.txt -r tests/requirements.txt
    
  2. Build and run the example

    npm run build:all     # creates dash_fullcalendar/_dash_fullcalendar*.js
    pip install -e .
    python usage.py       # open http://localhost:8050
    
  3. Watch & develop

    In one shell:

    npm start            # rebuild JS on change
    

    In another:

    python usage.py      # auto‑reload Dash
    
  4. Run tests

    pytest -q
    

Contributing

Pull requests welcome! To get a change accepted:

  1. Open an issue first for large changes.
  2. Fork, create a descriptive branch name.
  3. Follow Conventional Commits in your commit messages.
  4. npm test and pytest must pass locally—CI will enforce this.
  5. Submit your PR; a maintainer will review and merge.

License

MIT © 2025 Scott Kilgore

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

dash_fullcalendar-0.1.3.tar.gz (389.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dash_fullcalendar-0.1.3-py3-none-any.whl (391.4 kB view details)

Uploaded Python 3

File details

Details for the file dash_fullcalendar-0.1.3.tar.gz.

File metadata

  • Download URL: dash_fullcalendar-0.1.3.tar.gz
  • Upload date:
  • Size: 389.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for dash_fullcalendar-0.1.3.tar.gz
Algorithm Hash digest
SHA256 81c87e087c3f14ecb38c50bd80779edbc08cd6666833ecf7aa999c5ef7892f17
MD5 f2ea753d32632d1fd9b0bc3d3e25e9ad
BLAKE2b-256 ac217348088ce5ba5346bf93854863d6b7eebbda24ed593622600c3e55d391b4

See more details on using hashes here.

File details

Details for the file dash_fullcalendar-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for dash_fullcalendar-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1bb9056f56b13a4832f76a0031744e8837e89cccf023c9f9abdf29311447d558
MD5 f7806f4e139221f58928ec0028ff0ef8
BLAKE2b-256 383438a11bbac2831ee287ae3566135da3f18f86ace596a15d1646510c66d80e

See more details on using hashes here.

Supported by

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