summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/trio/Manifest1
-rw-r--r--dev-python/trio/metadata.xml21
-rw-r--r--dev-python/trio/trio-0.19.0.ebuild54
3 files changed, 76 insertions, 0 deletions
diff --git a/dev-python/trio/Manifest b/dev-python/trio/Manifest
new file mode 100644
index 00000000000..3a72c2dee33
--- /dev/null
+++ b/dev-python/trio/Manifest
@@ -0,0 +1 @@
+DIST trio-0.19.0.tar.gz 486036 BLAKE2B 052cadb8d251960b20349659b92f4d26c5b65128cbbfafee21a4a4b90463e43d9c9db6b35f3659d2b062c7d0b8b8914b31b38d2faed6c9d948c0ccbe85a0a250 SHA512 5297a3f48b786eac05b686f1e8bb0603a9c0133d6c4872a307cdc8f1e37aedb57d668b61c2568c82b7d1058b6604a22d2c5c2298f13d13f0daf8e9259aa76d7c
diff --git a/dev-python/trio/metadata.xml b/dev-python/trio/metadata.xml
new file mode 100644
index 00000000000..1bb5fd59d25
--- /dev/null
+++ b/dev-python/trio/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <longdescription lang="en">
+The Trio project's goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python. Like all async libraries, its main purpose is to help you write programs that do multiple things at the same time with parallelized I/O. A web spider that wants to fetch lots of pages in parallel, a web server that needs to juggle lots of downloads and websocket connections at the same time, a process supervisor monitoring multiple subprocesses... that sort of thing. Compared to other libraries, Trio attempts to distinguish itself with an obsessive focus on usability and correctness. Concurrency is complicated; we try to make it easy to get things right.
+
+Trio was built from the ground up to take advantage of the latest Python features, and draws inspiration from many sources, in particular Dave Beazley's Curio. The resulting design is radically simpler than older competitors like asyncio and Twisted, yet just as capable. Trio is the Python I/O library I always wanted; I find it makes building I/O-oriented programs easier, less error-prone, and just plain more fun. Perhaps you'll find the same.
+
+This project is young and still somewhat experimental: the overall design is solid and the existing features are fully tested and documented, but you may encounter missing functionality or rough edges. We do encourage you to use it, but you should read and subscribe to issue #1 to get warning and a chance to give feedback about any compatibility-breaking changes.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">python-trio/trio</remote-id>
+ <remote-id type="pypi">trio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/trio/trio-0.19.0.ebuild b/dev-python/trio/trio-0.19.0.ebuild
new file mode 100644
index 00000000000..14417d4fa8a
--- /dev/null
+++ b/dev-python/trio/trio-0.19.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..9} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for async concurrency and I/O"
+HOMEPAGE="
+ https://github.com/python-trio/trio
+ https://pypi.org/project/trio
+"
+SRC_URI="https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/async_generator-1.9[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/outcome[${PYTHON_USEDEP}]
+ dev-python/sniffio[${PYTHON_USEDEP}]
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/astor-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.6[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.18.0[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pylint[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests --install pytest
+distutils_enable_sphinx docs/source \
+ dev-python/immutables \
+ dev-python/sphinxcontrib-trio \
+ dev-python/sphinx_rtd_theme \
+ dev-python/towncrier
+
+python_prepare_all() {
+ # these tests require internet access
+ rm trio/tests/test_ssl.py || die
+ rm trio/tests/test_highlevel_ssl_helpers.py || die
+
+ distutils-r1_python_prepare_all
+}