OWASP/pytm
A Pythonic framework for threat modeling observed · 2026-08-28
Health v2 · maintenance only
85/100
- Activity 98
- Release rhythm 60
- Longevity 100
Flags: no_license
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3033
- days_rel: 58
- days_push: 14
- n_releases_24m: 1
Adoption not part of the score
1156 stars · 228 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
pytm is a Pythonic framework from OWASP for threat modeling systems as code. Developers define their architecture in Python and it automatically generates data flow diagrams, sequence diagrams, and relevant threats.
Use cases
- automate threat modeling for my system architecture
- generate a data flow diagram from code
- find threats in my design before implementation
- shift security threat modeling left in the SDLC
- generate sequence diagrams for my architecture
- do threat modeling as part of CI
When to choose
- you want developer-centric, code-based threat modeling instead of manual diagrams
- you need automated DFD, sequence diagram, and threat report generation
- you want to integrate threat modeling into CI/CD pipelines
When to avoid
- you need a GUI-based visual threat modeling tool
- you work on Windows natively without WSL
- you cannot install Java, Graphviz, and PlantUML dependencies
Facets
framework · maturity active
security developer-tools documentation cli security developer-tools python cli threat-modeling data-flow-diagram sequence-diagram owasp shift-left-security secure-development automation linux macos
2 sources
- readme: https://github.com/OWASP/pytm · fetched 2026-08-28 · 89a85c7a72dd
- registry_pypi: https://pypi.org/pypi/pytm/json · fetched 2026-08-29 · fc0e8a7e2282
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| OWASP/pytm | main | 85 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem