Skip to content

Conversation

@Layf21
Copy link
Owner

@Layf21 Layf21 commented Nov 17, 2025

Motivation

The current state of the main branch is messy as this project started out as a private repo. With this, I am going to transition to a manageable and clean environment.

Overview

This is a very large PR focusing on cleaning up this project and setting up a future-proof development environment.

Changes

Build & Packaging

  • Switch to Hatch build system
  • Switched to dynamic versioning with hatch-vcs (fallback 0.0.0)
  • Removed requirements.txt

CI/CD & Automation

  • Add CI workflow
  • Added bump-version workflow
  • Added publish workflow
  • Added version-tagging workflow

Code Quality & Tooling

  • Add pre-commit hooks
  • Add Ruff linting and formatting
  • Added typehints and mypy typechecking
  • Added Docstrings
  • Many smaller improvements to make the codebase pass all quality tests

Tests & Examples

  • Added tests
  • Overhaul example.py

Documentation

  • Overhaul README.md

Breaking changes

  • Switched versioning system from CalVer to SemVer
  • Component.parameters is now of type dict[str, Parameter] with parameter ids as keys
  • Attributes are now all snake_case instead of camelCase:
    • Facility
      • equipmentNumber -> equipment_number
      • allowMessages -> allow_messages
      • allowMessages -> allow_messages
      • subscribedNotifications -> subscribed_notifications
      • pictureUrl -> picture_url
      • protocol3200Info -> protocol_3200_info
      • hoursSinceLastMaintenance -> hours_since_last_maintenance
      • operationHours -> operation_hours
      • facilityGeneration -> facility_generation
    • UserData
      • pictureUrl -> picture_url
      • facilityCount -> facility_count

Switched from Setuptools to hatch.
Switched from CalVer to SemVer.
Introduced breaking changes by using snake case everywhere.
Established consistent linter and typechecking settings by switching to hatch
Breaking change: Component.parameter is now a dict instead of a list.
- Added bump-version workflow
- Added publish workflow
- Set fallback-version for hatch-vcs to 0.0.0
- Remove master branch from ci workflow
@Layf21 Layf21 merged commit 252d9ce into dev Nov 17, 2025
1 check passed
@Layf21 Layf21 deleted the feature/modernize branch November 17, 2025 09:14
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