Extends HoloViz Panel with FullCalendar capabilities
Project description
✨ panel-full-calendar
Extends HoloViz Panel with FullCalendar capabilities
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:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature. - Make your changes and commit them:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature/YourFeature. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1835abce75e15a8425f5bdc31637e845b0ffdbf6ce8ab09ab96d42e8a857bba
|
|
| MD5 |
b947aabe0ddcece602c6cf41e7f8b705
|
|
| BLAKE2b-256 |
db65d38a80d838b3a75800ac02c006d84b7ddd3e4941b278f6f24e96422b2eef
|
File details
Details for the file panel_full_calendar-0.1.0-py3-none-any.whl.
File metadata
- Download URL: panel_full_calendar-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e92e10b6f6e47f95a2e2ab4d3101e714e61117fd2c024333b78d15f06bd414e
|
|
| MD5 |
acc38249ee904248717897efa7012216
|
|
| BLAKE2b-256 |
eb2054c7d1929f42bdd29373319d41d75f4790d2775d021fb9ea47f98852b063
|