Skip to content

Conversation

@gpauloski
Copy link
Collaborator

Description

Switches configuration models from Python dataclasses to Pydantic BaseModels. Since dataclasses don't provide type validation, we previously used tosholi to do type validation, but Pydantic provides better type validation support and better maintenance. Because tosholi is no longer needed, I've added the proxystore.utils.config module with TOML configuration file loading/dumping.

Fixes

Type of Change

  • Breaking Change (fix or enhancement which changes existing semantics of the public interface)
  • Enhancement (new features or improvements to existing functionality)
  • Bug (fixes for a bug or issue)
  • Internal (refactoring, style changes, testing, optimizations)
  • Documentation update (changes to documentation or examples)
  • Package (dependencies, versions, package metadata)
  • Development (CI workflows, pre-commit, linters, templates)
  • Security (security related changes)

Testing

Added new unit tests where relevant and updated old unit tests. Also verified that endpoint config loading worked from the CLI with new and old configs.

Pull Request Checklist

Please confirm the PR meets the following requirements.

  • Tags added to PR (e.g., breaking, bug, enhancement, internal, documentation, package, development, security).
  • Code changes pass pre-commit (e.g., mypy, ruff, etc.).
  • Tests have been added to show the fix is effective or that the new feature works.
  • New and existing unit tests pass locally with the changes.
  • Docs have been updated and reviewed if relevant.

@gpauloski gpauloski added enhancement New features or improvements to existing functionality package Dependencies, version changes, or package metadata labels Jan 16, 2024
@gpauloski gpauloski merged commit c14af3e into main Jan 16, 2024
@gpauloski gpauloski deleted the issue-443 branch January 16, 2024 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New features or improvements to existing functionality package Dependencies, version changes, or package metadata

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switch from tosholi to pydantic for config loading

2 participants