git: 9af436b0654c - main - www/py-httpcore2: New port: Minimal low-level HTTP client
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 19 Jun 2026 06:37:21 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9af436b0654c3aa710a6a8d0ff613de081bc094f
commit 9af436b0654c3aa710a6a8d0ff613de081bc094f
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-06-19 06:24:32 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-06-19 06:37:00 +0000
www/py-httpcore2: New port: Minimal low-level HTTP client
---
www/Makefile | 1 +
www/py-httpcore2/Makefile | 37 +++++++++++++++++++++++++++++++++++++
www/py-httpcore2/distinfo | 3 +++
www/py-httpcore2/pkg-descr | 16 ++++++++++++++++
4 files changed, 57 insertions(+)
diff --git a/www/Makefile b/www/Makefile
index e8b1ccbc1520..d4b1c4b306cc 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -1849,6 +1849,7 @@
SUBDIR += py-http-sf
SUBDIR += py-httpbin
SUBDIR += py-httpcore
+ SUBDIR += py-httpcore2
SUBDIR += py-httpie
SUBDIR += py-httplib2
SUBDIR += py-httpretty
diff --git a/www/py-httpcore2/Makefile b/www/py-httpcore2/Makefile
new file mode 100644
index 000000000000..6b02a68ee576
--- /dev/null
+++ b/www/py-httpcore2/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= httpcore2
+PORTVERSION= 2.4.0
+CATEGORIES= www python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Minimal low-level HTTP client
+WWW= https://github.com/pydantic/httpx2
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatch-fancy-pypi-readme>0:devel/py-hatch-fancy-pypi-readme@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}uv-dynamic-versioning>=0.8.0:devel/py-uv-dynamic-versioning@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}h11>=0.16:net/py-h11@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}truststore>=0.10:security/py-truststore@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+OPTIONS_DEFINE= ASYNCIO HTTP2 SOCKS TRIO
+OPTIONS_DEFAULT= ASYNCIO HTTP2
+
+ASYNCIO_DESC= Asynchronous support via anyio
+HTTP2_DESC= HTTP/2 support
+TRIO_DESC= Asynchronous support via trio
+
+ASYNCIO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}anyio>=4.5.0<5.0:devel/py-anyio@${PY_FLAVOR}
+HTTP2_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}h2>=3<5:www/py-h2@${PY_FLAVOR}
+SOCKS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}socksio>=1<2:net/py-socksio@${PY_FLAVOR}
+TRIO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}trio>=0.22.0<1.0:net/py-trio@${PY_FLAVOR}
+
+.include <bsd.port.mk>
diff --git a/www/py-httpcore2/distinfo b/www/py-httpcore2/distinfo
new file mode 100644
index 000000000000..eeae8ed8a418
--- /dev/null
+++ b/www/py-httpcore2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1781849537
+SHA256 (httpcore2-2.4.0.tar.gz) = 3093a8ab8980d9f910b9cb4351df9186a0ad2350a6284a9107ac9a362a584422
+SIZE (httpcore2-2.4.0.tar.gz) = 64618
diff --git a/www/py-httpcore2/pkg-descr b/www/py-httpcore2/pkg-descr
new file mode 100644
index 000000000000..b8c38e0610ff
--- /dev/null
+++ b/www/py-httpcore2/pkg-descr
@@ -0,0 +1,16 @@
+The HTTP Core package provides a minimal low-level HTTP client, which does one
+thing only. Sending HTTP requests.
+
+It does not provide any high level model abstractions over the API, does not
+handle redirects, multipart uploads, building authentication headers,
+transparent HTTP caching, URL parsing, session cookie handling, content or
+charset decoding, handling JSON, environment based configuration defaults, or
+any of that Jazz.
+
+Some things HTTP Core does do:
+- Sending HTTP requests.
+- Provides both sync and async interfaces.
+- Supports HTTP/1.1 and HTTP/2.
+- Async backend support for asyncio and trio.
+- Automatic connection pooling.
+- HTTP(S) proxy support.