{"id":67257,"name":"cyto","description":"Idiomatic boilerplate and glue code for Python","url":"https://github.com/sbtinstruments/cyto","last_synced_at":"2025-09-08T13:52:06.395Z","repository":{"id":42209338,"uuid":"314360377","full_name":"sbtinstruments/cyto","owner":"sbtinstruments","description":"Idiomatic boilerplate and glue code for Python","archived":false,"fork":false,"pushed_at":"2025-06-19T12:59:10.000Z","size":644,"stargazers_count":15,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-21T18:44:02.420Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/sbtinstruments.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2020-11-19T20:18:34.000Z","updated_at":"2025-06-19T12:59:15.000Z","dependencies_parsed_at":"2024-08-20T15:45:24.130Z","dependency_job_id":"7b74d2c1-cc86-467e-8905-771ded9813e7","html_url":"https://github.com/sbtinstruments/cyto","commit_stats":{"total_commits":135,"total_committers":3,"mean_commits":45.0,"dds":"0.022222222222222254","last_synced_commit":"f57002d20e09e6afbfa57acb293b4d3b4872db78"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/sbtinstruments/cyto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/sbom","scorecard":{"id":802933,"data":{"date":"2025-08-11","repo":{"name":"github.com/sbtinstruments/cyto","commit":"19e798c305b01b093224b6d4065eaaa993aa003d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: MIT License: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-23T10:58:56.158Z","repository_id":42209338,"created_at":"2025-08-23T10:58:56.158Z","updated_at":"2025-08-23T10:58:56.158Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274196024,"owners_count":25239148,"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":"sbtinstruments","name":"SBT","uuid":"19975147","kind":"organization","description":"Real-time bacteria sensors","email":"info@sbtinstruments.com","website":"https://sbtinstruments.com","location":"Herlev, Denmark","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19975147?v=4","repositories_count":6,"last_synced_at":"2023-03-03T22:37:41.626Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sbtinstruments","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T06:10:06.968Z","updated_at":"2023-03-03T22:37:41.629Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments/repositories"},"packages":[{"id":2686619,"name":"cyto","ecosystem":"pypi","description":"SBT Instruments' framework for Python-based applications","homepage":"https://github.com/sbtinstruments/cyto","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/sbtinstruments/cyto","keywords_array":[],"namespace":null,"versions_count":4,"first_release_published_at":"2021-03-05T22:23:24.000Z","latest_release_published_at":"2021-03-05T23:28:12.000Z","latest_release_number":"0.3.2","last_synced_at":"2025-08-21T17:04:13.949Z","created_at":"2022-04-10T10:31:04.493Z","updated_at":"2025-08-21T17:42:59.847Z","registry_url":"https://pypi.org/project/cyto/","install_command":"pip install cyto --index-url https://pypi.org/simple","documentation_url":"https://cyto.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Programming Language :: Python :: 3","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"normalized_name":"cyto","project_status":null},"repo_metadata":{"id":42209338,"uuid":"314360377","full_name":"sbtinstruments/cyto","owner":"sbtinstruments","description":"Idiomatic boilerplate and glue code for Python","archived":false,"fork":false,"pushed_at":"2025-06-19T12:59:10.000Z","size":644,"stargazers_count":15,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-20T18:47:11.154Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/sbtinstruments.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2020-11-19T20:18:34.000Z","updated_at":"2025-06-19T12:59:15.000Z","dependencies_parsed_at":"2024-08-20T15:45:24.130Z","dependency_job_id":"7b74d2c1-cc86-467e-8905-771ded9813e7","html_url":"https://github.com/sbtinstruments/cyto","commit_stats":{"total_commits":135,"total_committers":3,"mean_commits":45.0,"dds":"0.022222222222222254","last_synced_commit":"f57002d20e09e6afbfa57acb293b4d3b4872db78"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/sbtinstruments/cyto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271515534,"owners_count":24773372,"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-08-21T02:00:08.990Z","response_time":74,"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":"sbtinstruments","name":"SBT","uuid":"19975147","kind":"organization","description":"Real-time bacteria sensors","email":"info@sbtinstruments.com","website":"https://sbtinstruments.com","location":"Herlev, Denmark","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/19975147?v=4","repositories_count":6,"last_synced_at":"2023-03-03T22:37:41.626Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/sbtinstruments","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-14T06:10:06.968Z","updated_at":"2023-03-03T22:37:41.629Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbtinstruments/repositories"},"tags":[{"name":"v0.3.2","sha":"d90377dbce25ac9b3b12ec98bd6b558de35882d9","kind":"commit","published_at":"2021-03-05T23:27:54.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.3.2","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.2/manifests"},{"name":"v0.3.1","sha":"5d1a4dc0163b19a9ee870a9515b5962f27e09dab","kind":"commit","published_at":"2021-03-05T23:24:39.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.3.1","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.1/manifests"},{"name":"v0.3.0","sha":"f52ff5143d7b303e4549295901cb33774a40e5d1","kind":"commit","published_at":"2021-03-05T22:33:44.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.3.0","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.3.0/manifests"},{"name":"v0.2.3","sha":"7841f222c21fb403ac1a38e80d22305f983275e5","kind":"commit","published_at":"2020-11-23T13:29:44.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.2.3","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.3/manifests"},{"name":"v0.2.2","sha":"a2b0cffa4719fcb32e0efbde1554e44e42268861","kind":"commit","published_at":"2020-11-23T12:40:28.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.2.2","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.2/manifests"},{"name":"v0.2.1","sha":"00470b4ffdd1d96c12878f226497f777b2823f9e","kind":"commit","published_at":"2020-11-23T12:28:56.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.2.1","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.1/manifests"},{"name":"v0.2.0","sha":"5217e9ae350cf9ccebccd52e711a240b67593f45","kind":"commit","published_at":"2020-11-23T12:17:34.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.2.0","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.2.0/manifests"},{"name":"v0.1.0","sha":"59effce380037196dd9a646731daed09914d8453","kind":"commit","published_at":"2020-11-23T10:53:49.000Z","download_url":"https://codeload.github.com/sbtinstruments/cyto/tar.gz/v0.1.0","html_url":"https://github.com/sbtinstruments/cyto/releases/tag/v0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/sbtinstruments/cyto@v0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/tags/v0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-21T17:42:59.846Z","dependent_packages_count":0,"downloads":36,"downloads_period":"last-month","dependent_repos_count":1,"rankings":{"downloads":32.82339513336722,"dependent_repos_count":21.71838761843193,"dependent_packages_count":10.002282794063202,"stargazers_count":17.077769742634576,"forks_count":22.62862777220401,"docker_downloads_count":null,"average":20.850092612140187},"purl":"pkg:pypi/cyto","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/cyto","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/cyto","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/cyto/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-20T18:47:26.973Z","issues_count":1,"pull_requests_count":2,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":32162.0,"issues_closed_count":0,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":2.0,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/issues","maintainers":[{"login":"frederikaalund","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/frederikaalund"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cyto/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cyto/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cyto/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/cyto/related_packages","maintainers":[{"uuid":"frederik","login":"frederik","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/frederik/","role":null,"created_at":"2023-02-23T22:24:00.483Z","updated_at":"2023-02-23T22:24:00.483Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/frederik/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":726150,"maintainers_count":308801,"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":555709,"full_name":"sbtinstruments/cyto","default_branch":"master","committers":[{"name":"Frederik Peter Aalund","email":"fpa@sbtinstruments.com","login":null,"count":132},{"name":"Jonatan","email":"jonatan.midtgaard@gmail.com","login":null,"count":2},{"name":"Kian-Meng Ang","email":"kianmeng.ang@gmail.com","login":"kianmeng","count":1}],"total_commits":135,"total_committers":3,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":45.0,"dds":0.022222222222222254,"past_year_committers":[{"name":"Frederik Aalund","email":"fpa@sbtinstruments.com","login":null,"count":31}],"past_year_total_commits":31,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":31.0,"past_year_dds":0.0,"last_synced_at":"2023-10-25T13:59:42.480Z","last_synced_commit":"f57002d20e09e6afbfa57acb293b4d3b4872db78","created_at":"2023-03-09T04:51:55.212Z","updated_at":"2023-10-25T13:59:42.480Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-08T00:00:16.827Z","repositories_count":5484000,"commits_count":854343132,"contributors_count":31144857,"owners_count":908866,"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":"sbtinstruments/cyto","html_url":"https://github.com/sbtinstruments/cyto","last_synced_at":"2025-08-21T18:02:25.848Z","status":"error","issues_count":1,"pull_requests_count":2,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":32162.0,"issues_closed_count":0,"pull_requests_closed_count":2,"pull_request_authors_count":2,"issue_authors_count":1,"avg_comments_per_issue":2.0,"avg_comments_per_pull_request":1.0,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-05-14T11:26:21.217Z","updated_at":"2025-08-21T18:02:25.849Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbtinstruments%2Fcyto/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":1},"pull_request_author_associations_count":{"MEMBER":1,"CONTRIBUTOR":1},"issue_authors":{"ricosaurus":1},"pull_request_authors":{"kianmeng":1,"frederikaalund":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-06T00:00:15.144Z","repositories_count":10120865,"issues_count":31690572,"pull_requests_count":98736979,"authors_count":10710354,"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":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[{"login":"frederikaalund","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/frederikaalund"}],"active_maintainers":[]},"events":{"total":{"WatchEvent":3,"PushEvent":32},"last_year":{"WatchEvent":3,"PushEvent":32}},"keywords":[],"dependencies":[{"ecosystem":"pypi","filepath":"poetry.lock","sha":null,"kind":"lockfile","created_at":"2022-08-12T09:41:13.626Z","updated_at":"2022-08-12T09:41:13.626Z","repository_link":"https://github.com/sbtinstruments/cyto/blob/master/poetry.lock","dependencies":[{"id":1310572474,"package_name":"anyio","ecosystem":"pypi","requirements":"3.5.0","direct":false,"kind":"runtime","optional":false},{"id":1310572475,"package_name":"astroid","ecosystem":"pypi","requirements":"2.9.3","direct":false,"kind":"develop","optional":false},{"id":1310572476,"package_name":"atomicwrites","ecosystem":"pypi","requirements":"1.4.0","direct":false,"kind":"develop","optional":false},{"id":1310572477,"package_name":"attrs","ecosystem":"pypi","requirements":"21.4.0","direct":false,"kind":"develop","optional":false},{"id":1310572479,"package_name":"black","ecosystem":"pypi","requirements":"21.12b0","direct":false,"kind":"develop","optional":false},{"id":1310572480,"package_name":"cfgv","ecosystem":"pypi","requirements":"3.3.1","direct":false,"kind":"develop","optional":false},{"id":1310572481,"package_name":"click","ecosystem":"pypi","requirements":"8.0.3","direct":false,"kind":"runtime","optional":false},{"id":1310572482,"package_name":"colorama","ecosystem":"pypi","requirements":"0.4.4","direct":false,"kind":"runtime","optional":false},{"id":1310572484,"package_name":"coverage","ecosystem":"pypi","requirements":"6.3.1","direct":false,"kind":"develop","optional":false},{"id":1310572486,"package_name":"distlib","ecosystem":"pypi","requirements":"0.3.4","direct":false,"kind":"develop","optional":false},{"id":1310572487,"package_name":"filelock","ecosystem":"pypi","requirements":"3.4.2","direct":false,"kind":"develop","optional":false},{"id":1310572488,"package_name":"identify","ecosystem":"pypi","requirements":"2.4.8","direct":false,"kind":"develop","optional":false},{"id":1310572489,"package_name":"idna","ecosystem":"pypi","requirements":"3.3","direct":false,"kind":"runtime","optional":false},{"id":1310572490,"package_name":"iniconfig","ecosystem":"pypi","requirements":"1.1.1","direct":false,"kind":"develop","optional":false},{"id":1310572491,"package_name":"isort","ecosystem":"pypi","requirements":"5.10.1","direct":false,"kind":"develop","optional":false},{"id":1310572492,"package_name":"lazy-object-proxy","ecosystem":"pypi","requirements":"1.7.1","direct":false,"kind":"develop","optional":false},{"id":1310572493,"package_name":"mccabe","ecosystem":"pypi","requirements":"0.6.1","direct":false,"kind":"develop","optional":false},{"id":1310572494,"package_name":"mslex","ecosystem":"pypi","requirements":"0.3.0","direct":false,"kind":"develop","optional":false},{"id":1310572495,"package_name":"mypy","ecosystem":"pypi","requirements":"0.930","direct":false,"kind":"develop","optional":false},{"id":1310572496,"package_name":"mypy-extensions","ecosystem":"pypi","requirements":"0.4.3","direct":false,"kind":"develop","optional":false},{"id":1310572497,"package_name":"nodeenv","ecosystem":"pypi","requirements":"1.6.0","direct":false,"kind":"develop","optional":false},{"id":1310572498,"package_name":"packaging","ecosystem":"pypi","requirements":"21.3","direct":false,"kind":"develop","optional":false},{"id":1310572499,"package_name":"pathspec","ecosystem":"pypi","requirements":"0.9.0","direct":false,"kind":"develop","optional":false},{"id":1310572500,"package_name":"platformdirs","ecosystem":"pypi","requirements":"2.4.1","direct":false,"kind":"develop","optional":false},{"id":1310572501,"package_name":"pluggy","ecosystem":"pypi","requirements":"1.0.0","direct":false,"kind":"develop","optional":false},{"id":1310572502,"package_name":"pre-commit","ecosystem":"pypi","requirements":"2.17.0","direct":false,"kind":"develop","optional":false},{"id":1310572503,"package_name":"psutil","ecosystem":"pypi","requirements":"5.9.0","direct":false,"kind":"develop","optional":false},{"id":1310572504,"package_name":"py","ecosystem":"pypi","requirements":"1.11.0","direct":false,"kind":"develop","optional":false},{"id":1310572505,"package_name":"pydantic","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"runtime","optional":false},{"id":1310572506,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"5.1.1","direct":false,"kind":"develop","optional":false},{"id":1310572507,"package_name":"pyfakefs","ecosystem":"pypi","requirements":"4.5.4","direct":false,"kind":"develop","optional":false},{"id":1310572508,"package_name":"pylint","ecosystem":"pypi","requirements":"2.12.2","direct":false,"kind":"develop","optional":false},{"id":1310572509,"package_name":"pyparsing","ecosystem":"pypi","requirements":"3.0.7","direct":false,"kind":"develop","optional":false},{"id":1310572510,"package_name":"pytest","ecosystem":"pypi","requirements":"6.2.5","direct":false,"kind":"develop","optional":false},{"id":1310572511,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"2.12.1","direct":false,"kind":"develop","optional":false},{"id":1310572512,"package_name":"pyyaml","ecosystem":"pypi","requirements":"6.0","direct":false,"kind":"develop","optional":false},{"id":1310572513,"package_name":"rope","ecosystem":"pypi","requirements":"0.18.0","direct":false,"kind":"develop","optional":false},{"id":1310572514,"package_name":"six","ecosystem":"pypi","requirements":"1.16.0","direct":false,"kind":"develop","optional":false},{"id":1310572515,"package_name":"sniffio","ecosystem":"pypi","requirements":"1.2.0","direct":false,"kind":"runtime","optional":false},{"id":1310572516,"package_name":"snowballstemmer","ecosystem":"pypi","requirements":"2.2.0","direct":false,"kind":"develop","optional":false},{"id":1310572517,"package_name":"taskipy","ecosystem":"pypi","requirements":"1.9.0","direct":false,"kind":"develop","optional":false},{"id":1310572518,"package_name":"toml","ecosystem":"pypi","requirements":"0.10.2","direct":false,"kind":"runtime","optional":false},{"id":1310572519,"package_name":"tomli","ecosystem":"pypi","requirements":"1.2.3","direct":false,"kind":"develop","optional":false},{"id":1310572520,"package_name":"typing-extensions","ecosystem":"pypi","requirements":"4.0.1","direct":false,"kind":"runtime","optional":false},{"id":1310572521,"package_name":"virtualenv","ecosystem":"pypi","requirements":"20.13.0","direct":false,"kind":"develop","optional":false},{"id":1310572522,"package_name":"wrapt","ecosystem":"pypi","requirements":"1.13.3","direct":false,"kind":"develop","optional":false}]},{"ecosystem":"pypi","filepath":"pyproject.toml","sha":null,"kind":"manifest","created_at":"2022-08-12T09:41:14.009Z","updated_at":"2022-08-12T09:41:14.009Z","repository_link":"https://github.com/sbtinstruments/cyto/blob/master/pyproject.toml","dependencies":[{"id":1310579950,"package_name":"anyio","ecosystem":"pypi","requirements":"^3.5.0","direct":true,"kind":"runtime","optional":false},{"id":1310579951,"package_name":"click","ecosystem":"pypi","requirements":"^8.0.1","direct":true,"kind":"runtime","optional":false},{"id":1310579952,"package_name":"pydantic","ecosystem":"pypi","requirements":"^1.9.0","direct":true,"kind":"runtime","optional":false},{"id":1310579953,"package_name":"python","ecosystem":"pypi","requirements":"^3.9","direct":true,"kind":"runtime","optional":false},{"id":1310579954,"package_name":"toml","ecosystem":"pypi","requirements":"^0.10.2","direct":true,"kind":"runtime","optional":false},{"id":1310579955,"package_name":"pyfakefs","ecosystem":"pypi","requirements":"^4.2.1","direct":true,"kind":"develop","optional":false},{"id":1310579956,"package_name":"pytest","ecosystem":"pypi","requirements":"^6.1.2","direct":true,"kind":"develop","optional":false},{"id":1310579957,"package_name":"pytest-cov","ecosystem":"pypi","requirements":"^2.10.1","direct":true,"kind":"develop","optional":false},{"id":1310579958,"package_name":"taskipy","ecosystem":"pypi","requirements":"^1.9.0","direct":true,"kind":"develop","optional":false},{"id":1310579959,"package_name":"black","ecosystem":"pypi","requirements":"^21.12b0","direct":true,"kind":"develop","optional":false},{"id":1310579960,"package_name":"isort","ecosystem":"pypi","requirements":"^5.6.4","direct":true,"kind":"develop","optional":false},{"id":1310579961,"package_name":"mypy","ecosystem":"pypi","requirements":"^0.930","direct":true,"kind":"develop","optional":false},{"id":1310579962,"package_name":"pre-commit","ecosystem":"pypi","requirements":"^2.8.2","direct":true,"kind":"develop","optional":false},{"id":1310579963,"package_name":"pylint","ecosystem":"pypi","requirements":"^2.12.2","direct":true,"kind":"develop","optional":false},{"id":1310579964,"package_name":"pydocstyle","ecosystem":"pypi","requirements":"^5.1.1","direct":true,"kind":"develop","optional":false},{"id":1310579965,"package_name":"rope","ecosystem":"pypi","requirements":"^0.18.0","direct":true,"kind":"develop","optional":false}]}],"score":7.508787170634276,"created_at":"2025-09-08T11:18:46.556Z","updated_at":"2025-10-07T08:25:21.387Z","avatar_url":"https://github.com/sbtinstruments.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":36,"funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/67257","html_url":"https://science.ecosyste.ms/projects/67257"}