{"id":14238572,"url":"https://github.com/timelessnesses/dpyhr","last_synced_at":"2026-06-18T01:31:55.310Z","repository":{"id":65336273,"uuid":"590021724","full_name":"timelessnesses/dpyhr","owner":"timelessnesses","description":"dpyhr is a hot cog reloader (that uses discord.py cog's implementation) to reload anytime you wanted to save!","archived":false,"fork":false,"pushed_at":"2023-04-14T06:09:42.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T21:01:19.526Z","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/timelessnesses.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":"2023-01-17T13:41:34.000Z","updated_at":"2023-01-17T15:15:01.000Z","dependencies_parsed_at":"2024-11-08T17:31:28.275Z","dependency_job_id":null,"html_url":"https://github.com/timelessnesses/dpyhr","commit_stats":{"total_commits":26,"total_committers":2,"mean_commits":13.0,"dds":"0.15384615384615385","last_synced_commit":"13a3d17f1f2b4f7b0a12b7dd77b37d6544d26613"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/timelessnesses/dpyhr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timelessnesses%2Fdpyhr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timelessnesses%2Fdpyhr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timelessnesses%2Fdpyhr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timelessnesses%2Fdpyhr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timelessnesses","download_url":"https://codeload.github.com/timelessnesses/dpyhr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timelessnesses%2Fdpyhr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34472822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2024-08-21T03:00:55.294Z","updated_at":"2026-06-18T01:31:55.287Z","avatar_url":"https://github.com/timelessnesses.png","language":"Python","funding_links":[],"categories":["Libraries and Extensions"],"sub_categories":["Utilities"],"readme":"# dpyhr\ndpyhr is a hot cog reloader (that uses discord.py cog's implementation) to reload anytime you wanted to save!\n\n## Setup\n\n1. Install dpyhr with pip (`pip install dpyhr`)\n2. Import dpyhr and run it with\n\n```py\nimport dpyhr\n\ndpyhr.run(\n    *paths: str,\n    bot: commands.Bot = None,\n    selection: Selection = Selection.normal,\n    reloader: typing.Callable = None,\n    conditional: typing.Callable = None,\n    recursive: bool = False,\n    **kwargs\n)\n```\n\n`dpyhr.run` have a documentation as this\n\n\u003e Run dphyr in another thread.  \n\n\u003e    Args:  \n\u003e        *paths (str): Paths you want to watch for cogs. Supply those as argument  \n\u003e        bot (commands.Bot, Optional): For reloading extensions (if reloader doesn't exists)  \n\u003e        selection (Selection, optional): Observer selection. Defaults to Selection.normal.  \n\u003e        reloader (typing.Callable, optional): Reload module with your own function. Defaults to None.  \n\u003e        conditional (typing.Callable, optional): Conditional when event is triggered. Defaults to None.  \n\u003e        recursive (bool, optional): Recursive reloading. Defaults to False.  \n\u003e        **kwargs: Other arguments for observer.  \n\u003e    Returns:  \n\u003e        None: No returns.  \n\n## Caution\n\ndpyhr wouldn't work if you called your bot outside of the entrypoint starter so nested path wouldn't work in this case. you need to run it inside directory where you want python file to run else reloader might get wrong path and spits errors out.\n\n## Why you don't shipped discord.py with this package?\n\nBecause dpyhr is trying to be able to compatible with any discord.py versions that have `discord.ext.commands` (other discord.py forks should works if they have `commands.Bot.reload_extension` and their package name is `discord`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimelessnesses%2Fdpyhr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimelessnesses%2Fdpyhr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimelessnesses%2Fdpyhr/lists"}