# Flet Timer
[![PyPI Version](https://img.shields.io/pypi/v/flet-timer.svg)](https://pypi.org/project/flet-timer/)
[![License](https://img.shields.io/github/license/panos-stavrianos/flet_timer.svg)](https://opensource.org/licenses/MIT)
The Flet Timer is a timer component for the Flet framework that is based
on the last example from the [Flet User Controls guide](https://flet.dev/docs/guides/python/user-controls/).
It demonstrates how to create a countdown timer using threading for real-time display updates.
## Installation
To use the Flet Timer, you can install it using pip:
```
pip install flet-timer
```
## Usage
Here's an example that demonstrates how to use the Flet Timer.
First, let's define a callback function that will execute at a specified interval:
```python
def refresh():
txt_time.value = datetime.now().strftime("%H:%M:%S")
page.update()
```
Next, create the Timer object with the desired interval in seconds, a name, and the callback:
```python
timer = Timer(name="timer", interval_s=1, callback=refresh)
```
Finally, add the Timer component to the page:
```python
page.add(timer)
```
The complete example code would look like this:
```python
from datetime import datetime
import flet as ft
from flet_timer.flet_timer import Timer
def main(page: ft.Page):
page.title = "Flet Timer example"
page.vertical_alignment = ft.MainAxisAlignment.CENTER
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
txt_time = ft.Text(value="None")
def refresh():
txt_time.value = datetime.now().strftime("%H:%M:%S")
page.update()
timer = Timer(name="timer", interval_s=1, callback=refresh)
page.add(
timer,
txt_time
)
ft.app(main)
```
In this example, we create a Flet application that displays the current time using the `Text` component. We define
a `refresh()` function that updates the `txt_time` value with the current time and triggers a page update. We
instantiate a `Timer` with a 1-second interval and the `refresh()` function as the callback. The timer continuously
calls the callback, updating the UI with the current time.
Certainly! Here's the disclaimer in markdown format:
## Disclaimer
Please note that this package is provided as-is and has not been extensively tested.
While the provided functionality should work in most situations,
there is a possibility of unforeseen issues or compatibility conflicts.
It is recommended to thoroughly test the package and adapt it to your specific use case before deploying it in a
production environment.
## Contributing
Contributions to the Flet Timer project are welcome! If you find any issues or have suggestions for improvements, please
open an issue or submit a pull request on the [GitHub repository](https://github.com/panos-stavrianos/flet_timer).
## License
The Flet Timer is open-source software released under the [MIT License](https://opensource.org/licenses/MIT). See
the [LICENSE](https://github.com/example/flet-timer/blob/main/LICENSE) file for more information.
Raw data
{
"_id": null,
"home_page": "https://github.com/panos-stavrianos/flet_timer",
"name": "flet-timer",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "flet,flet_timer,timer,flet app,flet components,python,gui,ui",
"author": "Panos Stavrianos",
"author_email": "panos@orbitsystems.gr",
"download_url": "https://files.pythonhosted.org/packages/a8/af/fd8454dcf2a7c13dfd3a98b7cff8b16c385d3007212e567c4548f6054eff/flet_timer-0.0.13.tar.gz",
"platform": null,
"description": "# Flet Timer\n \n[![PyPI Version](https://img.shields.io/pypi/v/flet-timer.svg)](https://pypi.org/project/flet-timer/)\n[![License](https://img.shields.io/github/license/panos-stavrianos/flet_timer.svg)](https://opensource.org/licenses/MIT)\n\nThe Flet Timer is a timer component for the Flet framework that is based\non the last example from the [Flet User Controls guide](https://flet.dev/docs/guides/python/user-controls/).\nIt demonstrates how to create a countdown timer using threading for real-time display updates.\n\n## Installation\n\nTo use the Flet Timer, you can install it using pip:\n\n```\npip install flet-timer\n```\n\n## Usage\n\nHere's an example that demonstrates how to use the Flet Timer.\n\nFirst, let's define a callback function that will execute at a specified interval:\n\n```python\ndef refresh():\n txt_time.value = datetime.now().strftime(\"%H:%M:%S\")\n page.update()\n```\n\nNext, create the Timer object with the desired interval in seconds, a name, and the callback:\n\n```python\ntimer = Timer(name=\"timer\", interval_s=1, callback=refresh)\n```\n\nFinally, add the Timer component to the page:\n\n```python\npage.add(timer)\n```\n\nThe complete example code would look like this:\n\n```python\nfrom datetime import datetime\nimport flet as ft\nfrom flet_timer.flet_timer import Timer\n\n\ndef main(page: ft.Page):\n page.title = \"Flet Timer example\"\n page.vertical_alignment = ft.MainAxisAlignment.CENTER\n page.horizontal_alignment = ft.CrossAxisAlignment.CENTER\n\n txt_time = ft.Text(value=\"None\")\n\n def refresh():\n txt_time.value = datetime.now().strftime(\"%H:%M:%S\")\n page.update()\n\n timer = Timer(name=\"timer\", interval_s=1, callback=refresh)\n\n page.add(\n timer,\n txt_time\n )\n\n\nft.app(main)\n```\n\nIn this example, we create a Flet application that displays the current time using the `Text` component. We define\na `refresh()` function that updates the `txt_time` value with the current time and triggers a page update. We\ninstantiate a `Timer` with a 1-second interval and the `refresh()` function as the callback. The timer continuously\ncalls the callback, updating the UI with the current time.\n\nCertainly! Here's the disclaimer in markdown format:\n\n## Disclaimer\n\nPlease note that this package is provided as-is and has not been extensively tested.\nWhile the provided functionality should work in most situations,\nthere is a possibility of unforeseen issues or compatibility conflicts.\n\nIt is recommended to thoroughly test the package and adapt it to your specific use case before deploying it in a\nproduction environment.\n\n## Contributing\n\nContributions to the Flet Timer project are welcome! If you find any issues or have suggestions for improvements, please\nopen an issue or submit a pull request on the [GitHub repository](https://github.com/panos-stavrianos/flet_timer).\n\n## License\n\nThe Flet Timer is open-source software released under the [MIT License](https://opensource.org/licenses/MIT). See\nthe [LICENSE](https://github.com/example/flet-timer/blob/main/LICENSE) file for more information.\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "A simple component to add a timer to your flet app!",
"version": "0.0.13",
"project_urls": {
"Homepage": "https://github.com/panos-stavrianos/flet_timer"
},
"split_keywords": [
"flet",
"flet_timer",
"timer",
"flet app",
"flet components",
"python",
"gui",
"ui"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "537ab39f2dec4d985349ddfa9d619fd5c1288bb4fa95517d6ad2e91e3a9745fb",
"md5": "6cd68fdb409172c90410ac34e836eba0",
"sha256": "85e2f967efd255787c7fbc301df831392c7ffbbc82672751386e2d9090ecf57d"
},
"downloads": -1,
"filename": "flet_timer-0.0.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6cd68fdb409172c90410ac34e836eba0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 4108,
"upload_time": "2023-07-07T11:07:51",
"upload_time_iso_8601": "2023-07-07T11:07:51.578969Z",
"url": "https://files.pythonhosted.org/packages/53/7a/b39f2dec4d985349ddfa9d619fd5c1288bb4fa95517d6ad2e91e3a9745fb/flet_timer-0.0.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a8affd8454dcf2a7c13dfd3a98b7cff8b16c385d3007212e567c4548f6054eff",
"md5": "6435373e21a8fbb865a79d4740e4a31b",
"sha256": "c55fec469f42ca897ff7603dc2db219530369931aa7b5fc6449ac8ea3a37aee6"
},
"downloads": -1,
"filename": "flet_timer-0.0.13.tar.gz",
"has_sig": false,
"md5_digest": "6435373e21a8fbb865a79d4740e4a31b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 3874,
"upload_time": "2023-07-07T11:07:52",
"upload_time_iso_8601": "2023-07-07T11:07:52.890371Z",
"url": "https://files.pythonhosted.org/packages/a8/af/fd8454dcf2a7c13dfd3a98b7cff8b16c385d3007212e567c4548f6054eff/flet_timer-0.0.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-07 11:07:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "panos-stavrianos",
"github_project": "flet_timer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "flet-timer"
}