{"id":26305589,"url":"https://github.com/trypsynth/repeating_timer","last_synced_at":"2025-03-15T09:16:20.381Z","repository":{"id":129690288,"uuid":"413934124","full_name":"trypsynth/repeating_timer","owner":"trypsynth","description":"Run a function over and over in a thread.","archived":false,"fork":false,"pushed_at":"2021-11-21T17:43:55.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-26T20:19:13.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trypsynth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-05T18:24:26.000Z","updated_at":"2022-09-12T15:40:56.000Z","dependencies_parsed_at":"2023-08-30T01:18:45.104Z","dependency_job_id":null,"html_url":"https://github.com/trypsynth/repeating_timer","commit_stats":null,"previous_names":["trypsynth/repeating_timer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trypsynth%2Frepeating_timer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trypsynth%2Frepeating_timer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trypsynth%2Frepeating_timer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trypsynth%2Frepeating_timer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trypsynth","download_url":"https://codeload.github.com/trypsynth/repeating_timer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707369,"owners_count":20334619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-15T09:16:19.873Z","updated_at":"2025-03-15T09:16:20.375Z","avatar_url":"https://github.com/trypsynth.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# repeating_timer\n\nRun a function over and over in a thread.\n\n## Why?\n\nA package from [Q-continuum](http://hg.q-continuum.net) (with the same name) claims to provide this functionality. However, it no longer works in python 3. This project is a complete rewrite that works with Python 3, and aims to have more features.\n\n## Usage.\n\n```python\nimport time\nfrom repeating_timer import RepeatingTimer\n\nt = RepeatingTimer(1.0, print, \"Hi.\")\nt.start()\ntime.sleep(5)\nt.stop()\n```\n\nThis will print \"Hi.\" every second for five seconds, then it will exit. You'll notice that the time.sleep() doesn't interfeer with the timer at all, because it's threaded. That's the beauty of it!\n\n## Note.\n\nIf you pass a function that takes time to execute, this time won't be taken away from how long you have until the next time the function is called.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrypsynth%2Frepeating_timer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrypsynth%2Frepeating_timer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrypsynth%2Frepeating_timer/lists"}