# morrowkowka/python-hello-world

- Platform link: https://sourcecraft.dev/morrowkowka/python-hello-world
- Snapshot date: 2026-10-08
- Generated at: 2026-10-09 10:08 UTC

## Score

**48–56** (D–C — room to grow–not bad), applicable weight 80%.

## Categories

| Category | Weight (nominal / applied) | State | Score | Coverage |
| --- | --- | --- | --- | --- |
| Documentation and best practices | 20 / 25 | scored | 10.74 | 100% |
| CI/CD | 15 / 18.75 | partial | 40–80 | 60% |
| Security | 20 / 0 | no data | – | 0% |
| Project activity | 20 / 25 | scored | 70.01 | 100% |
| Issues | 15 / 18.75 | scored | 43.76 | 100% |
| Code health | 10 / 12.5 | scored | 100 | 100% |

## Strengths

- **TODO/FIXME density** (Code health): earned 12.5 of 12.5
- **SourceCraft CI configuration** (CI/CD): earned 7.5 of 7.5
- **last commit** (Project activity): earned 3.13 of 3.13
- **commits in the last year** (Project activity): earned 3.13 of 3.13
- **weekly activity** (Project activity): earned 3.13 of 3.13

## Recommendations

- **respond to issues** [critical] (Issues) — share of unanswered issues, may return up to +9.38 (an outside contributor gets an answer, and their work is not lost)
- **add a quickstart section to the README** [critical] (Documentation and best practices) — README, may return up to +5 (a newcomer can tell how to run the project and where to look)
- **run CI on pull requests, not only on pushes to the default branch** [medium] (CI/CD) — CI configuration contents, may return up to +3.75 (a change is reviewed, and the history stays readable)
- **respond to pull requests** [medium] (Project activity) — share of unanswered pull requests, may return up to +2.75 (an outside contributor gets an answer, and their work is not lost)
- **add a license file** [medium] (Documentation and best practices) — license file, may return up to +2.38 (the terms of use are stated, not guessed)
- **write tests for the project** [medium] (Documentation and best practices) — tests directory, may return up to +2.38 (the build and the checks are reproducible for whoever takes the code)
- **write project documentation** [medium] (Documentation and best practices) — docs directory, may return up to +2.38 (a newcomer can tell how to run the project and where to look)
- **containerize the project — add a Dockerfile** [medium] (Documentation and best practices) — Dockerfile, may return up to +2.38 (a newcomer can tell how to run the project and where to look)
- **add a dependency lockfile** [medium] (Documentation and best practices) — dependency lockfile, may return up to +2.38 (the build and the checks are reproducible for whoever takes the code)
- **set up a review policy** [medium] (Documentation and best practices) — review policy, may return up to +2.38 (a change is reviewed, and the history stays readable)
- **close pull requests** [optional] (Project activity) — share of closed pull requests, may return up to +1.74 (an outside contributor gets an answer, and their work is not lost)
- **share the work with other contributors** [optional] (Project activity) — top author's share of commits, may return up to +1.66 (the work does not rest on a single person)
- **add a contributing guide** [optional] (Documentation and best practices) — contributing guide, may return up to +1.19 (an outside contributor gets an answer, and their work is not lost)
- **set up a branch protection policy** [optional] (Documentation and best practices) — branch protection policy, may return up to +1.19 (a change is reviewed, and the history stays readable)
- **work through the stale open issues** [optional] (Issues) — age of open issues, may return up to +1.17 (an outside contributor gets an answer, and their work is not lost)
- **publish a release or tag a version** [optional] (Project activity) — last release, may return up to +0.72 (the build and the checks are reproducible for whoever takes the code)
- **write meaningful commit messages** [optional] (Documentation and best practices) — share of short commit messages, may return up to +0.65 (a change is reviewed, and the history stays readable)
- **bring in a second maintainer** [optional] (Project activity) — unique authors, may return up to +0.63 (the work does not rest on a single person)

## Not measured — interval width

Not a penalty: the lower bound of the score counts the metric as zero, the upper bound as full.

- **CI/CD** — partial
  - CI runs: up to −7.5 — access to the source is closed

## Not counted in the score, and why

- **Security** — no data
  - the basis was not saved: there was nothing to measure, or the reason was not recorded in the snapshot
