Name | persian-datepicker JSON |
Version |
1.5.4
JSON |
| download |
home_page | None |
Summary | A Persian (Shamsi) DatePicker widget for Flet with animations, RTL support, and keyboard navigation. |
upload_time | 2025-08-17 18:25:07 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
keywords |
persian
shamsi
datepicker
flet
gui
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Persian DatePicker
A cutting-edge Persian (Shamsi) DatePicker widget for Flet, launched in 2025! This widget brings seamless navigation, stunning animations, and full RTL support with Persian numerals to your applications. Perfect for modern Persian apps, it includes:
- **Smooth Navigation**: Month and year transitions with animations.
- **Keyboard Support**: Navigate with Escape (close), Enter (confirm), A/D (days), W/S (weeks).
- **Themes**: Light and dark mode support.
- **Input Mode**: Direct date entry with validation.
- **Smart Features**: Mode switching, date memory, and today button.
## Installation
Install the package via pip:
```bash
pip install persian-datepicker
```
## Current Version
v1.5 (See [Changelog](https://github.com/AliAminiCode/persian-datepicker/blob/master/CHANGELOG.md))
## Quick Start
Here’s a simple example to get you started with the Persian DatePicker:
```python
import flet as ft
from persian_datepicker import PersianDatePicker
def main(page: ft.Page):
datepicker = PersianDatePicker()
def handle_result(result):
if result:
print(f"Selected: {result['formatted_persian']}")
datepicker.set_result_callback(handle_result)
def show_datepicker(e):
datepicker.show(page)
page.add(ft.ElevatedButton("Select Date", on_click=show_datepicker))
ft.app(target=main)
```
Run this code after installing the package to see a basic datepicker with a button to open it. The selected date will be printed in Persian format.
## Advanced Usage
- Customize themes or add date range validation (see example_mini_project.py).
- Use `datepicker.set_default_date("1404/06/01")` to set a default date.
## Screenshots
Check out the Persian DatePicker in action with light and dark themes:
- **Light Mode:**

- **Dark Mode:**

## Usage
Check the `examples/` directory for sample code:
- `example_basic.py`: Basic usage.
- `example_mini_project.py`: A mini project demo.
## Features
- Persian calendar with Shamsi dates.
- Floating overlay with modal behavior.
- Comprehensive error handling and validation.
- Performance optimized with LRU cache.
## Changelog
See [CHANGELOG.md](https://github.com/AliAminiCode/persian-datepicker/blob/master/CHANGELOG.md) for detailed version history.
## Reporting Issues
Found a bug? Report it [here](https://github.com/AliAminiCode/persian-datepicker/issues).
## License
This project is licensed under the [MIT License](https://github.com/AliAminiCode/persian-datepicker/blob/master/LICENSE).
Developed by [Ali Amini](mailto:aliamini9728@gmail.com).
## Contribute
Feel free to open issues or pull requests on [GitHub](https://github.com/AliAminiCode/persian-datepicker).
Raw data
{
"_id": null,
"home_page": null,
"name": "persian-datepicker",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "persian, shamsi, datepicker, flet, gui",
"author": null,
"author_email": "Ali Amini <aliamini9728@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/6b/08/6d7538cf81940a14ca8b2616717da1073a4d788c4c17cc65b66c0f0c1278/persian_datepicker-1.5.4.tar.gz",
"platform": null,
"description": "# Persian DatePicker\r\n\r\nA cutting-edge Persian (Shamsi) DatePicker widget for Flet, launched in 2025! This widget brings seamless navigation, stunning animations, and full RTL support with Persian numerals to your applications. Perfect for modern Persian apps, it includes:\r\n\r\n- **Smooth Navigation**: Month and year transitions with animations.\r\n- **Keyboard Support**: Navigate with Escape (close), Enter (confirm), A/D (days), W/S (weeks).\r\n- **Themes**: Light and dark mode support.\r\n- **Input Mode**: Direct date entry with validation.\r\n- **Smart Features**: Mode switching, date memory, and today button.\r\n\r\n## Installation\r\nInstall the package via pip:\r\n```bash\r\npip install persian-datepicker\r\n```\r\n\r\n## Current Version\r\nv1.5 (See [Changelog](https://github.com/AliAminiCode/persian-datepicker/blob/master/CHANGELOG.md))\r\n\r\n## Quick Start\r\nHere\u2019s a simple example to get you started with the Persian DatePicker:\r\n\r\n```python\r\nimport flet as ft\r\nfrom persian_datepicker import PersianDatePicker\r\n\r\ndef main(page: ft.Page):\r\n datepicker = PersianDatePicker()\r\n \r\n def handle_result(result):\r\n if result:\r\n print(f\"Selected: {result['formatted_persian']}\")\r\n \r\n datepicker.set_result_callback(handle_result)\r\n \r\n def show_datepicker(e):\r\n datepicker.show(page)\r\n \r\n page.add(ft.ElevatedButton(\"Select Date\", on_click=show_datepicker))\r\n\r\nft.app(target=main)\r\n```\r\nRun this code after installing the package to see a basic datepicker with a button to open it. The selected date will be printed in Persian format.\r\n\r\n## Advanced Usage\r\n\r\n- Customize themes or add date range validation (see example_mini_project.py).\r\n- Use `datepicker.set_default_date(\"1404/06/01\")` to set a default date.\r\n\r\n## Screenshots\r\nCheck out the Persian DatePicker in action with light and dark themes:\r\n\r\n- **Light Mode:** \r\n \r\n\r\n- **Dark Mode:** \r\n \r\n\r\n## Usage\r\nCheck the `examples/` directory for sample code:\r\n- `example_basic.py`: Basic usage.\r\n- `example_mini_project.py`: A mini project demo.\r\n\r\n## Features\r\n- Persian calendar with Shamsi dates.\r\n- Floating overlay with modal behavior.\r\n- Comprehensive error handling and validation.\r\n- Performance optimized with LRU cache.\r\n\r\n## Changelog\r\nSee [CHANGELOG.md](https://github.com/AliAminiCode/persian-datepicker/blob/master/CHANGELOG.md) for detailed version history.\r\n\r\n## Reporting Issues\r\nFound a bug? Report it [here](https://github.com/AliAminiCode/persian-datepicker/issues).\r\n\r\n## License\r\nThis project is licensed under the [MIT License](https://github.com/AliAminiCode/persian-datepicker/blob/master/LICENSE). \r\nDeveloped by [Ali Amini](mailto:aliamini9728@gmail.com).\r\n\r\n## Contribute\r\nFeel free to open issues or pull requests on [GitHub](https://github.com/AliAminiCode/persian-datepicker).\r\n",
"bugtrack_url": null,
"license": null,
"summary": "A Persian (Shamsi) DatePicker widget for Flet with animations, RTL support, and keyboard navigation.",
"version": "1.5.4",
"project_urls": {
"Bug Tracker": "https://github.com/AliAminiCode/persian-datepicker/issues",
"Homepage": "https://github.com/AliAminiCode/persian-datepicker"
},
"split_keywords": [
"persian",
" shamsi",
" datepicker",
" flet",
" gui"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4cccb161e16ff419fda1381e2a125bf1edcfaca54e35ff7226130d1cf80c9fc5",
"md5": "04306923440e60904462cca835546f45",
"sha256": "d7bd366e2c7a32df5295fb271c563d892f575726c6820546195e79d6681542c5"
},
"downloads": -1,
"filename": "persian_datepicker-1.5.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04306923440e60904462cca835546f45",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 17081,
"upload_time": "2025-08-17T18:25:06",
"upload_time_iso_8601": "2025-08-17T18:25:06.047153Z",
"url": "https://files.pythonhosted.org/packages/4c/cc/b161e16ff419fda1381e2a125bf1edcfaca54e35ff7226130d1cf80c9fc5/persian_datepicker-1.5.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6b086d7538cf81940a14ca8b2616717da1073a4d788c4c17cc65b66c0f0c1278",
"md5": "e5893ec290122e2cb89cfc2c90864517",
"sha256": "dbdd5dceaf20e00ac9271b67222581ce617afacf7774dfec16c5e79f137d283b"
},
"downloads": -1,
"filename": "persian_datepicker-1.5.4.tar.gz",
"has_sig": false,
"md5_digest": "e5893ec290122e2cb89cfc2c90864517",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 18088,
"upload_time": "2025-08-17T18:25:07",
"upload_time_iso_8601": "2025-08-17T18:25:07.944129Z",
"url": "https://files.pythonhosted.org/packages/6b/08/6d7538cf81940a14ca8b2616717da1073a4d788c4c17cc65b66c0f0c1278/persian_datepicker-1.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-17 18:25:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AliAminiCode",
"github_project": "persian-datepicker",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "persian-datepicker"
}