Skip to content

Environment housekeeping#243

Merged
ahouseholder merged 14 commits intomainfrom
modernize-environment
Sep 26, 2025
Merged

Environment housekeeping#243
ahouseholder merged 14 commits intomainfrom
modernize-environment

Conversation

@ahouseholder
Copy link
Contributor

This pull request introduces a range of improvements focused on development tooling, code linting, dependency management, and serialization logic. The most significant changes include the addition and configuration of linting and type-checking tools, updates to dependencies for better compatibility and maintainability, and refactoring of datetime and duration serialization logic to use standard libraries.

Development tooling and linting enhancements:

  • Added and configured .flake8 and .mypy.ini files for code linting and type checking, including per-file ignores and package-specific settings. Also added a .pre-commit-config.yaml to automate code formatting with Black. [1] [2] [3]
  • Expanded the Makefile with targets for setup, dependency upgrades, linting (black, flake8, markdownlint, mypy), testing, and Docker operations to streamline development workflows.

Dependency management:

  • Updated dependencies in pyproject.toml to use more flexible version specifiers (>=), added new development dependencies (flake8, mypy, pre-commit, pandas-stubs, types-networkx), and bumped black to a newer version. [1] [2]
  • Adjusted black target versions to remove support for Python 3.13, focusing on currently supported versions.

Serialization and validation refactoring:

  • Refactored datetime and duration serialization logic in vultron/as_vocab/base/objects/base.py to use the isodate library for durations and Python's built-in datetime.fromisoformat for datetimes, improving standards compliance and reliability. [1] [2] [3]
  • Simplified vultron/as_vocab/base/dt_utils.py by removing custom ISO format encoding/decoding functions in favor of standard library usage. [1] [2]

Minor updates and corrections:

  • Updated copyright years in LICENSE.md and mdlint.sh.
  • Improved markdown linting script to exclude .venv and .git directories. [1] [2]
  • Fixed field naming in vultron/as_vocab/activities/case_participant.py for consistency.
  • Adjusted model config options in vultron/as_vocab/base/base.py for improved validation behavior.

@ahouseholder ahouseholder self-assigned this Sep 26, 2025
@ahouseholder ahouseholder added the tech/environment Changes to project infrastructure label Sep 26, 2025
@ahouseholder ahouseholder added this to the 2025-09 milestone Sep 26, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR focuses on development environment housekeeping by introducing comprehensive linting and type-checking tooling, modernizing dependency management, and refactoring datetime/duration serialization to use standard libraries instead of custom utilities.

Key changes include:

  • Addition of comprehensive development tooling (flake8, mypy, pre-commit) with configuration files and Makefile targets
  • Migration from custom datetime/duration serialization utilities to standard library and isodate package
  • Dependency management improvements with flexible version specifiers and new development dependencies

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
vultron/as_vocab/base/objects/base.py Refactored datetime/duration serialization to use isodate and standard library methods
vultron/as_vocab/base/dt_utils.py Removed custom ISO format encoding/decoding functions, simplified to use standard library
vultron/as_vocab/base/base.py Updated Pydantic model configuration for better validation behavior
vultron/as_vocab/activities/case_participant.py Fixed field naming inconsistency for target field
pyproject.toml Updated dependencies to flexible version specifiers and added development dependencies
mdlint.sh Updated copyright year and improved directory exclusions
Makefile Added comprehensive development workflow targets
LICENSE.md Updated copyright year
.pre-commit-config.yaml Added pre-commit configuration for Black formatting
.mypy.ini Added mypy type checking configuration
.flake8 Added flake8 linting configuration

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

ahouseholder and others added 3 commits September 26, 2025 16:29
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@ahouseholder ahouseholder merged commit d7068b5 into main Sep 26, 2025
6 checks passed
@ahouseholder ahouseholder deleted the modernize-environment branch September 26, 2025 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tech/environment Changes to project infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants