Skip to main content

A Plotly Dash wrapper for FullCalendar with premium (Scheduler) plugins bundled

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

skinnycal-0.1.5.tar.gz (501.2 kB view details)

Uploaded Source

Built Distribution

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

skinnycal-0.1.5-py3-none-any.whl (504.1 kB view details)

Uploaded Python 3

File details

Details for the file skinnycal-0.1.5.tar.gz.

File metadata

  • Download URL: skinnycal-0.1.5.tar.gz
  • Upload date:
  • Size: 501.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skinnycal-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d9b5a02b1aea6af5a151cbf409f9cc5b7fa369bd619a85dc8ee4fe445ff50ff2
MD5 9eff48422d2e9138ef6093add93fa04e
BLAKE2b-256 5c02b4ee3cebd5a5a3946a72521f78dfcc68e6e0dee1cf06b425cbe60955ff3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for skinnycal-0.1.5.tar.gz:

Publisher: publish.yml on PepijnWissing/skinnyCal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skinnycal-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: skinnycal-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 504.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skinnycal-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7e31a562d7276c9d2ddeabe33a3775c382abd17beb7445bfa04002dbedbd42fd
MD5 78a93d34dd8345c78186a020aa7d9980
BLAKE2b-256 67b10b9de3c0cf8df28e025863c9d0d64ff74c96711376fcbf8017f00913643a

See more details on using hashes here.

Provenance

The following attestation bundles were made for skinnycal-0.1.5-py3-none-any.whl:

Publisher: publish.yml on PepijnWissing/skinnyCal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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