diff --git a/python/py-h11/Makefile b/python/py-h11/Makefile new file mode 100644 index 00000000..0ea32517 --- /dev/null +++ b/python/py-h11/Makefile @@ -0,0 +1,19 @@ +# Created by: Muhammad Moinur Rahman +# $FreeBSD: head/net/py-h11/Makefile 502242 2019-05-22 02:33:44Z bofh $ + +PORTNAME= h11 +PORTVERSION= 0.9.0 +CATEGORIES= net python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= bofh@FreeBSD.org +COMMENT= Pure-Python, bring-your-own-I/O implementation of HTTP/1.1 + + +USES= python +USE_PYTHON= autoplist distutils + +NO_ARCH= yes + +.include diff --git a/python/py-h11/distinfo b/python/py-h11/distinfo new file mode 100644 index 00000000..880f532d --- /dev/null +++ b/python/py-h11/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1558482303 +SHA256 (h11-0.9.0.tar.gz) = 33d4bca7be0fa039f4e84d50ab00531047e53d6ee8ffbc83501ea602c169cae1 +SIZE (h11-0.9.0.tar.gz) = 93331 diff --git a/python/py-h11/pkg-descr b/python/py-h11/pkg-descr new file mode 100644 index 00000000..57d8dd83 --- /dev/null +++ b/python/py-h11/pkg-descr @@ -0,0 +1,4 @@ +This is a little HTTP/1.1 library written from scratch in Python, heavily +inspired by hyper-h2. + +WWW: https://pypi.org/project/h11/ diff --git a/python/py-httptools/Makefile b/python/py-httptools/Makefile new file mode 100644 index 00000000..6865da6e --- /dev/null +++ b/python/py-httptools/Makefile @@ -0,0 +1,21 @@ +# Created by: Po-Chuan Hsieh +# $FreeBSD: head/www/py-httptools/Makefile 526666 2020-02-21 18:57:41Z sunpoet $ + +PORTNAME= httptools +PORTVERSION= 0.1.1 +CATEGORIES= www python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Collection of framework independent HTTP protocol utils + +LIB_DEPENDS= libhttp_parser.so:net/libhttp-parser + +USES= localbase python:3.5+ +USE_PYTHON= autoplist distutils + +post-patch: + @${RM} -r ${WRKSRC}/vendor/ + +.include diff --git a/python/py-httptools/distinfo b/python/py-httptools/distinfo new file mode 100644 index 00000000..c6767920 --- /dev/null +++ b/python/py-httptools/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1582222974 +SHA256 (httptools-0.1.1.tar.gz) = 41b573cf33f64a8f8f3400d0a7faf48e1888582b6f6e02b82b9bd4f0bf7497ce +SIZE (httptools-0.1.1.tar.gz) = 106162 diff --git a/python/py-httptools/files/patch-httptools-parser-parser.c b/python/py-httptools/files/patch-httptools-parser-parser.c new file mode 100644 index 00000000..35bef34a --- /dev/null +++ b/python/py-httptools/files/patch-httptools-parser-parser.c @@ -0,0 +1,11 @@ +--- httptools/parser/parser.c.orig 2019-02-25 19:54:42 UTC ++++ httptools/parser/parser.c +@@ -609,7 +609,7 @@ static CYTHON_INLINE float __PYX_NAN() { + #include + #include "pythread.h" + #include +-#include "../../vendor/http-parser/http_parser.h" ++#include "http_parser.h" + #ifdef _OPENMP + #include + #endif /* _OPENMP */ diff --git a/python/py-httptools/files/patch-setup.py b/python/py-httptools/files/patch-setup.py new file mode 100644 index 00000000..7a96e1f8 --- /dev/null +++ b/python/py-httptools/files/patch-setup.py @@ -0,0 +1,11 @@ +--- setup.py.orig 2020-02-08 00:30:40 UTC ++++ setup.py +@@ -44,7 +44,7 @@ class httptools_build_ext(build_ext): + return + + super().initialize_options() +- self.use_system_http_parser = False ++ self.use_system_http_parser = True + self.cython_always = False + self.cython_annotate = None + self.cython_directives = None diff --git a/python/py-httptools/pkg-descr b/python/py-httptools/pkg-descr new file mode 100644 index 00000000..6b033d6e --- /dev/null +++ b/python/py-httptools/pkg-descr @@ -0,0 +1,4 @@ +httptools is a Python binding for nodejs HTTP parser. It's still in a very early +development stage, expect APIs to break. + +WWW: https://github.com/MagicStack/httptools diff --git a/python/py-pydantic/Makefile b/python/py-pydantic/Makefile new file mode 100644 index 00000000..f85ebf7a --- /dev/null +++ b/python/py-pydantic/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD: head/devel/py-pydantic/Makefile 542167 2020-07-14 00:45:25Z yuri $ + +PORTNAME= pydantic +DISTVERSION= 1.6 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Data validation and settings management using python 3.6 type hinting + + +py36_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dataclasses>=0.6:python/py-dataclasses@${PY_FLAVOR} + +USES= python:3.6+ +USE_PYTHON= distutils autoplist + +.include diff --git a/python/py-pydantic/distinfo b/python/py-pydantic/distinfo new file mode 100644 index 00000000..aa69c893 --- /dev/null +++ b/python/py-pydantic/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1594687427 +SHA256 (pydantic-1.6.tar.gz) = 1998e5f783c37853c6dfc1e6ba3a0cc486798b26920822b569ea883b38fd39eb +SIZE (pydantic-1.6.tar.gz) = 123325 diff --git a/python/py-pydantic/pkg-descr b/python/py-pydantic/pkg-descr new file mode 100644 index 00000000..a97609e7 --- /dev/null +++ b/python/py-pydantic/pkg-descr @@ -0,0 +1,4 @@ +Data validation and settings management using python type hinting. +Define how data should be in pure, canonical python; validate it with pydantic. + +WWW: https://github.com/samuelcolvin/pydantic diff --git a/python/py-uvicorn/Makefile b/python/py-uvicorn/Makefile new file mode 100644 index 00000000..130f37ba --- /dev/null +++ b/python/py-uvicorn/Makefile @@ -0,0 +1,26 @@ +# Created by: Po-Chuan Hsieh +# $FreeBSD: head/www/py-uvicorn/Makefile 540462 2020-06-26 08:45:28Z sunpoet $ + +PORTNAME= uvicorn +PORTVERSION= 0.11.5 +CATEGORIES= www python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Lightning-fast ASGI server + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=7<8:python/py-click@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}h11>=0.8<0.10:python/py-h11@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httptools>=0.1<0.2:python/py-httptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}uvloop>=0.14.0:python/py-uvloop@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}websockets>=8<9:python/py-websockets@${PY_FLAVOR} +#RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}watchgod>=0.6<0.7:devel/py-watchgod@${PY_FLAVOR} + +USES= python:3.6+ +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + + +.include diff --git a/python/py-uvicorn/distinfo b/python/py-uvicorn/distinfo new file mode 100644 index 00000000..d09e2a76 --- /dev/null +++ b/python/py-uvicorn/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1588242136 +SHA256 (uvicorn-0.11.5.tar.gz) = 596eaa8645b6dbc24d6610e335f8ddf5f925b4c4b86fdc7146abb0bf0da65d17 +SIZE (uvicorn-0.11.5.tar.gz) = 29565 diff --git a/python/py-uvicorn/pkg-descr b/python/py-uvicorn/pkg-descr new file mode 100644 index 00000000..63d984fe --- /dev/null +++ b/python/py-uvicorn/pkg-descr @@ -0,0 +1,12 @@ +Uvicorn is a lightning-fast ASGI server implementation, using uvloop and +httptools. + +Until recently Python has lacked a minimal low-level server/application +interface for asyncio frameworks. The ASGI specification fills this gap, and +means we're now able to start building a common set of tooling usable across all +asyncio frameworks. + +Uvicorn currently supports HTTP/1.1 and WebSockets. Support for HTTP/2 is +planned. + +WWW: https://github.com/encode/uvicorn diff --git a/python/py-uvloop/Makefile b/python/py-uvloop/Makefile new file mode 100644 index 00000000..8db2a73e --- /dev/null +++ b/python/py-uvloop/Makefile @@ -0,0 +1,20 @@ +# Created by: Babak Farrokhi +# $FreeBSD: head/devel/py-uvloop/Makefile 517121 2019-11-09 10:39:40Z farrokhi $ + +PORTNAME= uvloop +PORTVERSION= 0.14.0 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= farrokhi@FreeBSD.org +COMMENT= Fast drop-in replacement of asyncio event loop based on libuv + +USES= python:3.5+ +USE_PYTHON= autoplist concurrent distutils + + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/uvloop/loop.so + +.include diff --git a/python/py-uvloop/distinfo b/python/py-uvloop/distinfo new file mode 100644 index 00000000..e1f8f621 --- /dev/null +++ b/python/py-uvloop/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1573061673 +SHA256 (uvloop-0.14.0.tar.gz) = 123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e +SIZE (uvloop-0.14.0.tar.gz) = 2009041 diff --git a/python/py-uvloop/pkg-descr b/python/py-uvloop/pkg-descr new file mode 100644 index 00000000..eba102c8 --- /dev/null +++ b/python/py-uvloop/pkg-descr @@ -0,0 +1,4 @@ +uvloop is a fast, drop-in replacement of the built-in asyncio event loop. +uvloop is implemented in Cython and uses libuv under the hood. + +WWW: https://github.com/MagicStack/uvloop diff --git a/python/py-websockets/Makefile b/python/py-websockets/Makefile new file mode 100644 index 00000000..37a8abca --- /dev/null +++ b/python/py-websockets/Makefile @@ -0,0 +1,19 @@ +# Created by: Emanuel Haupt +# $FreeBSD: head/devel/py-websockets/Makefile 510414 2019-08-31 20:07:10Z ehaupt $ + +PORTNAME= websockets +PORTVERSION= 8.0.2 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= ehaupt@FreeBSD.org +COMMENT= Implementation of the WebSocket Protocol (RFC 6455 & 7692) + +USES= python:3.4+ +USE_PYTHON= autoplist distutils + +post-install: + @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/websockets/speedups.so + +.include diff --git a/python/py-websockets/distinfo b/python/py-websockets/distinfo new file mode 100644 index 00000000..d34ffd80 --- /dev/null +++ b/python/py-websockets/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1567236868 +SHA256 (websockets-8.0.2.tar.gz) = 882a7266fa867a2ebb2c0baaa0f9159cabf131cf18c1b4270d79ad42f9208dc5 +SIZE (websockets-8.0.2.tar.gz) = 57316 diff --git a/python/py-websockets/pkg-descr b/python/py-websockets/pkg-descr new file mode 100644 index 00000000..24f77489 --- /dev/null +++ b/python/py-websockets/pkg-descr @@ -0,0 +1,7 @@ +websockets is a library for building WebSocket servers and clients in Python +with a focus on correctness and simplicity. + +Built on top of asyncio, Python's standard asynchronous I/O framework, it +provides an elegant coroutine-based API. + +WWW: https://pypi.org/project/websockets/