Conversation
…t too Adds an "email" extra (pyproject.toml) pinning the same email-validator dependency as the existing "email-dns" extra, which is kept as an alias. "email" mirrors pydantic's own `pip install pydantic[email]` naming and is the name error messages/docs now point to first. Documents a finding from testing this: Pydantic's own EmailStr -- not just DeliverableEmailStr/check_deliverability -- requires email-validator just to *define* a model field with that type, not only to validate a value. A FormModel with an EmailStr field raises ImportError at class-definition time without it. Since EmailStr is this library's own recommended type for email fields throughout the README/docs/AI instructions, that makes the extra a practical requirement for most real usage, not just the DNS-check feature. Added a callout for this in README.md's Install section, validation_guide.md, and the packaged AI-assistant instructions (next to the main worked example, where an assistant is most likely to generate an EmailStr field). Also updates EmailDeliverabilityRule/DeliverableEmailStr's docstrings and ImportError message, and FormBuilder.email_input()'s docstring, to point to [email] while keeping the [email-dns] substring in the ImportError text for backward compatibility with the existing regex-matching test. Added a packaging regression test asserting pyproject.toml keeps both extras declared and pointing at the same dependency. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Motivation and Rationale
This pull request consolidates the demo application and its release process into the monorepo, as part of the ongoing monorepo rollout. The motivation is to simplify release orchestration, reduce maintenance overhead, and ensure the demo app is always aligned with the main package. This change also improves privacy defaults and developer clarity for analytics, requirements, and packaging.
Key Improvements
demo-pydantic-schemaformsrepository is deprecated. All demo runtime code, requirements, and Dockerfile are now underdemo_app/in the main repository, with no history preservation required.emailextra when using email-related field types, reducing confusion and installation friction.Why This Improves the Project
This PR is a major step in completing the monorepo demo/app consolidation and modernizing our release and privacy practices.