✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

✨ Support pattern parameter - #1231

Open
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main
Open

✨ Support pattern parameter#1231
stickm4n wants to merge 24 commits into
fastapi:mainfrom
stickm4n:main

Conversation

@stickm4n

@stickm4nstickm4n commented Dec 1, 2024

Copy link
Copy Markdown
Contributor

I faced this issue with Pydantic V2 and there is a simple workaround to it by passing the pattern Field parameter as schema extra:

Ex:

classMyClass(SQLModel)
id: str=Field(unique=True, schema_extra={'pattern': r"^\d{5}$"})

I don't know if this issue was already fixed in another branch, I saw there was a temporary PR already made but closed.

@stickm4n

Copy link
Copy Markdown
ContributorAuthor

@tiangolo@alejsdev or some other maintainer... could you please review this issue?

@svlandegsvlandeg changed the title Add compatibility for Pydantic V2 regex (renamed param from regex to …💥 Rename regex to param to provide compatibility with Pydantic V2Feb 20, 2025
@svlandeg

Copy link
Copy Markdown
Member

Thanks for the PR! We're going through the backlog of PRs right now, and will get back to you once we've had the time to review this and consider the (breaking) change 🙏

@stickm4n

stickm4n commented Feb 22, 2025

Copy link
Copy Markdown
ContributorAuthor

@svlandeg Nice to hear you are taking action on this matter. There is remark, the parameter the was renamed between Pydantic v1 and v2 is regex-> pattern, not as listed in the PR.

The suggestion I made in the PR was to keep both versions compatible when upgrading, but there is an alternative, which is not managing the change between them and just provide the proper type hints.

If you want me to update the PR just let me know, IDK which approach is more adequate for the project.

@YuriiMotov

This comment was marked as resolved.

@stickm4nstickm4n changed the title 💥 Rename regex to param to provide compatibility with Pydantic V2💥 Rename regex to pattern to provide compatibility with Pydantic V2Aug 8, 2025
@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@stickm4n
stickm4nforce-pushed the main branch 2 times, most recently from a5e8961 to 0b9f96fCompareAugust 30, 2025 11:29
@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@stickm4n

This comment was marked as resolved.

@YuriiMotov

This comment was marked as resolved.

@YuriiMotovYuriiMotov added feature New feature or request and removed breaking labels Sep 10, 2025
@YuriiMotovYuriiMotov changed the title 💥 Rename regex to pattern to provide compatibility with Pydantic V2✨ Support pattern parameterSep 10, 2025
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Jan 28, 2026

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

This keep supporting old ways of specifying pattern (regex parameter, and pattern via schema_extra), but emits warnings in these cases. We will remove this support in the future versions.

@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Feb 20, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Feb 21, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Apr 3, 2026
Comment threadsqlmodel/main.py Outdated
@stickm4n
stickm4n requested a review from YuriiMotovApril 5, 2026 07:39

@stickm4nstickm4n left a comment

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@YuriiMotov I added a blocking comment, please review it and let me know if you will address it (since it was your change to clean the code and prepare the PR) or should I? Anyway I will be around... 🤠

PS: Annotations were updated for re.Pattern support.

Comment threadsqlmodel/main.py
@Graphity

Copy link
Copy Markdown

guys what's the news on this?
mind you the regex parameter is ignored in validation and using it blindly could lead to potential bugs.

@YuriiMotovYuriiMotov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

@github-actionsgithub-actionsBot added the conflicts Automatically generated when a PR has a merge conflict label Aug 28, 2026
@github-actions

This comment was marked as resolved.

@github-actionsgithub-actionsBot removed the conflicts Automatically generated when a PR has a merge conflict label Sep 1, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featureNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@stickm4n@svlandeg@YuriiMotov@Graphity