Skip to content

⚙️ FEATURE-#11: Move AppendedUID and IMAPHost to email_profile.types#17

Merged
FernandoCelmer merged 2 commits into
developfrom
feature/11
Apr 16, 2026
Merged

⚙️ FEATURE-#11: Move AppendedUID and IMAPHost to email_profile.types#17
FernandoCelmer merged 2 commits into
developfrom
feature/11

Conversation

@FernandoCelmer
Copy link
Copy Markdown
Member

Closes #11

Summary

Both AppendedUID and IMAPHost are return-type value objects that the user rarely instantiates directly. Moving them to a dedicated email_profile/types.py module makes their role explicit and keeps mailbox.py / providers.py focused on behaviour.

Backwards compatibility

Existing imports keep working — mailbox.py and providers.py re-export the symbols:

from email_profile.mailbox import AppendedUID   # still works
from email_profile.providers import IMAPHost    # still works
from email_profile.types import AppendedUID, IMAPHost   # new canonical location

Changes

  • email_profile/types.py (new) — holds the two frozen dataclasses.
  • email_profile/mailbox.py — imports AppendedUID from types; definition removed locally.
  • email_profile/providers.py — imports IMAPHost from types; definition removed locally.

Test plan

  • 131 tests pass
  • ruff + format clean

@FernandoCelmer FernandoCelmer merged commit 7469874 into develop Apr 16, 2026
11 checks passed
@FernandoCelmer FernandoCelmer deleted the feature/11 branch April 16, 2026 00:04
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.

1 participant