Migrate .golangci.yml from v1 issues.exclude-rules to v2 linters.exclusions.rules — the v1 key was silently ignored by golangci-lint v2, so test-file goconst exclusions weren't applied. With the config fixed, all test-file violations disappear. Extract severity constants in output.go to fix the 4 remaining non-test goconst violations (CRITICAL/HIGH/MODERATE/ LOW each appear 3x in severityRank, severityBreakdown, and severityColorFn). |
||
|---|---|---|
| .. | ||
| assets | ||
| cmd/angela | ||
| internal | ||
| learn | ||
| pkg/types | ||
| testdata | ||
| .gitignore | ||
| .golangci.yml | ||
| DEMO.md | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
README.md
█████╗ ███╗ ██╗ ██████╗ ███████╗██╗ █████╗
██╔══██╗████╗ ██║██╔════╝ ██╔════╝██║ ██╔══██╗
███████║██╔██╗ ██║██║ ███╗█████╗ ██║ ███████║
██╔══██║██║╚██╗██║██║ ██║██╔══╝ ██║ ██╔══██║
██║ ██║██║ ╚████║╚██████╔╝███████╗███████╗██║ ██║
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
Fast Python dependency updater and vulnerability scanner written in Go.
This is a quick overview — security theory, architecture, and full walkthroughs are in the learn modules.
What It Does
- Scans pyproject.toml and requirements.txt for known CVEs via OSV.dev
- Updates all Python dependencies to latest stable versions in one command
- Parallel queries against PyPI with local ETag caching for speed
- Full PEP 440 version parsing with automatic pre-release filtering
- Comment-preserving file updates that keep your formatting intact
- Configurable via .angela.toml or [tool.angela] in pyproject.toml
Quick Start
go install github.com/CarterPerez-dev/angela/cmd/angela@latest
angela scan
[!TIP] This project uses
justas a command runner. Typejustto see all available commands.Install:
curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin
Commands
| Command | Description |
|---|---|
angela init |
Initialize a new .angela.toml configuration file |
angela update |
Update all Python dependencies to latest stable versions |
angela check |
Preview available updates without modifying files |
angela scan |
Scan dependencies for known CVEs via OSV.dev |
angela cache clear |
Clear the local ETag and version cache |
Learn
This project includes step-by-step learning materials covering security theory, architecture, and implementation.
| Module | Topic |
|---|---|
| 00 - Overview | Prerequisites and quick start |
| 01 - Concepts | Security theory and real-world breaches |
| 02 - Architecture | System design and data flow |
| 03 - Implementation | Code walkthrough |
| 04 - Challenges | Extension ideas and exercises |
License
AGPL 3.0