{"id":60566,"name":"undictify","description":"Python library providing type-checked function calls at runtime","url":"https://github.com/dobiasd/undictify","last_synced_at":"2025-09-08T12:14:04.260Z","repository":{"id":46094908,"uuid":"143307373","full_name":"Dobiasd/undictify","owner":"Dobiasd","description":"Python library providing type-checked function calls at runtime","archived":false,"fork":false,"pushed_at":"2024-08-27T15:02:46.000Z","size":374,"stargazers_count":98,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-27T18:54:54.731Z","etag":null,"topics":["deserialization","json","python3","type-safety"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/undictify/","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/Dobiasd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["dobiasd"]}},"created_at":"2018-08-02T14:42:20.000Z","updated_at":"2024-08-27T15:02:50.000Z","dependencies_parsed_at":"2024-06-09T10:50:48.144Z","dependency_job_id":"f8fcd69e-ccb5-484a-ad63-8b0825e033c3","html_url":"https://github.com/Dobiasd/undictify","commit_stats":{"total_commits":163,"total_committers":4,"mean_commits":40.75,"dds":0.05521472392638038,"last_synced_commit":"5436a9eba6128f0b996dd952bbe12d746fdd39ca"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/Dobiasd/undictify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/sbom","scorecard":{"id":41402,"data":{"date":"2025-08-11","repo":{"name":"github.com/Dobiasd/undictify","commit":"329bbc616b65da4ff2f72b761c8ee587643d8d06"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"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":"Code-Review","score":0,"reason":"Found 1/29 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":"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":"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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"}},{"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/Dobiasd/undictify/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/Dobiasd/undictify/ci.yml/master?enable=pin","Warn: containerImage not pinned by hash: test/Dockerfile_3.10:1: pin your Docker image by updating python:3.10 to python:3.10@sha256:6ff000548a4fa34c1be02624836e75e212d4ead8227b4d4381c3ae998933a922","Warn: containerImage not pinned by hash: test/Dockerfile_3.11:1: pin your Docker image by updating python:3.11 to python:3.11@sha256:c1239cb82bf08176c4c90421ab425a1696257b098d9ce21e68de9319c255a47d","Warn: containerImage not pinned by hash: test/Dockerfile_3.12:1: pin your Docker image by updating python:3.12 to python:3.12@sha256:645df645815f1403566b103b2a2bb07f6a01516bbb15078ed004e41d198ba194","Warn: containerImage not pinned by hash: test/Dockerfile_3.8:1: pin your Docker image by updating python:3.8 to python:3.8@sha256:d411270700143fa2683cc8264d9fa5d3279fd3b6afff62ae81ea2f9d070e390c","Warn: containerImage not pinned by hash: test/Dockerfile_3.9:1: pin your Docker image by updating python:3.9 to python:3.9@sha256:754dbbaf5fe730bb2460efb3300293c62c222f74fbf8534ed23691c617c9609b","Warn: pipCommand not pinned by hash: test/Dockerfile_3.10:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.10:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.11:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.11:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.12:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.12:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.8:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.8:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.9:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.9:4","Warn: pipCommand not pinned by hash: test/install_from_local.sh:4","Warn: pipCommand not pinned by hash: test/install_from_local.sh:5","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:23","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  15 pipCommand dependencies pinned","Info:   0 out of   5 containerImage dependencies pinned"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:40:03.172Z","repository_id":46094908,"created_at":"2025-08-14T21:40:03.172Z","updated_at":"2025-08-14T21:40:03.172Z"},"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":"Dobiasd","name":"Tobias Hermann","uuid":"5544610","kind":"user","description":"Loving functional programming, machine learning, and neat software architecture.","email":"","website":"https://www.linkedin.com/in/t-hermann/","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5544610?u=cb515ee907b1efee1552b8fe0a2b76a41d64a545\u0026v=4","repositories_count":29,"last_synced_at":"2025-09-04T19:58:59.878Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/Dobiasd","funding_links":["https://github.com/sponsors/Dobiasd"],"total_stars":6031,"followers":440,"following":7,"created_at":"2022-11-06T08:00:26.782Z","updated_at":"2025-09-04T19:58:59.878Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd/repositories"},"packages":[{"id":2959239,"name":"undictify","ecosystem":"pypi","description":"Type-checked function calls at runtime","homepage":"http://github.com/Dobiasd/undictify","licenses":"MIT License","normalized_licenses":["MIT"],"repository_url":"https://github.com/Dobiasd/undictify","keywords_array":[],"namespace":null,"versions_count":34,"first_release_published_at":"2018-08-02T21:27:51.000Z","latest_release_published_at":"2022-08-12T07:04:24.000Z","latest_release_number":"0.11.3","last_synced_at":"2025-08-27T10:24:45.883Z","created_at":"2022-04-10T12:57:34.240Z","updated_at":"2025-08-27T11:25:44.042Z","registry_url":"https://pypi.org/project/undictify/","install_command":"pip install undictify --index-url https://pypi.org/simple","documentation_url":"https://undictify.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"normalized_name":"undictify","project_status":null},"repo_metadata":{"id":46094908,"uuid":"143307373","full_name":"Dobiasd/undictify","owner":"Dobiasd","description":"Python library providing type-checked function calls at runtime","archived":false,"fork":false,"pushed_at":"2024-08-27T15:02:46.000Z","size":374,"stargazers_count":98,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-21T06:11:03.787Z","etag":null,"topics":["deserialization","json","python3","type-safety"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/undictify/","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/Dobiasd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["dobiasd"]}},"created_at":"2018-08-02T14:42:20.000Z","updated_at":"2024-08-27T15:02:50.000Z","dependencies_parsed_at":"2024-06-09T10:50:48.144Z","dependency_job_id":"f8fcd69e-ccb5-484a-ad63-8b0825e033c3","html_url":"https://github.com/Dobiasd/undictify","commit_stats":{"total_commits":163,"total_committers":4,"mean_commits":40.75,"dds":0.05521472392638038,"last_synced_commit":"5436a9eba6128f0b996dd952bbe12d746fdd39ca"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/Dobiasd/undictify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/sbom","scorecard":{"id":41402,"data":{"date":"2025-08-11","repo":{"name":"github.com/Dobiasd/undictify","commit":"329bbc616b65da4ff2f72b761c8ee587643d8d06"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Info: no jobLevel write permissions found"],"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":"Code-Review","score":0,"reason":"Found 1/29 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":"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":"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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE: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"}},{"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/Dobiasd/undictify/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/Dobiasd/undictify/ci.yml/master?enable=pin","Warn: containerImage not pinned by hash: test/Dockerfile_3.10:1: pin your Docker image by updating python:3.10 to python:3.10@sha256:6ff000548a4fa34c1be02624836e75e212d4ead8227b4d4381c3ae998933a922","Warn: containerImage not pinned by hash: test/Dockerfile_3.11:1: pin your Docker image by updating python:3.11 to python:3.11@sha256:c1239cb82bf08176c4c90421ab425a1696257b098d9ce21e68de9319c255a47d","Warn: containerImage not pinned by hash: test/Dockerfile_3.12:1: pin your Docker image by updating python:3.12 to python:3.12@sha256:645df645815f1403566b103b2a2bb07f6a01516bbb15078ed004e41d198ba194","Warn: containerImage not pinned by hash: test/Dockerfile_3.8:1: pin your Docker image by updating python:3.8 to python:3.8@sha256:d411270700143fa2683cc8264d9fa5d3279fd3b6afff62ae81ea2f9d070e390c","Warn: containerImage not pinned by hash: test/Dockerfile_3.9:1: pin your Docker image by updating python:3.9 to python:3.9@sha256:754dbbaf5fe730bb2460efb3300293c62c222f74fbf8534ed23691c617c9609b","Warn: pipCommand not pinned by hash: test/Dockerfile_3.10:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.10:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.11:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.11:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.12:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.12:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.8:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.8:4","Warn: pipCommand not pinned by hash: test/Dockerfile_3.9:3","Warn: pipCommand not pinned by hash: test/Dockerfile_3.9:4","Warn: pipCommand not pinned by hash: test/install_from_local.sh:4","Warn: pipCommand not pinned by hash: test/install_from_local.sh:5","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:23","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  15 pipCommand dependencies pinned","Info:   0 out of   5 containerImage dependencies pinned"],"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T21:40:03.172Z","repository_id":46094908,"created_at":"2025-08-14T21:40:03.172Z","updated_at":"2025-08-14T21:40:03.172Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272325765,"owners_count":24914644,"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-27T02:00:09.397Z","response_time":76,"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":"Dobiasd","name":"Tobias Hermann","uuid":"5544610","kind":"user","description":"Loving functional programming, machine learning, and neat software architecture.","email":"","website":"https://www.linkedin.com/in/t-hermann/","location":"Germany","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/5544610?u=cb515ee907b1efee1552b8fe0a2b76a41d64a545\u0026v=4","repositories_count":29,"last_synced_at":"2025-08-18T03:56:46.550Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/Dobiasd","funding_links":["https://github.com/sponsors/Dobiasd"],"total_stars":6031,"followers":440,"following":7,"created_at":"2022-11-06T08:00:26.782Z","updated_at":"2025-08-18T03:56:46.550Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dobiasd/repositories"},"tags":[{"name":"0.11.3","sha":"c8fc3335b3f5130e02eeb16fe16815ef3d65936d","kind":"commit","published_at":"2022-08-12T06:57:55.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.11.3","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.11.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.3/manifests"},{"name":"0.11.2","sha":"86c8c1ac3e2c283246254e040214d63b68f7be24","kind":"commit","published_at":"2021-06-15T14:57:55.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.11.2","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.11.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.2/manifests"},{"name":"0.11.1","sha":"0eccdc685e275bee6a85bfa2c421fb97ecfe7d9b","kind":"commit","published_at":"2021-06-10T11:46:21.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.11.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.1/manifests"},{"name":"0.11.0","sha":"a3dff56974bf1b98706582e930b6f12fa4e2b648","kind":"commit","published_at":"2021-06-09T12:13:45.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.11.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.11.0/manifests"},{"name":"0.10.0","sha":"b346e5831a3369a07d0694b42984992720569604","kind":"commit","published_at":"2020-12-19T07:14:37.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.10.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.10.0/manifests"},{"name":"0.9.0","sha":"230c2917dd7952ede5494c0a3c09417d42d6949a","kind":"commit","published_at":"2020-08-29T07:53:10.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.9.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.9.0/manifests"},{"name":"0.8.1","sha":"d3b0bae79f3d8533dbc2f6e6813caee438e3ae3a","kind":"commit","published_at":"2020-06-25T07:21:13.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.8.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.8.1/manifests"},{"name":"0.8.0","sha":"f65e540e12e5cbd82ec1f5d86fd8cdfc08e7934f","kind":"commit","published_at":"2019-11-24T06:19:35.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.8.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.8.0/manifests"},{"name":"0.7.1","sha":"6dbed39be776c69970583a14c5f06eeabc7d03a7","kind":"commit","published_at":"2019-11-05T08:53:29.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.7.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.7.1/manifests"},{"name":"0.7.0","sha":"1ebcc1a7b7b9b70d95412497fab9e912427231c9","kind":"commit","published_at":"2019-11-05T08:05:17.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.7.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.7.0/manifests"},{"name":"0.6.5","sha":"74893820f6e1a4e6fb5abbc5fd954766e3c9b96c","kind":"commit","published_at":"2019-05-22T05:38:52.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.5","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.5/manifests"},{"name":"0.6.4","sha":"79adedda17deccfe3b0ca75fe73065a6510e29bc","kind":"commit","published_at":"2019-02-17T06:05:27.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.4","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.4/manifests"},{"name":"0.6.3","sha":"926433f46a83f218404219caf2fba4668c2a93b2","kind":"commit","published_at":"2019-02-16T18:07:39.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.3","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.3/manifests"},{"name":"0.6.2","sha":"135a84a56495ce9620327c2e23fb9cdbe5a7a435","kind":"commit","published_at":"2019-02-14T14:10:52.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.2","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.2/manifests"},{"name":"0.6.1","sha":"049bd37239bcdf9c7da096148e8bd733c82aa41f","kind":"commit","published_at":"2019-02-14T10:19:17.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.1/manifests"},{"name":"0.6.0","sha":"84425b128e3f2716705d54826f09843b8f3a24a3","kind":"commit","published_at":"2019-02-12T20:07:51.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.6.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.6.0/manifests"},{"name":"0.5.0","sha":"ac52ea8ed026922a5c5f62c3b0febe35e25dd573","kind":"commit","published_at":"2019-01-07T16:05:54.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.5.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.5.0/manifests"},{"name":"0.4.4","sha":"7e0eb2b1a2a72cb055c411bac7785f3c5d4bc1f5","kind":"commit","published_at":"2018-12-05T07:52:03.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.4.4","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.4.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.4/manifests"},{"name":"0.4.3","sha":"88b99e498d5eaead097b168be85b70825a57f70e","kind":"commit","published_at":"2018-12-05T07:47:45.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.4.3","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.4.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.3/manifests"},{"name":"0.4.1","sha":"d317d848648d54b4224f804591c92c711497fcb1","kind":"commit","published_at":"2018-11-23T17:58:00.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.4.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4.1/manifests"},{"name":"0.4","sha":"15a76cc0ca9d76d35dcd42b028668ef1a635ca04","kind":"commit","published_at":"2018-09-09T12:40:04.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.4","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.4/manifests"},{"name":"0.3.3","sha":"1e0a97f81eb61b95d8f8a60ac71f3b972359a263","kind":"commit","published_at":"2018-08-12T07:02:47.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.3.3","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.3/manifests"},{"name":"0.3.2","sha":"c581296bab830795df2d59ac6a496c68ee1c69a9","kind":"commit","published_at":"2018-08-10T14:44:27.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.3.2","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.2/manifests"},{"name":"0.3.1","sha":"16c0e14d187ae79f0cc6b0332374abbd83336a9b","kind":"commit","published_at":"2018-08-10T14:12:59.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.3.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.1/manifests"},{"name":"0.3.0","sha":"7303fcc5d136951c4d3aca8feffe541d6a3a680b","kind":"commit","published_at":"2018-08-10T05:32:28.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.3.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.3.0/manifests"},{"name":"0.2.8","sha":"7ffb8211de8d4ce9461ce57ebcc1f729a856a81a","kind":"commit","published_at":"2018-08-09T19:53:36.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.8","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.8/manifests"},{"name":"0.2.7","sha":"db69d630ef6e05edca26baf85be91ebc06dc2807","kind":"commit","published_at":"2018-08-09T19:42:00.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.7","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.7/manifests"},{"name":"0.2.6","sha":"f658a69a68198507cca49b6ca8286de217832c7b","kind":"commit","published_at":"2018-08-08T17:26:04.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.6","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.6/manifests"},{"name":"0.2.5","sha":"a3c809c676b9d04fba8bccd61c435b1d4d70dabb","kind":"commit","published_at":"2018-08-08T06:13:54.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.5","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.5/manifests"},{"name":"0.2.4","sha":"613c1128e7b9e0e58b3e9ae8aa864d3a0bd8159e","kind":"commit","published_at":"2018-08-06T14:46:25.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.4","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.4/manifests"},{"name":"0.2.3","sha":"3db60c678815fbb403cbdda61cda1587c53bb9ec","kind":"commit","published_at":"2018-08-06T12:51:32.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.3","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.3/manifests"},{"name":"0.2.2","sha":"84c6a4fdaa2918e6feec7a7f15ee5acabad705c4","kind":"commit","published_at":"2018-08-06T08:29:02.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.2","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.2/manifests"},{"name":"0.2.1","sha":"d6d5247d716f9ac7a2bee18592c9fc9cc9a3c1b7","kind":"commit","published_at":"2018-08-05T19:47:53.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"4ddbd002c2378b2d9d641a244e37673391b23ff2","kind":"commit","published_at":"2018-08-05T17:14:30.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.2.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.2.0/manifests"},{"name":"0.1.1","sha":"da7e8ba896ee08bef43b400daf129d4f6368c378","kind":"commit","published_at":"2018-08-03T07:20:39.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.1.1","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.1.1/manifests"},{"name":"0.1.0","sha":"02edc00213fc4875f6d8b1290e774b57714d691a","kind":"commit","published_at":"2018-08-02T21:12:15.000Z","download_url":"https://codeload.github.com/Dobiasd/undictify/tar.gz/0.1.0","html_url":"https://github.com/Dobiasd/undictify/releases/tag/0.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/Dobiasd/undictify@0.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/tags/0.1.0/manifests"}]},"repo_metadata_updated_at":"2025-08-27T11:25:44.042Z","dependent_packages_count":2,"downloads":8159,"downloads_period":"last-month","dependent_repos_count":8,"rankings":{"downloads":3.6593211699595085,"dependent_repos_count":5.172601463154739,"dependent_packages_count":3.143728013383905,"stargazers_count":7.168685279652992,"forks_count":11.41236680288737,"docker_downloads_count":null,"average":6.111340545807702},"purl":"pkg:pypi/undictify","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/undictify","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/undictify","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/undictify/dependencies","status":null,"funding_links":["https://github.com/sponsors/dobiasd","https://github.com/sponsors/Dobiasd"],"critical":null,"issue_metadata":{"last_synced_at":"2025-07-21T06:07:09.733Z","issues_count":14,"pull_requests_count":8,"avg_time_to_close_issue":1526206.5714285714,"avg_time_to_close_pull_request":64945.625,"issues_closed_count":14,"pull_requests_closed_count":8,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":3.2857142857142856,"avg_comments_per_pull_request":3.5,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":82.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"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.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/issues","maintainers":[{"login":"Dobiasd","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Dobiasd"}],"active_maintainers":[{"login":"Dobiasd","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Dobiasd"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/undictify/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/undictify/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/undictify/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/undictify/related_packages","maintainers":[{"uuid":"editgym","login":"editgym","name":null,"email":null,"url":null,"packages_count":3,"html_url":"https://pypi.org/user/editgym/","role":null,"created_at":"2023-02-25T17:39:46.314Z","updated_at":"2023-02-25T17:39:46.314Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/editgym/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":676343,"full_name":"Dobiasd/undictify","default_branch":"master","committers":[{"name":"Dobiasd","email":"editgym@gmail.com","login":"Dobiasd","count":157},{"name":"Sam Roeca","email":"samuel.roeca@gmail.com","login":"pappasam","count":7},{"name":"Timothy Hopper","email":"tdhopper","login":"tdhopper","count":1},{"name":"Bosco Yung","email":"15840328+bhky","login":"bhky","count":1}],"total_commits":166,"total_committers":4,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":41.5,"dds":0.054216867469879526,"past_year_committers":[{"name":"Dobiasd","email":"editgym@gmail.com","login":"Dobiasd","count":2}],"past_year_total_commits":2,"past_year_total_committers":1,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":2.0,"past_year_dds":0.0,"last_synced_at":"2025-05-25T03:48:27.291Z","last_synced_commit":"329bbc616b65da4ff2f72b761c8ee587643d8d06","created_at":"2023-03-09T10:41:11.099Z","updated_at":"2025-05-25T03:48:27.310Z","commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-03T00:00:08.276Z","repositories_count":5480019,"commits_count":853389012,"contributors_count":31098138,"owners_count":906558,"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":"Dobiasd/undictify","html_url":"https://github.com/Dobiasd/undictify","last_synced_at":"2025-08-27T11:28:49.028Z","status":"error","issues_count":14,"pull_requests_count":8,"avg_time_to_close_issue":1526206.5714285714,"avg_time_to_close_pull_request":64945.625,"issues_closed_count":14,"pull_requests_closed_count":8,"pull_request_authors_count":4,"issue_authors_count":8,"avg_comments_per_issue":3.2857142857142856,"avg_comments_per_pull_request":3.5,"merged_pull_requests_count":7,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":1,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":82.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":1,"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.0,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":1,"created_at":"2023-05-15T02:06:00.099Z","updated_at":"2025-09-02T04:44:06.248Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dobiasd%2Fundictify/issues","issue_labels_count":{},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":12,"OWNER":1,"CONTRIBUTOR":1},"pull_request_author_associations_count":{"OWNER":7,"CONTRIBUTOR":3},"issue_authors":{"LukeMathWalker":6,"shawalli":2,"Dobiasd":1,"kheast":1,"richin13":1,"pappasam":1,"JoshuaGutman":1,"gjedlicska":1},"pull_request_authors":{"Dobiasd":7,"tdhopper":1,"pappasam":1,"bhky":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2025-09-05T00:00:10.444Z","repositories_count":10087320,"issues_count":31306968,"pull_requests_count":96469683,"authors_count":10696025,"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":"Dobiasd","count":8,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Dobiasd"}],"active_maintainers":[]},"events":{"total":{},"last_year":{}},"keywords":["deserialization","json","python3","type-safety"],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2024-06-09T10:50:46.899Z","updated_at":"2024-06-09T10:50:46.899Z","repository_link":"https://github.com/Dobiasd/undictify/blob/master/.github/workflows/ci.yml","dependencies":[{"id":18501101808,"package_name":"actions/checkout","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false},{"id":18501101809,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"main","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"docker-compose.yml","sha":null,"kind":"manifest","created_at":"2024-06-09T10:50:47.319Z","updated_at":"2024-06-09T10:50:47.319Z","repository_link":"https://github.com/Dobiasd/undictify/blob/master/docker-compose.yml","dependencies":[]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2024-06-09T10:50:47.634Z","updated_at":"2024-06-09T10:50:47.634Z","repository_link":"https://github.com/Dobiasd/undictify/blob/master/setup.py","dependencies":[]}],"score":14.979486027644512,"created_at":"2025-09-04T15:51:37.416Z","updated_at":"2025-10-07T08:23:46.718Z","avatar_url":"https://github.com/Dobiasd.png","language":"Python","category":null,"sub_category":null,"monthly_downloads":8159,"funding_links":["https://github.com/sponsors/dobiasd"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://science.ecosyste.ms/api/v1/projects/60566","html_url":"https://science.ecosyste.ms/projects/60566","bibtex_url":"https://science.ecosyste.ms/projects/60566/export.bibtex","apalike_url":"https://science.ecosyste.ms/projects/60566/export.apalike"}