An open API service providing repository metadata for many open source software ecosystems.

GitHub / dry-python / classes

Smart, pythonic, ad-hoc, typed polymorphism for Python

JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dry-python%2Fclasses
PURL: pkg:github/dry-python/classes

Stars: 721
Forks: 29
Open issues: 37

License: bsd-2-clause
Language: Python
Size: 881 KB
Dependencies parsed at: Pending

Created at: about 6 years ago
Updated at: about 1 month ago
Pushed at: 11 months ago
Last synced at: 25 days ago

Commit Stats

Commits: 360
Authors: 16
Mean commits per author: 22.5
Development Distribution Score: 0.664
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/dry-python/classes

Topics: fp, mypy, mypy-plugins, mypy-stubs, pep561, python, python3, typeclasses, typesafety

Funding Links https://github.com/sponsors/dry-python, https://opencollective.com/dry-python, https://boosty.to/sobolevn

OpenSSF Scorecard report

3

Overall Score

10/10 Critical Risk
15/60 High Risk
0/40 Medium Risk
10/20 Low Risk
Generated on August 11, 2025 | Scorecard vv5.2.1-40-gf6ed084d
Security Checks
10/10
Binary-Artifacts
High Risk

no binaries found in the repo

Determines if the project has generated executable (binary) artifacts in the source repository.

10/10
Dangerous-Workflow
Critical Risk

no dangerous workflow patterns detected

Determines if the project's GitHub Action workflows avoid dangerous patterns.

10/10
License
Low Risk

license file detected

Determines if the project has defined a license.

Show details
ℹ️ Info: project has a license file: LICENSE:0
ℹ️ Info: FSF or OSI recognized license: BSD 2-Clause "Simplified" License: LICENSE:0
5/10
Code-Review
High Risk

Found 5/9 approved changesets -- score normalized to 5

Determines if the project requires human code review before pull requests (aka merge requests) are merged.

0/10
Branch-Protection
High Risk

branch protection not enabled on development/release branches

Determines if the default and release branches are protected with GitHub's branch protection settings.

Show details
⚠️ Warn: branch protection not enabled for branch 'master'
0/10
CII-Best-Practices
Low Risk

no effort to earn an OpenSSF best practices badge detected

Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.

0/10
Fuzzing
Medium Risk

project is not fuzzed

Determines if the project uses fuzzing.

Show details
⚠️ Warn: no fuzzer integrations found
0/10
Maintained
High Risk

0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0

Determines if the project is "actively maintained".

0/10
Pinned-Dependencies
Medium Risk

dependency not pinned by hash detected -- score normalized to 0

Determines if the project has declared and pinned the dependencies of its build process.

Show details
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-python/classes/test.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-python/classes/test.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/dry-python/classes/test.yml/master?enable=pin
⚠️ Warn: downloadThenRun not pinned by hash: .github/workflows/test.yml:26
ℹ️ Info: 0 out of 2 GitHub-owned GitHubAction dependencies pinned
ℹ️ Info: 0 out of 1 third-party GitHubAction dependencies pinned
ℹ️ Info: 0 out of 1 downloadThenRun dependencies pinned
0/10
SAST
Medium Risk

SAST tool is not run on all commits -- score normalized to 0

Determines if the project uses static code analysis.

Show details
⚠️ Warn: 0 commits out of 26 are checked with a SAST tool
0/10
Security-Policy
Medium Risk

security policy file not detected

Determines if the project has published a security policy.

Show 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
0/10
Token-Permissions
High Risk

detected GitHub workflow tokens with excessive permissions

Determines if the project's workflows follow the principle of least privilege.

Show details
⚠️ Warn: no topLevel permission defined: .github/workflows/test.yml:1
ℹ️ Info: no jobLevel write permissions found
0/10
Vulnerabilities
High Risk

24 existing vulnerabilities detected

Determines if the project has open, known unfixed vulnerabilities.

Show details
⚠️ Warn: Project is vulnerable to: PYSEC-2023-117 / GHSA-mrwq-x4v8-fh7p
⚠️ Warn: Project is vulnerable to: PYSEC-2024-230 / GHSA-248v-346w-9cwc
⚠️ Warn: Project is vulnerable to: PYSEC-2023-135 / GHSA-xqr8-7jwr-rhp7
⚠️ Warn: Project is vulnerable to: PYSEC-2024-4 / GHSA-2mqj-m65w-jghx
⚠️ Warn: Project is vulnerable to: PYSEC-2023-165 / GHSA-cwvm-v4w8-q58c
⚠️ Warn: Project is vulnerable to: PYSEC-2022-42992 / GHSA-hcpj-qp55-gfph
⚠️ Warn: Project is vulnerable to: PYSEC-2023-137 / GHSA-pr76-5cm5-w9cj
⚠️ Warn: Project is vulnerable to: PYSEC-2023-161 / GHSA-wfm5-v35h-vwf4
⚠️ Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h
⚠️ Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7
⚠️ Warn: Project is vulnerable to: GHSA-gmj6-6f8f-6699
⚠️ Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95
⚠️ Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj
⚠️ Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h
⚠️ Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7
⚠️ Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56
⚠️ Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q
⚠️ Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf
⚠️ Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5
⚠️ Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf
⚠️ Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4
⚠️ Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v
⚠️ Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f
⚠️ Warn: Project is vulnerable to: GHSA-jfmj-5v4g-7637
N/A
Packaging
Not Applicable

packaging workflow not detected

Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.

Show details
⚠️ Warn: no GitHub/GitLab publishing workflow detected.
N/A
Signed-Releases
Not Applicable

no releases found

Determines if the project cryptographically signs release artifacts.