{"id":60477,"name":"clock-pattern","description":"The Clock Pattern is a Python 🐍 package that turns time into an injectable dependency 🧩. By replacing ad-hoc datetime.now() calls with a swappable Clock interface 🕰️ you unlock deterministic tests 🧪 and decouple business logic from the OS clock.","url":"https://github.com/adriamontoto/clock-pattern","last_synced_at":"2025-09-08T12:12:08.723Z","repository":{"id":300375540,"uuid":"1006004952","full_name":"adriamontoto/clock-pattern","owner":"adriamontoto","description":"The Clock Pattern is a Python 🐍 package that turns time into an injectable dependency 🧩. By replacing ad-hoc datetime.now() calls with a swappable Clock interface 🕰️ you unlock deterministic tests 🧪 and decouple business logic from the OS clock.","archived":false,"fork":false,"pushed_at":"2025-09-08T06:40:27.000Z","size":94,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-08T08:25:06.406Z","etag":null,"topics":["clock","dependency-injection","development","domain-driven-design","pattern","python","python3","python311","python312","python313","utilities"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/clock-pattern","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/adriamontoto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["adriamontoto"]}},"created_at":"2025-06-21T09:20:29.000Z","updated_at":"2025-09-08T06:40:30.000Z","dependencies_parsed_at":"2025-09-08T08:15:15.437Z","dependency_job_id":"b4b801ae-030f-40f3-ab45-d15c09b0d404","html_url":"https://github.com/adriamontoto/clock-pattern","commit_stats":null,"previous_names":["adriamontoto/clock-pattern"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/adriamontoto/clock-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274181749,"owners_count":25236552,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"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"}},"owner":{"login":"adriamontoto","name":null,"uuid":"75563346","kind":"user","description":"Software Development Engineer @ Amazon","email":"","website":null,"location":"/dev/null","twitter":null,"company":"Amazon","icon_url":"https://avatars.githubusercontent.com/u/75563346?u=eeb1350b82ecb4d96592f9b6cd1a16870c355e38\u0026v=4","repositories_count":9,"last_synced_at":"2025-09-01T03:17:23.967Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/adriamontoto","funding_links":[],"total_stars":20,"followers":12,"following":20,"created_at":"2024-03-17T18:28:51.732Z","updated_at":"2025-09-01T03:17:23.967Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto/repositories"},"packages":[{"id":11823778,"name":"clock-pattern","ecosystem":"pypi","description":"The Clock Pattern is a Python package that turns time into an injectable dependency.","homepage":"https://github.com/adriamontoto/clock-pattern","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/adriamontoto/clock-pattern","keywords_array":["clock","dependency-injection","development","domain-driven-design","pattern","python","utilities"],"namespace":null,"versions_count":5,"first_release_published_at":"2025-06-21T15:30:07.000Z","latest_release_published_at":"2025-06-23T19:01:40.000Z","latest_release_number":"0.5.0","last_synced_at":"2025-09-08T08:38:08.829Z","created_at":"2025-06-21T15:31:57.312Z","updated_at":"2025-09-08T08:38:08.829Z","registry_url":"https://pypi.org/project/clock-pattern/","install_command":"pip install clock-pattern --index-url https://pypi.org/simple","documentation_url":"https://clock-pattern.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Intended Audience :: Developers","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python","Programming Language :: Python :: 3","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Typing :: Typed"],"normalized_name":"clock-pattern","project_status":null},"repo_metadata":{"id":300375540,"uuid":"1006004952","full_name":"adriamontoto/clock-pattern","owner":"adriamontoto","description":"The Clock Pattern is a Python 🐍 package that turns time into an injectable dependency 🧩. By replacing ad-hoc datetime.now() calls with a swappable Clock interface 🕰️ you unlock deterministic tests 🧪 and decouple business logic from the OS clock.","archived":false,"fork":false,"pushed_at":"2025-08-25T03:14:11.000Z","size":129,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-01T03:36:45.107Z","etag":null,"topics":["clock","dependency-injection","development","domain-driven-design","pattern","python","python3","python311","python312","python313","utilities"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/clock-pattern","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/adriamontoto.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["adriamontoto"]}},"created_at":"2025-06-21T09:20:29.000Z","updated_at":"2025-08-21T05:42:19.000Z","dependencies_parsed_at":"2025-08-03T07:01:01.336Z","dependency_job_id":null,"html_url":"https://github.com/adriamontoto/clock-pattern","commit_stats":null,"previous_names":["adriamontoto/clock-pattern"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/adriamontoto/clock-pattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273072796,"owners_count":25040583,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"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"},"owner_record":{"login":"adriamontoto","name":null,"uuid":"75563346","kind":"user","description":"Software Development Engineer @ Amazon","email":"","website":null,"location":"/dev/null","twitter":null,"company":"Amazon","icon_url":"https://avatars.githubusercontent.com/u/75563346?u=eeb1350b82ecb4d96592f9b6cd1a16870c355e38\u0026v=4","repositories_count":9,"last_synced_at":"2025-08-23T17:15:38.934Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/adriamontoto","funding_links":[],"total_stars":20,"followers":11,"following":21,"created_at":"2024-03-17T18:28:51.732Z","updated_at":"2025-08-23T17:15:38.936Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adriamontoto/repositories"},"tags":[{"name":"v0.5.0","sha":"242993c943c4f5cbb45f289d68913baaddebe669","kind":"tag","published_at":"2025-06-23T19:00:50.000Z","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/v0.5.0","html_url":"https://github.com/adriamontoto/clock-pattern/releases/tag/v0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/adriamontoto/clock-pattern@v0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.5.0/manifests"},{"name":"v0.4.0","sha":"1dcd9d5fda98fe00b9938580e198770dd31cb1e9","kind":"tag","published_at":"2025-06-21T16:55:10.000Z","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/v0.4.0","html_url":"https://github.com/adriamontoto/clock-pattern/releases/tag/v0.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/adriamontoto/clock-pattern@v0.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.4.0/manifests"},{"name":"v0.3.0","sha":"0b6aa75a680ca6d376c8d4afeb14e1ecafada07e","kind":"tag","published_at":"2025-06-21T16:09:06.000Z","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/v0.3.0","html_url":"https://github.com/adriamontoto/clock-pattern/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/adriamontoto/clock-pattern@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"b98f2922b082e1ace28adf64bcf2f828a1e46a18","kind":"tag","published_at":"2025-06-21T15:58:46.000Z","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/v0.2.0","html_url":"https://github.com/adriamontoto/clock-pattern/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/adriamontoto/clock-pattern@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"75f1e8d864acf7006135529a52605d80e7d4540b","kind":"tag","published_at":"2025-06-21T15:29:33.000Z","download_url":"https://codeload.github.com/adriamontoto/clock-pattern/tar.gz/v0.1.0","html_url":"https://github.com/adriamontoto/clock-pattern/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/adriamontoto/clock-pattern@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-09-01T04:16:15.631Z","dependent_packages_count":0,"downloads":778,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":50.469639468690694,"dependent_packages_count":8.956787993789892,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":29.713213731240295},"purl":"pkg:pypi/clock-pattern","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/clock-pattern","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/clock-pattern","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/clock-pattern/dependencies","status":null,"funding_links":["https://github.com/sponsors/adriamontoto"],"critical":null,"issue_metadata":{"last_synced_at":"2025-08-24T01:20:04.049Z","issues_count":0,"pull_requests_count":7,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":12498.0,"issues_closed_count":0,"pull_requests_closed_count":5,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.8571428571428571,"merged_pull_requests_count":5,"bot_issues_count":0,"bot_pull_requests_count":7,"past_year_issues_count":0,"past_year_pull_requests_count":7,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":12498.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":5,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.8571428571428571,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":7,"past_year_merged_pull_requests_count":5,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/issues","maintainers":[],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/clock-pattern/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/clock-pattern/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/clock-pattern/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/clock-pattern/related_packages","maintainers":[{"uuid":"adriamontoto","login":"adriamontoto","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://pypi.org/user/adriamontoto/","role":"Owner","created_at":"2025-06-21T16:32:53.479Z","updated_at":"2025-06-21T16:32:53.479Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/adriamontoto/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726125,"maintainers_count":308800,"namespaces_count":0,"keywords_count":238245,"github":"pypi","metadata":{"funded_packages_count":50579},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-09-08T05:32:36.857Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":10437773,"full_name":"adriamontoto/clock-pattern","default_branch":"master","committers":[{"name":"Adria Montoto","email":"75563346+adriamontoto","login":"adriamontoto","count":22},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"adriamontoto-bot","email":"187444468+adriamontoto-bot","login":"adriamontoto-bot","count":5}],"total_commits":36,"total_committers":3,"total_bot_commits":9,"total_bot_committers":1,"mean_commits":12.0,"dds":0.38888888888888884,"past_year_committers":[{"name":"Adria Montoto","email":"75563346+adriamontoto","login":"adriamontoto","count":22},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":9},{"name":"adriamontoto-bot","email":"187444468+adriamontoto-bot","login":"adriamontoto-bot","count":5}],"past_year_total_commits":36,"past_year_total_committers":3,"past_year_total_bot_commits":9,"past_year_total_bot_committers":1,"past_year_mean_commits":12.0,"past_year_dds":0.38888888888888884,"last_synced_at":"2025-07-28T14:06:38.402Z","last_synced_commit":"9da623ddce2ef3b6405625bf6a6bd1a9befe8b6b","created_at":"2025-06-23T00:08:10.411Z","updated_at":"2025-07-28T14:06:38.402Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5482748,"commits_count":854068090,"contributors_count":31125167,"owners_count":908074,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"adriamontoto/clock-pattern","html_url":"https://github.com/adriamontoto/clock-pattern","last_synced_at":"2025-09-06T08:04:09.342Z","status":null,"issues_count":0,"pull_requests_count":26,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":330932.0588235294,"issues_closed_count":0,"pull_requests_closed_count":17,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":0.8461538461538461,"merged_pull_requests_count":13,"bot_issues_count":0,"bot_pull_requests_count":26,"past_year_issues_count":0,"past_year_pull_requests_count":26,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":330932.0588235294,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":17,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":0.8461538461538461,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":26,"past_year_merged_pull_requests_count":13,"created_at":"2025-06-23T00:08:11.011Z","updated_at":"2025-09-06T08:04:09.344Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/adriamontoto%2Fclock-pattern/issues","issue_labels_count":{},"pull_request_labels_count":{"dependencies":26,"github_actions":26},"issue_author_associations_count":{},"pull_request_author_associations_count":{"CONTRIBUTOR":25,"NONE":1},"issue_authors":{},"pull_request_authors":{"dependabot[bot]":26},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:17.013Z","repositories_count":10165784,"issues_count":31999265,"pull_requests_count":100269215,"authors_count":10729006,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{"dependencies":26,"github_actions":26},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":25,"NONE":1},"past_year_issue_authors":{},"past_year_pull_request_authors":{"dependabot[bot]":26},"maintainers":[],"active_maintainers":[]},"events":{"total":{"ReleaseEvent":3,"WatchEvent":3,"DeleteEvent":19,"IssueCommentEvent":24,"PushEvent":27,"PullRequestReviewEvent":11,"PullRequestEvent":39,"CreateEvent":22},"last_year":{"ReleaseEvent":3,"WatchEvent":3,"DeleteEvent":19,"IssueCommentEvent":24,"PushEvent":27,"PullRequestReviewEvent":11,"PullRequestEvent":39,"CreateEvent":22}},"keywords":["clock","dependency-injection","development","domain-driven-design","pattern","python","python3","python311","python312","python313","utilities"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yaml","sha":null,"kind":"manifest","created_at":"2025-06-21T10:51:56.860Z","updated_at":"2025-06-21T10:51:56.860Z","repository_link":"https://github.com/adriamontoto/clock-pattern/blob/master/.github/workflows/ci.yaml","dependencies":[{"id":23738154178,"package_name":"step-security/harden-runner","ecosystem":"actions","requirements":"002fdce3c6a235733a90a27c80493a3241e56863","direct":true,"kind":"composite","optional":false},{"id":23738155718,"package_name":"actions/checkout","ecosystem":"actions","requirements":"11bd71901bbe5b1630ceea73d27597364c9af683","direct":true,"kind":"composite","optional":false},{"id":23738155719,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"a26af69be951a213d495a4c3e4e4022e16d87065","direct":true,"kind":"composite","optional":false},{"id":23738155720,"package_name":"astral-sh/setup-uv","ecosystem":"actions","requirements":"445689ea25e0de0a23313031f5fe577c74ae45a1","direct":true,"kind":"composite","optional":false},{"id":23738155721,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"ea165f8d65b6e75b540449e92b4886f43607fa02","direct":true,"kind":"composite","optional":false},{"id":23738155722,"package_name":"actions/download-artifact","ecosystem":"actions","requirements":"d3f86a106a0bac45b974a628896c90dbdf5c8093","direct":true,"kind":"composite","optional":false},{"id":23738155723,"package_name":"py-cov-action/python-coverage-comment-action","ecosystem":"actions","requirements":"970a227e0c16ef4589a99a9970ab0ceb8c53059a","direct":true,"kind":"composite","optional":false},{"id":23738157022,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"ce28f5bb42b7a9f2c824e633a3f6ee835bab6858","direct":true,"kind":"composite","optional":false},{"id":23738157023,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"ce28f5bb42b7a9f2c824e633a3f6ee835bab6858","direct":true,"kind":"composite","optional":false},{"id":23738157024,"package_name":"re-actors/alls-green","ecosystem":"actions","requirements":"05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe","direct":true,"kind":"composite","optional":false},{"id":23738157025,"package_name":"python-semantic-release/python-semantic-release","ecosystem":"actions","requirements":"f9e152fb36cd2e590fe8c2bf85bbff08f7fc1c52","direct":true,"kind":"composite","optional":false},{"id":23738157155,"package_name":"pypa/gh-action-pypi-publish","ecosystem":"actions","requirements":"76f52bc884231f62b9a034ebfe128415bbaabdfc","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2025-06-21T10:51:59.779Z","updated_at":"2025-06-21T10:51:59.779Z","repository_link":"https://github.com/adriamontoto/clock-pattern/blob/master/pyproject.toml","dependencies":[{"id":23738157259,"package_name":"value-object-pattern","ecosystem":"pypi","requirements":"\u003e=0.4.0","direct":true,"kind":"runtime","optional":false}]}],"score":8.449770515098804,"created_at":"2025-09-04T15:51:37.322Z","updated_at":"2025-10-07T08:23:44.860Z","avatar_url":"https://github.com/adriamontoto.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":778,"funding_links":["https://github.com/sponsors/adriamontoto"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["interactive","ecosystem-modeling","mesh","interpretability","profiles","distribution","sequences","generic","projection","standardization"],"project_url":"https://science.ecosyste.ms/api/v1/projects/60477","html_url":"https://science.ecosyste.ms/projects/60477","bibtex_url":"https://science.ecosyste.ms/projects/60477/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/60477/export.apalike"}