Skip to content

Rename frozen_field to field with frozen parameter#11

Merged
Glinte merged 1 commit into
mainfrom
codex/rename-frozen_field-to-field-with-frozen-param
Aug 7, 2025
Merged

Rename frozen_field to field with frozen parameter#11
Glinte merged 1 commit into
mainfrom
codex/rename-frozen_field-to-field-with-frozen-param

Conversation

@Glinte

@Glinte Glinte commented Aug 7, 2025

Copy link
Copy Markdown
Owner

Summary

  • introduce field(frozen=True) helper to create immutable dataclass fields
  • update documentation and tests to use the new field API

Testing

  • ruff check
  • pytest

https://chatgpt.com/codex/tasks/task_e_68947a2bae0c8322b6eb2b5738e423c9

@Glinte
Glinte force-pushed the codex/rename-frozen_field-to-field-with-frozen-param branch from 9405619 to 54db99b Compare August 7, 2025 13:16
@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@Glinte
Glinte force-pushed the codex/rename-frozen_field-to-field-with-frozen-param branch from 54db99b to ed722ce Compare August 7, 2025 13:17
@Glinte
Glinte requested a review from Copilot August 7, 2025 13:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 replaces the frozen_field() function with a more unified field(frozen=True) API that mimics the standard dataclasses API. The change makes the library more intuitive by providing a single field function with an optional frozen parameter instead of requiring a separate function for frozen fields.

  • Introduce new field() function with frozen parameter to replace frozen_field()
  • Update all tests and documentation to use the new unified API
  • Maintain backward compatibility by keeping the frozen field functionality intact

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
semimutable/init.py Implements new unified field() function with frozen parameter and updates internal documentation
tests/test_semimutable_dataclass.py Updates test cases to use field(frozen=True) instead of frozen_field()
tests/test_identical_behaviour.py Updates behavioral comparison tests to use new API
README.md Updates usage documentation to demonstrate new field(frozen=True) syntax

Comment thread semimutable/__init__.py
Comment thread semimutable/__init__.py
@Glinte
Glinte merged commit d72a7fa into main Aug 7, 2025
2 checks passed
@Glinte
Glinte deleted the codex/rename-frozen_field-to-field-with-frozen-param branch August 7, 2025 13:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants