Add project setup: layout, pyproject, constants, Doxyfile, README #16

Merged
Tirsvad merged 1 commits from mil-001-project-setup into main 2026-10-04 15:50:20 +02:00
Owner

Summary

  • Add the project foundation for gateway MIL-001 (Gateway 1 - Project Setup): pyproject.toml (Python >=3.13, src layout, no runtime dependencies, optional dev extras), the src/blackjack/ package with constants.py, a smoke test, a Doxyfile and a README.md.
  • README documents creating the local .venv, python -m pip install --upgrade pip, installing, running, testing, linting and generating Doxygen docs.
  • Set the repository description and topics on the git host through its API (no file change).

Issues

Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6

Verification

  • Fresh .venv: python -m pip install -e ".[dev]" succeeds on Python 3.13.
  • python -m unittest discover -s tests: 3 tests pass.
  • ruff check, ruff format --check (on src and tests) and mypy --strict src are clean.
  • doxygen Doxyfile runs and I saw no warnings in its output.
  • .env is git-ignored and not referenced under src/ or tests/.

Review notes

  • Tests are unittest-style, so both python -m unittest and pytest work.
  • Emoji cards use keycap emoji (🅰️, 2️⃣ to 9️⃣, 🔟), so 10, J, Q and K look the same.
  • The README mentions python -m blackjack, which arrives in MIL-002 (Gateway 2).
## Summary - Add the project foundation for gateway MIL-001 (Gateway 1 - Project Setup): `pyproject.toml` (Python >=3.13, src layout, no runtime dependencies, optional dev extras), the `src/blackjack/` package with `constants.py`, a smoke test, a `Doxyfile` and a `README.md`. - README documents creating the local `.venv`, `python -m pip install --upgrade pip`, installing, running, testing, linting and generating Doxygen docs. - Set the repository description and topics on the git host through its API (no file change). ## Issues Closes #1 Closes #2 Closes #3 Closes #4 Closes #5 Closes #6 ## Verification - Fresh `.venv`: `python -m pip install -e ".[dev]"` succeeds on Python 3.13. - `python -m unittest discover -s tests`: 3 tests pass. - `ruff check`, `ruff format --check` (on `src` and `tests`) and `mypy --strict src` are clean. - `doxygen Doxyfile` runs and I saw no warnings in its output. - `.env` is git-ignored and not referenced under `src/` or `tests/`. ## Review notes - Tests are unittest-style, so both `python -m unittest` and `pytest` work. - Emoji cards use keycap emoji (🅰️, 2️⃣ to 9️⃣, 🔟), so 10, J, Q and K look the same. - The README mentions `python -m blackjack`, which arrives in MIL-002 (Gateway 2).
Tirsvad added 1 commit 2026-10-04 15:50:10 +02:00
Set up the Blackjack project foundation for gateway MIL-001.

- pyproject.toml: Python >=3.13, src layout, no runtime dependencies,
  optional dev extras (ruff, mypy, pytest) and their configuration
- src/blackjack/: package with constants.py (deck, scoring thresholds,
  emoji card faces) and Doxygen-style docstrings
- tests/test_package.py: smoke tests for the package and its constants
- Doxyfile: reads src/, writes HTML to docs/doxygen/
- README.md: venv setup with pip upgrade, run, test, lint and Doxygen
  instructions
- .gitignore: ignore generated docs/doxygen/

The repository description and topics were set on the git host through
its API (no file change).

Closes #1
Closes #2
Closes #3
Closes #4
Closes #5
Closes #6

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
Tirsvad merged commit 3381855019 into main 2026-10-04 15:50:20 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Tirsvad-Udemy-100_days_of_code/011-black-jack#16