My basic port scanner. Used as an experience project to better my understanding of the basics of cyber security!
- Packaging via
pyproject.toml - Developer dependencies via
requirements-dev.txt - Formatting and linting via
ruff - Type checking via
mypy - Test runner via
pytest - Pre-commit hooks via
pre-commit - CI workflow via GitHub Actions
- License file for reuse
python3 -m venv .venv
source .venv/bin/activatepython3 -m pip install --upgrade pip
python3 -m pip install -r requirements-dev.txt
pre-commit installRun these directly or via make shortcuts.
make format # Format code
make lint # Lint code
make typecheck # Run mypy
make test # Run tests
make check # Lint + typecheck + tests
make run # Run scanner.pyEquivalent direct commands:
ruff format .
ruff check .
mypy scanner.py
pytest
python3 scanner.pyPort-Scanner/
.github/workflows/ci.yml
.pre-commit-config.yaml
LICENSE
Makefile
pyproject.toml
README.md
requirements-dev.txt
scanner.py
tests/
scanner.pyis the intended entry point for your scanner logic.- The scaffold is ready for contributors to clone, install, and run quality checks consistently.