Skip to content

Set up project skeleton with build configuration and CI#1

Open
aidankhogg wants to merge 1 commit into
mainfrom
claude/serene-planck-dzJ8j
Open

Set up project skeleton with build configuration and CI#1
aidankhogg wants to merge 1 commit into
mainfrom
claude/serene-planck-dzJ8j

Conversation

@aidankhogg

Copy link
Copy Markdown
Contributor

Summary

This PR establishes the foundational project structure for PyWeather, including build configuration, development tooling setup, and continuous integration pipelines.

Key Changes

  • Project Configuration: Added pyproject.toml with modern Python packaging standards using Hatchling as the build backend
  • Development Dependencies: Configured dev tools including pytest, pytest-cov, ruff (linting/formatting), and mypy (type checking)
  • CI/CD Pipeline: Added GitHub Actions workflow (.github/workflows/ci.yml) with three jobs:
    • Linting and formatting checks using ruff
    • Test matrix across Python 3.10, 3.11, and 3.12
    • Type checking with mypy
  • Documentation: Expanded README with installation instructions, development setup, and command references
  • Changelog: Added CHANGELOG.md following Keep a Changelog format
  • Package Structure: Created src/pyweather/ package with version metadata
  • Test Suite: Added initial test file with version validation

Notable Details

  • Minimum Python version set to 3.10
  • Strict mypy configuration enabled for type safety
  • Ruff configured with line length of 88 characters and selective rule set (E, F, I, UP)
  • Test coverage reporting integrated with pytest-cov
  • Package metadata includes GPL-3.0 license and project URLs

https://claude.ai/code/session_01E67vXnnhvttsvkdoeUegDa

- src/pyweather layout with version, __init__.py
- pyproject.toml (hatchling build, ruff, mypy, pytest+cov config)
- pytest smoke test with 100% coverage
- GitHub Actions CI: lint, test matrix (3.10–3.12), typecheck
- CHANGELOG.md (Keep a Changelog format)
- README with install/dev instructions

https://claude.ai/code/session_01E67vXnnhvttsvkdoeUegDa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants