diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/Manifest
index 6419f0b799..3d7b80e8fb 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/Manifest
+++ b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/Manifest
@@ -1,4 +1,3 @@
-DIST pydantic-1.10.7.gh.tar.gz 903379 BLAKE2B b2dd75a640ca54024a2bf141117a1d738a30a4630bed8f4d0169fc5a6a55ded719727d88c7e78b9a2acc3aec68482e9be8c8bf4776fef668fe4acc3e1fd775df SHA512 948a7935b374719773df50243aed708b3c6789243b9aa0ba239cf1502ddd0e0cec4d701e108f1cc78090c088f3cb1c78b840c39f5e7ad0e61739776f552f284d
-DIST pydantic-1.10.8.gh.tar.gz 765592 BLAKE2B 0b4cc273ce6fad20baa7c8bd87ef32199cb003f52b8e9aa19eda6359ca0e5c30152c7f25d2bb146ec23027011895cf44d9eb051c6ca609fb00e3d7b5f6089e4e SHA512 3ac41cdf0eb70fb71298131a043966b85387bc953ef2f463ece80728b46251d5d5f66c3f030afc3cdf4527918ae410fcd733a774cbe0c3b7ba9fc806a76378e4
DIST pydantic-1.10.9.gh.tar.gz 765868 BLAKE2B 802c542d75b41ff2926215bf4f6bd68a906d581db7b08ed85577f9021d259717f3ef8dbacfe381723aa042aab8720ad182c57fee188f2436b33d21164e24ba23 SHA512 d376a302eac3427cdc8da0ed2fab01c0b5e7a059447777a53c394a60dac5fa0066488be8553022bb5aa89367d5a2e80e5d6e3cb39d9272843718dd07f6acd11e
-DIST pydantic-2.0b2.tar.gz 527380 BLAKE2B 214c740ecaed3cf4e7ed1e06d75ce17b37028e41c6a7abc4174b201691e31725123f89430c430a514c59973dc327d2b8fcd21c5ef0a47aaa48fafaf7e322d7a1 SHA512 49cc058c91e48638f9809ca77d9c486e3bdfc05e1546b19ca7e419f41e152998f750cfb58927ad8189913859d27fff68de0e5848599baaf816404e0f58fd6646
+DIST pydantic-2.0.tar.gz 572748 BLAKE2B 611bb31065c1016d18137c0b5bfb0c7730243f727c1ffa3e3264f78fe750f31832d7388c177f59e0a676fa1eca7fc102e425fef59f97dc852c17b400723efc63 SHA512 830f5379f623e128f23f6d0672f0005a8b184b646e162be67fc08008f75dff53012c1576f0530ef9f6723ac664cfd662432de8f35cbcf98963ed8a680d697ce9
+DIST pydantic-2.0b3.tar.gz 543489 BLAKE2B 89faa3ca4187840ad2fa8025bfef8fba265eaf88e31a75751aa619e1235af08e33aa3b7a713da9e69119a43316da893b02e669d3e704781f77fe94598db40410 SHA512 db6690d15f91b635f0a4002f81cb9ba15e625ece4172bd355e5aef7058f6f385d0b3d1f7e2cab3e25aa6a5f48f6455965a1adaa18fc5a2ca5845c09804c9a3dd
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/metadata.xml
index 908435493b..52ee265cfe 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/metadata.xml
+++ b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/metadata.xml
@@ -6,6 +6,7 @@
Python
+ cpe:/a:pydantic_project:pydantic
pydantic
pydantic/pydantic
https://github.com/pydantic/pydantic/issues
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.7.ebuild
deleted file mode 100644
index a26efaab1c..0000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.7.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-SRC_URI="
- https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
- test? (
- >=dev-python/email-validator-1.2.1[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/CFLAGS/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
- # do not build extensions on PyPy to workaround
- # https://github.com/cython/cython/issues/4763
- local -x SKIP_CYTHON=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock
-
- local EPYTEST_DESELECT=(
- # flaky test, known upstream
- tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
- # mypy linting causes regressions with new mypy versions
- tests/mypy
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- tests/test_private_attributes.py::test_private_attribute
- tests/test_private_attributes.py::test_private_attribute_annotation
- tests/test_private_attributes.py::test_private_attribute_factory
- tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
- tests/test_private_attributes.py::test_underscore_attrs_are_private
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.8.ebuild
deleted file mode 100644
index 6638bf3876..0000000000
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.8.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-SRC_URI="
- https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- =dev-python/email-validator-1.2.1[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/CFLAGS/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
- # do not build extensions on PyPy to workaround
- # https://github.com/cython/cython/issues/4763
- local -x SKIP_CYTHON=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock
-
- local EPYTEST_DESELECT=(
- # flaky test, known upstream
- tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
- # mypy linting causes regressions with new mypy versions
- tests/mypy
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- tests/test_private_attributes.py::test_private_attribute
- tests/test_private_attributes.py::test_private_attribute_annotation
- tests/test_private_attributes.py::test_private_attribute_factory
- tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
- tests/test_private_attributes.py::test_underscore_attrs_are_private
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
- tests/test_generics.py::test_partial_specification_name
- tests/test_generics.py::test_parse_generic_json
- tests/test_types.py::test_secretfield
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.9.ebuild
index 742af7f9f9..66c8c5dca6 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.9.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-1.10.9.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="native-extensions"
RDEPEND="
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0.ebuild
new file mode 100644
index 0000000000..b4f8b35805
--- /dev/null
+++ b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta2.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta3.ebuild
similarity index 91%
rename from sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta2.ebuild
rename to sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta3.ebuild
index 4160bd9fd8..02674668bc 100644
--- a/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta2.ebuild
+++ b/sdk_container/src/third_party/portage-stable/dev-python/pydantic/pydantic-2.0_beta3.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -20,7 +20,7 @@ KEYWORDS=""
RDEPEND="
>=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-core-0.38.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-0.39.0[${PYTHON_USEDEP}]
>=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
"
BDEPEND="