goconst counts occurrences across the whole package (including test files) when deciding whether to flag a non-test file — the exclusion only suppresses reports FROM test files. Add unexported constants for severity levels, CVSS types, ecosystem, and reference types in client.go, and update client_test.go to use them so the total raw-string count per literal drops below threshold. |
||
|---|---|---|
| .. | ||
| 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