Skip to main content

Extends HoloViz Panel with FullCalendar capabilities

Project description

✨ panel-full-calendar

CI pypi-version python-version

Extends HoloViz Panel with FullCalendar capabilities

Clipboard-20250116-183814-139

Features

panel-full-calendar integrates the powerful FullCalendar JavaScript library with the Panel ecosystem, enabling interactive calendar widgets directly in Python applications. It provides the ability to:

  • Display and interact with calendars in various views (day, week, month).
  • Add, update, and remove events programmatically or through user interactions.
  • Customize the calendar's appearance, event handling, and toolbar controls.
  • Enable event dragging, resizing, and date selection callbacks.
  • Handle recurring events and complex scheduling logic.

This widget is perfect for building dashboards, scheduling applications, and any interface that requires robust calendar functionality.


Pin Your Version

This project is in its early stages, so if you find a version that suits your needs, it’s recommended to pin your version, as updates may introduce breaking changes.

To pin your version in requirements.txt, specify the version explicitly:

panel-full-calendar==0.x.x

Or in pyproject.toml:

[tool.poetry.dependencies]
panel-full-calendar = "0.x.x"

Installation

Install panel-full-calendar via pip:

pip install panel-full-calendar

Alternatively, add it to your pyproject.toml:

[tool.poetry.dependencies]
panel-full-calendar = "^0.x.x"

Usage

To use the calendar in a Panel application:

import panel as pn
from panel_full_calendar import Calendar

pn.extension("fullcalendar")

# Create a basic calendar widget
calendar = Calendar(sizing_mode="stretch_width")
calendar.show()

Development

git clone https://github.com/panel-extensions/panel-full-calendar
cd panel-full-calendar

For a simple setup use uv:

uv venv
source .venv/bin/activate # on linux. Similar commands for windows and osx
uv pip install -e .[dev]
pre-commit run install
pytest tests

For the full Github Actions setup use pixi:

pixi run pre-commit-install
pixi run postinstall
pixi run test

This repository is based on copier-template-panel-extension. To update to the latest template version run:

pixi exec --spec copier --spec ruamel.yaml -- copier update --defaults --trust

Note: copier will show Conflict for files with manual changes during an update. This is normal. As long as there are no merge conflict markers, all patches applied cleanly.

❤️ Contributing

Contributions are welcome 🤗! Please follow these steps to contribute:

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeature.
  3. Make your changes and commit them: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature/YourFeature.
  5. Open a pull request.

Please ensure your code adheres to the project's coding standards and passes all tests.

If you encounter issues or want to request features, please submit a GitHub issue.

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

panel_full_calendar-0.1.0.tar.gz (12.8 MB view details)

Uploaded Source

Built Distribution

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

panel_full_calendar-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file panel_full_calendar-0.1.0.tar.gz.

File metadata

  • Download URL: panel_full_calendar-0.1.0.tar.gz
  • Upload date:
  • Size: 12.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for panel_full_calendar-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e1835abce75e15a8425f5bdc31637e845b0ffdbf6ce8ab09ab96d42e8a857bba
MD5 b947aabe0ddcece602c6cf41e7f8b705
BLAKE2b-256 db65d38a80d838b3a75800ac02c006d84b7ddd3e4941b278f6f24e96422b2eef

See more details on using hashes here.

File details

Details for the file panel_full_calendar-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for panel_full_calendar-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e92e10b6f6e47f95a2e2ab4d3101e714e61117fd2c024333b78d15f06bd414e
MD5 acc38249ee904248717897efa7012216
BLAKE2b-256 eb2054c7d1929f42bdd29373319d41d75f4790d2775d021fb9ea47f98852b063

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