git: 272b6fb8f52b - main - devel/py-cattrs: Add py-cattrs 1.10.0

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Mon, 28 Feb 2022 12:50:42 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=272b6fb8f52bc0bba505c034f5f545259efccfcd

commit 272b6fb8f52bc0bba505c034f5f545259efccfcd
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-02-28 09:54:41 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-02-28 12:45:54 +0000

    devel/py-cattrs: Add py-cattrs 1.10.0
    
    cattrs is an open source Python library for structuring and unstructuring data.
    cattrs works best with attrs classes, dataclasses and the usual Python
    collections, but other kinds of classes are supported by manually registering
    converters.
    
    Python has a rich set of powerful, easy to use, built-in data types like
    dictionaries, lists and tuples. These data types are also the lingua franca of
    most data serialization libraries, for formats like json, msgpack, yaml or toml.
    
    Data types like this, and mappings like dict s in particular, represent
    unstructured data. Your data is, in all likelihood, structured: not all
    combinations of field names or values are valid inputs to your programs. In
    Python, structured data is better represented with classes and enumerations.
    attrs is an excellent library for declaratively describing the structure of your
    data, and validating it.
    
    When you're handed unstructured data (by your network, file system,
    database...), cattrs helps to convert this data into structured data. When you
    have to convert your structured data into data types other libraries can handle,
    cattrs turns your classes and enumerations into dictionaries, integers and
    strings.
    
    WWW: https://github.com/python-attrs/cattrs
---
 devel/Makefile            |  1 +
 devel/py-cattrs/Makefile  | 28 ++++++++++++++++++++++++++++
 devel/py-cattrs/distinfo  |  3 +++
 devel/py-cattrs/pkg-descr | 23 +++++++++++++++++++++++
 4 files changed, 55 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index e55d0fb13dab..028ad4ffcdae 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4342,6 +4342,7 @@
     SUBDIR += py-case
     SUBDIR += py-castellan
     SUBDIR += py-catalogue
+    SUBDIR += py-cattrs
     SUBDIR += py-cbor
     SUBDIR += py-cbor2
     SUBDIR += py-cclib
diff --git a/devel/py-cattrs/Makefile b/devel/py-cattrs/Makefile
new file mode 100644
index 000000000000..4b38ffc00a15
--- /dev/null
+++ b/devel/py-cattrs/Makefile
@@ -0,0 +1,28 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME=	cattrs
+PORTVERSION=	1.10.0
+CATEGORIES=	devel python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Composable complex class support for attrs and dataclasses
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}attrs>=20:devel/py-attrs@${PY_FLAVOR}
+
+USES=		python:3.7+
+USE_PYTHON=	autoplist concurrent distutils
+
+NO_ARCH=	yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30800
+RUN_DEPENDS+=	${PYTHON_PKGNAMEPREFIX}typing-extensions>=0:devel/py-typing-extensions@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-cattrs/distinfo b/devel/py-cattrs/distinfo
new file mode 100644
index 000000000000..ca739ed89ad2
--- /dev/null
+++ b/devel/py-cattrs/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1643970966
+SHA256 (cattrs-1.10.0.tar.gz) = 211800f725cdecedcbcf4c753bbd22d248312b37d130f06045434acb7d9b34e1
+SIZE (cattrs-1.10.0.tar.gz) = 24893
diff --git a/devel/py-cattrs/pkg-descr b/devel/py-cattrs/pkg-descr
new file mode 100644
index 000000000000..d951efcfb542
--- /dev/null
+++ b/devel/py-cattrs/pkg-descr
@@ -0,0 +1,23 @@
+cattrs is an open source Python library for structuring and unstructuring data.
+cattrs works best with attrs classes, dataclasses and the usual Python
+collections, but other kinds of classes are supported by manually registering
+converters.
+
+Python has a rich set of powerful, easy to use, built-in data types like
+dictionaries, lists and tuples. These data types are also the lingua franca of
+most data serialization libraries, for formats like json, msgpack, yaml or toml.
+
+Data types like this, and mappings like dict s in particular, represent
+unstructured data. Your data is, in all likelihood, structured: not all
+combinations of field names or values are valid inputs to your programs. In
+Python, structured data is better represented with classes and enumerations.
+attrs is an excellent library for declaratively describing the structure of your
+data, and validating it.
+
+When you're handed unstructured data (by your network, file system,
+database...), cattrs helps to convert this data into structured data. When you
+have to convert your structured data into data types other libraries can handle,
+cattrs turns your classes and enumerations into dictionaries, integers and
+strings.
+
+WWW: https://github.com/python-attrs/cattrs