Project Structure
From a development point of view (landing page not included), the project resides on multiple platforms:
- GitHub for:
- Code versioning for:
- Python 3 codebase
- Configuration files for IDEs, linters, and formatters
- Configuration files for services (for example, DeepSource via
.deepsource.toml
)
- Issues tracking
- Workflows for:
- Running unit tests and posting coverage information to Coveralls, but only after each commit or pull request on
main
branch - Performing various automatic update actions (for example, for updating the solutions' table in
README.md
)
- Running unit tests and posting coverage information to Coveralls, but only after each commit or pull request on
- Code versioning for:
- PyPi for:
- Hosting our Python 3 package,
mutablesecurity
- Hosting the dependencies that our codebase uses
- Hosting our Python 3 package,
- DeepSource for statically scanning the Python codebase for vulnerabilities, style and documentation inconsistencies
- Snyk for vulnerability and dependency scanning
- Coveralls for storing coverage information
- Dependabot for automatically updating (process named bumping) Python dependencies
- Cloudflare for:
- Hosting the website
- Hosting the Debian archive
In terms of production dependencies, the most used packages are:
- pyinfra for connecting to hosts and executing commands
- Click and Rich, for creating our beautiful command line interface.