Skip to content

Pydantic import error : BaseSettings has been moved to the pydantic-settings package. #69

@tcaminel-pro

Description

@tcaminel-pro

Checklist

  • I have searched the existing issues for similar issues.
  • I added a very descriptive title to this issue.
  • I have provided sufficient information below to help reproduce this issue.

Summary

streamlit-pydantic does not work with recent Pydantic versions

When importing the module , we have : Pydantic import error : BaseSettings has been moved to the pydantic-settings package.

Reproducible Code Example

import streamlit as st
import streamlit_pydantic as sp
from pydantic import BaseModel


class ExampleModel(BaseModel):
    some_text: str
    some_number: int
    some_boolean: bool

data = sp.pydantic_form(key="my_sample_form", model=ExampleModel)
if data:
    st.json(data.model_dump())

Steps To Reproduce

Just run basic examples

Expected Behavior

No response

Current Behavior

Traceback (most recent call last):
File "/home/tcl/prj/genai-blueprint/python/test.py", line 2, in
import streamlit_pydantic as sp
File "/home/tcl/.cache/pypoetry/virtualenvs/genai-blueprint-2X6HL8i2-py3.12/lib/python3.12/site-packages/streamlit_pydantic/init.py", line 9, in
from .settings import StreamlitSettings
File "/home/tcl/.cache/pypoetry/virtualenvs/genai-blueprint-2X6HL8i2-py3.12/lib/python3.12/site-packages/streamlit_pydantic/settings.py", line 4, in
from pydantic import BaseSettings
File "/home/tcl/.cache/pypoetry/virtualenvs/genai-blueprint-2X6HL8i2-py3.12/lib/python3.12/site-packages/pydantic/init.py", line 412, in getattr
return _getattr_migration(attr_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/tcl/.cache/pypoetry/virtualenvs/genai-blueprint-2X6HL8i2-py3.12/lib/python3.12/site-packages/pydantic/_migration.py", line 296, in wrapper
raise PydanticImportError(
pydantic.errors.PydanticImportError: BaseSettings has been moved to the pydantic-settings package. See https://docs.pydantic.dev/2.10/migration/#basesettings-has-moved-to-pydantic-settings for more details.

Is this a regression?

  • Yes, this used to work in a previous version.

Debug info

  • streamlit-pydantic version: 0.6
  • Python version: 3.12
  • Pydantic version : 2.10

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions