From: Kirill A. Korinsky Subject: Re: [NEW] 3 AI coding agents: claude, crush & and swival (+ deps) To: Daniel Dickman Cc: ports@openbsd.org Date: Fri, 03 Jul 2026 22:25:57 +0200 On Fri, 03 Jul 2026 16:46:33 +0200, Daniel Dickman wrote: > > [1 ] > > > On Fri, 3 Jul 2026, Kirill A. Korinsky wrote: > > > > > Probably I do something wrong. > > > > Can you share a required diff for ports tree? > > > > Right now I've tried to test it as simple as: > > > > Oops. > > www/py-starlette needs an update which I have locally and that update > forces an update of www/py-fastapi which is a starlette reverse dep. > > So here's the diff for starlette and fastapi below and I've reattached the > full swival deps and made a few small fixes on my end. > > You can untar the attached into /usr/ports on top of what I sent before > and apply the diff below for starlette and fastapi. > > Hopefully that works better but let me know if I missed anything else. > So far I spotted only that py-httpx-sse needs py-setuptools_scm. Otherwise it works. So, OK kirill@ to import that devel/swival in a few day, that should allow folks to read ports and maybe catch something else. > Index: py-fastapi/Makefile > =================================================================== > RCS file: /cvs/ports/www/py-fastapi/Makefile,v > diff -u -p -u -r1.5 Makefile > --- py-fastapi/Makefile 20 Feb 2026 14:47:52 -0000 1.5 > +++ py-fastapi/Makefile 3 Jul 2026 14:40:18 -0000 > @@ -1,9 +1,8 @@ > COMMENT = high-performance web framework for building APIs with Python > > -MODPY_DISTV = 0.117.1 > +MODPY_DISTV = 0.139.0 > DISTNAME = fastapi-${MODPY_DISTV} > PKGNAME = py-${DISTNAME} > -REVISION = 0 > > CATEGORIES = www > > @@ -19,11 +18,12 @@ MODULES = lang/python > MODPY_PI = Yes > MODPY_PYBUILD = pdm > # XXX: needs sqlmodel > -MODPY_PYTEST_ARGS = --ignore tests/test_tutorial/test_sql_databases/test_tutorial001.py \ > - --ignore tests/test_tutorial/test_sql_databases/test_tutorial002.py > +MODPY_PYTEST_ARGS = --ignore tests/test_tutorial/test_sql_databases > > +# XXX: needs devel/py-annotated-doc > RUN_DEPENDS = devel/py-pydantic \ > devel/py-typing-extensions \ > + devel/py-typing-inspection \ > www/py-starlette > > # see requirements-tests.txt > Index: py-fastapi/distinfo > =================================================================== > RCS file: /cvs/ports/www/py-fastapi/distinfo,v > diff -u -p -u -r1.2 distinfo > --- py-fastapi/distinfo 2 Nov 2025 15:44:56 -0000 1.2 > +++ py-fastapi/distinfo 3 Jul 2026 14:40:18 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (fastapi-0.117.1.tar.gz) = +y1CCC0isYX5BMoOytLhlbhRAwvWxeTAMtHJgSQMYxo= > -SIZE (fastapi-0.117.1.tar.gz) = 307155 > +SHA256 (fastapi-0.139.0.tar.gz) = mat7LZIiPHbWzxB1erP4nUWzgmf8ILKhNs8C9r6sMUU= > +SIZE (fastapi-0.139.0.tar.gz) = 423016 > Index: py-fastapi/pkg/PLIST > =================================================================== > RCS file: /cvs/ports/www/py-fastapi/pkg/PLIST,v > diff -u -p -u -r1.2 PLIST > --- py-fastapi/pkg/PLIST 23 Oct 2025 13:20:33 -0000 1.2 > +++ py-fastapi/pkg/PLIST 3 Jul 2026 14:40:18 -0000 > @@ -7,6 +7,17 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi-${MODPY_DISTV}.dist-info/entry_points.txt > lib/python${MODPY_VERSION}/site-packages/fastapi-${MODPY_DISTV}.dist-info/licenses/ > lib/python${MODPY_VERSION}/site-packages/fastapi-${MODPY_DISTV}.dist-info/licenses/LICENSE > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/SKILL.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/dependencies.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/other-tools.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/path-operations.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/pydantic.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/responses.md > +lib/python${MODPY_VERSION}/site-packages/fastapi/.agents/skills/fastapi/references/streaming.md > lib/python${MODPY_VERSION}/site-packages/fastapi/__init__.py > lib/python${MODPY_VERSION}/site-packages/fastapi/__main__.py > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}/ > @@ -14,8 +25,6 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > -lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}applications.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}applications.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}background.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -44,6 +53,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}responses.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}routing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}routing.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}sse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}sse.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}staticfiles.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}staticfiles.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}templating.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -56,7 +67,17 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}websockets.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/${MODPY_PYCACHE}websockets.${MODPY_PYC_MAGIC_TAG}pyc > -lib/python${MODPY_VERSION}/site-packages/fastapi/_compat.py > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/__init__.py > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}/ > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}shared.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}shared.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}v2.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/${MODPY_PYCACHE}v2.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/shared.py > +lib/python${MODPY_VERSION}/site-packages/fastapi/_compat/v2.py > lib/python${MODPY_VERSION}/site-packages/fastapi/applications.py > lib/python${MODPY_VERSION}/site-packages/fastapi/background.py > lib/python${MODPY_VERSION}/site-packages/fastapi/cli.py > @@ -82,6 +103,8 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}/ > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}asyncexitstack.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}asyncexitstack.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}cors.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}cors.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}gzip.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > @@ -92,6 +115,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}trustedhost.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}wsgi.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/${MODPY_PYCACHE}wsgi.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/asyncexitstack.py > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/cors.py > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/gzip.py > lib/python${MODPY_VERSION}/site-packages/fastapi/middleware/httpsredirect.py > @@ -143,6 +167,7 @@ lib/python${MODPY_VERSION}/site-packages > lib/python${MODPY_VERSION}/site-packages/fastapi/security/oauth2.py > lib/python${MODPY_VERSION}/site-packages/fastapi/security/open_id_connect_url.py > lib/python${MODPY_VERSION}/site-packages/fastapi/security/utils.py > +lib/python${MODPY_VERSION}/site-packages/fastapi/sse.py > lib/python${MODPY_VERSION}/site-packages/fastapi/staticfiles.py > lib/python${MODPY_VERSION}/site-packages/fastapi/templating.py > lib/python${MODPY_VERSION}/site-packages/fastapi/testclient.py > Index: py-starlette/Makefile > =================================================================== > RCS file: /cvs/ports/www/py-starlette/Makefile,v > diff -u -p -u -r1.4 Makefile > --- py-starlette/Makefile 6 Nov 2025 21:43:37 -0000 1.4 > +++ py-starlette/Makefile 3 Jul 2026 14:40:18 -0000 > @@ -1,6 +1,6 @@ > COMMENT = lightweight ASGI library > > -MODPY_DISTV = 0.48.0 > +MODPY_DISTV = 1.3.1 > > DISTNAME = starlette-${MODPY_DISTV} > PKGNAME = py-${DISTNAME} > Index: py-starlette/distinfo > =================================================================== > RCS file: /cvs/ports/www/py-starlette/distinfo,v > diff -u -p -u -r1.3 distinfo > --- py-starlette/distinfo 21 Oct 2025 21:23:59 -0000 1.3 > +++ py-starlette/distinfo 3 Jul 2026 14:40:18 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (starlette-0.48.0.tar.gz) = fozuRpqKsjUpEVKBEM6QiP3Go32YdpJuc9p85KpMekY= > -SIZE (starlette-0.48.0.tar.gz) = 2652949 > +SHA256 (starlette-1.3.1.tar.gz) = BdAhMZPy+6rmDi7LWTtK3UJirU5GU2tUq+NvEacXJOA= > +SIZE (starlette-1.3.1.tar.gz) = 2703240 > [2 ] -- wbr, Kirill