{"id":10779529,"name":"circuitpython-mocks","ecosystem":"pypi","description":"A library of mock structures for soft-testing CircuitPython-based projects.","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/2bndy5/CircuitPython-mocks","keywords_array":["blinka","circuitpython","raspberrypi","driver","test","mock"],"namespace":null,"versions_count":4,"first_release_published_at":"2024-08-04T12:38:34.000Z","latest_release_published_at":"2024-09-15T19:42:19.000Z","latest_release_number":"0.3.1","last_synced_at":"2026-05-14T18:17:53.370Z","created_at":"2024-08-04T12:46:53.868Z","updated_at":"2026-05-14T18:17:53.370Z","registry_url":"https://pypi.org/project/circuitpython-mocks/","install_command":"pip install circuitpython-mocks --index-url https://pypi.org/simple","documentation_url":"https://circuitpython-mocks.readthedocs.io","metadata":{"funding":null,"documentation":"https://circuitpython-mocks.readthedocs.io","classifiers":["Development Status :: 5 - Production/Stable","Intended Audience :: Developers","License :: OSI Approved :: MIT License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9","Topic :: Software Development :: Libraries","Topic :: System :: Hardware"],"normalized_name":"circuitpython-mocks","project_status":null},"repo_metadata":{"id":251568209,"uuid":"837794706","full_name":"2bndy5/CircuitPython-mocks","owner":"2bndy5","description":"A library of mock data structures for soft testing CircuitPython-based projects","archived":false,"fork":false,"pushed_at":"2024-12-09T17:23:00.000Z","size":51,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-16T03:01:05.609Z","etag":null,"topics":["circuitpython","circuitpython-library","coverage-testing","mock","pytest","test","testing","testing-library"],"latest_commit_sha":null,"homepage":"https://circuitpython-mocks.rtfd.io/","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/2bndy5.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"2bndy5"}},"created_at":"2024-08-04T03:57:42.000Z","updated_at":"2025-02-15T06:33:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"15324968-b4f2-49ff-962f-2637ee85c7c3","html_url":"https://github.com/2bndy5/CircuitPython-mocks","commit_stats":null,"previous_names":["2bndy5/circuitpython-mocks"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/2bndy5/CircuitPython-mocks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2bndy5","download_url":"https://codeload.github.com/2bndy5/CircuitPython-mocks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276929606,"owners_count":25730214,"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-25T02:00:09.612Z","response_time":80,"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":"2bndy5","name":"Brendan","uuid":"14963867","kind":"user","description":"I ❤️ to code and tinker with DIY electronics. Beyond that, I'm adamant about digestible documentation.","email":"","website":null,"location":"San Francisco Bay Area, CA","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/14963867?u=a73fe81ae765fbd53ec950e5b4cde1ab780dfb9f\u0026v=4","repositories_count":74,"last_synced_at":"2025-09-19T04:02:57.073Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/2bndy5","funding_links":["https://github.com/sponsors/2bndy5"],"total_stars":101,"followers":41,"following":2,"created_at":"2022-11-14T23:48:07.302Z","updated_at":"2025-09-19T04:02:57.073Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2bndy5","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2bndy5/repositories"},"tags":[{"name":"v0.3.1","sha":"374de20328f7d168d000f300bdc974dad33ebcad","kind":"commit","published_at":"2024-09-15T19:39:34.000Z","download_url":"https://codeload.github.com/2bndy5/CircuitPython-mocks/tar.gz/v0.3.1","html_url":"https://github.com/2bndy5/CircuitPython-mocks/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/2bndy5/CircuitPython-mocks@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"fb5af4372c4e3fa3af32fb91b5d9aedc3109e4d1","kind":"commit","published_at":"2024-08-07T16:31:38.000Z","download_url":"https://codeload.github.com/2bndy5/CircuitPython-mocks/tar.gz/v0.3.0","html_url":"https://github.com/2bndy5/CircuitPython-mocks/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/2bndy5/CircuitPython-mocks@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.3.0/manifests"},{"name":"v0.2.0","sha":"0e37adaf025642e9bf6bcf5532b50208c7149ee9","kind":"commit","published_at":"2024-08-06T03:41:58.000Z","download_url":"https://codeload.github.com/2bndy5/CircuitPython-mocks/tar.gz/v0.2.0","html_url":"https://github.com/2bndy5/CircuitPython-mocks/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/2bndy5/CircuitPython-mocks@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"fb2ea21fb8fd85089966f042151c43c45f918bae","kind":"commit","published_at":"2024-08-04T12:32:48.000Z","download_url":"https://codeload.github.com/2bndy5/CircuitPython-mocks/tar.gz/v0.1.0","html_url":"https://github.com/2bndy5/CircuitPython-mocks/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/2bndy5/CircuitPython-mocks@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2026-03-12T09:41:43.889Z","dependent_packages_count":0,"downloads":39,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":59.31846553527447,"dependent_packages_count":10.534093592901245,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":34.92627956408786},"purl":"pkg:pypi/circuitpython-mocks","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/circuitpython-mocks","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/circuitpython-mocks","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/circuitpython-mocks/dependencies","status":null,"funding_links":["https://github.com/sponsors/2bndy5"],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-02T19:35:51.002Z","issues_count":8,"pull_requests_count":21,"avg_time_to_close_issue":40541.333333333336,"avg_time_to_close_pull_request":384166.94736842107,"issues_closed_count":6,"pull_requests_closed_count":19,"pull_request_authors_count":3,"issue_authors_count":2,"avg_comments_per_issue":1.625,"avg_comments_per_pull_request":1.2380952380952381,"merged_pull_requests_count":14,"bot_issues_count":0,"bot_pull_requests_count":11,"past_year_issues_count":8,"past_year_pull_requests_count":21,"past_year_avg_time_to_close_issue":40541.333333333336,"past_year_avg_time_to_close_pull_request":384166.94736842107,"past_year_issues_closed_count":6,"past_year_pull_requests_closed_count":19,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":2,"past_year_avg_comments_per_issue":1.625,"past_year_avg_comments_per_pull_request":1.2380952380952381,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":11,"past_year_merged_pull_requests_count":14,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bndy5%2FCircuitPython-mocks/issues","maintainers":[{"login":"2bndy5","count":20,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/2bndy5"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/circuitpython-mocks/codemeta","maintainers":[{"uuid":"2bndy5","login":"2bndy5","name":null,"email":null,"url":null,"packages_count":18,"html_url":"https://pypi.org/user/2bndy5/","role":null,"created_at":"2024-08-04T12:52:20.994Z","updated_at":"2024-08-04T12:52:20.994Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/2bndy5/packages"}]}