Merge updates from master

This commit is contained in:
Repository mirror & CI
2020-03-29 13:36:28 +00:00
47 changed files with 962 additions and 1 deletions

View File

@@ -0,0 +1 @@
DIST aspectlib-1.4.2.tar.gz 154888 BLAKE2B 0194c2f911126caf5949cf6f0acb5a14c260a7824e456a3e3ba9b150331818dc832469798e89dd3cb3fba549b17098115354aabbc66931365475e53598c0bc96 SHA512 fadb90b625ce2faac8f6d29ee28efaee09b4338c3c516c79d9e8753b7fb2ff45e0033174c5c5302f47f1f9e332824f37d56667fb05e66f85b808e8aa3a086f57

View File

@@ -0,0 +1,45 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="An aspect-oriented programming, monkey-patch and decorators library"
HOMEPAGE="
https://github.com/ionelmc/python-aspectlib
https://pypi.org/project/python-aspectlib
"
SRC_URI="https://github.com/ionelmc/python-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# could not get this working, it tries to do all sorts of weird things
# it calls a tests outside the tests folder, which then fails, removing the file results in import error
RESTRICT="test"
RDEPEND="
dev-python/fields[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/nose[${PYTHON_USEDEP}]
dev-python/process-tests[${PYTHON_USEDEP}]
dev-python/pytest-travis-fold[${PYTHON_USEDEP}]
dev-python/pytest-catchlog[${PYTHON_USEDEP}]
www-servers/tornado[${PYTHON_USEDEP}]
)
"
S="${WORKDIR}/python-${P}"
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-py3doc-enhanced-theme

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
An aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code is desired. It includes tools for debugging and testing: simple mock/record and a complete capture/replay framework.
</longdescription>
<upstream>
<remote-id type="github">ionelmc/python-aspectlib</remote-id>
<remote-id type="pypi">aspectlib</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST autoflake-1.3.1.tar.gz 19756 BLAKE2B 8a172888a8c44483b8771b59bebda841e55455f544197e2f1bce08dfb7cb3dd54e8a616a15a3712609480bc484561ffa27aaa93d9b5e1a573bb1960df96ea9cf SHA512 763bcfc824412129901106ddcaf7104a2bfa5ee86b43d2822b51af5532ea0ac46466b64a004c099dc6fa2a96b23ae959e1ef1eb68c6be0c1e4c08ab9bf174e08

View File

@@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Removes unused imports and unused variables as reported by pyflakes"
HOMEPAGE="
https://github.com/myint/autoflake
https://pypi.org/project/autoflake
"
SRC_URI="https://github.com/myint/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="
>=dev-python/pyflakes-1.1.0[${PYTHON_USEDEP}]
"
RDEPEND="${DEPEND}"
python_test() {
"${EPYTHON}" test_autoflake.py || die
}

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
autoflake removes unused imports and unused variables from Python code. It makes use of pyflakes to do this.
By default, autoflake only removes unused imports for modules that are part of the standard library. (Other modules may have side effects that make them unsafe to remove automatically.) Removal of unused variables is also disabled by default.
autoflake also removes useless pass statements.
</longdescription>
<upstream>
<remote-id type="github">myint/autoflake</remote-id>
<remote-id type="pypi">autoflake</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST httpcore-0.7.0.tar.gz 27932 BLAKE2B f3258a9f83a37bcf62422c6f6c5a911712afa1038378ef64aeda45c9b3e700d0e809e3526f2bc33633ce4dc827465d99298597a8b26b6cb13696f9663fcd5a87 SHA512 f5419ebbe6ff42e782bea127ca778de1d42637a15e0152d69e6b58ca7e3687d560a4b132781390a853595ec7d18a0fa567d5b752debbb7be7f5cc822a5eac3fd

View File

@@ -0,0 +1,60 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="A minimal HTTP client"
HOMEPAGE="
https://github.com/encode/httpcore
https://pypi.org/project/httpcore
"
SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# Temporary failure in name resolution
RESTRICT="test"
# ERROR - Config value: 'theme'. Error: Unrecognised theme name: 'material'. The available installed themes are: mkdocs, readthedocs
#IUSE="doc"
RDEPEND="
dev-python/h11[${PYTHON_USEDEP}]
dev-python/hyper-h2[${PYTHON_USEDEP}]
dev-python/sniffio[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
"
#BDEPEND="
# doc? (
# dev-python/mkautodoc
# dev-python/mkdocs
# dev-python/mkdocs-material
# )
#"
DEPEND="
${RDEPEND}
test? (
dev-python/autoflake[${PYTHON_USEDEP}]
dev-python/black[${PYTHON_USEDEP}]
dev-python/isort[${PYTHON_USEDEP}]
dev-python/mypy[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-trio[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
#python_compile_all() {
# default
# if use doc; then
# mkdocs build || die "failed to make docs"
# HTML_DOCS="site"
# fi
#}

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
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.
</longdescription>
<upstream>
<remote-id type="github">https://github.com/encode/httpcore</remote-id>
<remote-id type="pypi">httpcore</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST hunter-3.1.3.tar.gz 422149 BLAKE2B 2834b3daa6be461b78d468aa331a587a476b7109f5ff9c70b27bb51b26f6a390d2074425f4d98ddc692d4e11f1ee14a77f5066650e82687ebaa586051afab4c8 SHA512 ea9cc935240526d2942568073cecfb2bef32d7caedd0b370850b208a56c652bf356ba0e5675281946419aafd966cbff148490f6f4439d0d808335a3e831adbf7

View File

@@ -0,0 +1,51 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Hunter is a flexible code tracing toolkit"
HOMEPAGE="
https://github.com/ionelmc/python-hunter
https://pypi.org/project/hunter
"
SRC_URI="https://github.com/ionelmc/python-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
dev-python/aspectlib[${PYTHON_USEDEP}]
dev-python/manhole[${PYTHON_USEDEP}]
dev-python/process-tests[${PYTHON_USEDEP}]
dev-python/pytest-benchmark[${PYTHON_USEDEP}]
dev-python/pytest-travis-fold[${PYTHON_USEDEP}]
)
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
>=dev-python/setuptools_scm-3.3.1[${PYTHON_USEDEP}]
"
S="${WORKDIR}/python-${P}"
distutils_enable_tests pytest
distutils_enable_sphinx docs ">=dev-python/sphinx-py3doc-enhanced-theme-2.3.2"
python_prepare_all() {
# all tests in this file fail
rm tests/test_remote.py || die
distutils-r1_python_prepare_all
}

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
Hunter is a flexible code tracing toolkit, not for measuring coverage, but for debugging, logging, inspection and other nefarious purposes. It has a simple Python API, a convenient terminal API and a CLI tool to attach to processes.
Design notes
Hunter doesn't do everything. As a design goal of this library some things are made intentionally austere and verbose (to avoid complexity, confusion and inconsistency). This has few consequences:
There are Operators but there's no negation operator. Instead you're expected to negate a Query object, eg: ~Q(module='re').
There are no specialized operators or filters - all filters behave exactly the same. For example:
No filter for packages. You're expected to filter by module with an operator.
No filter for arguments, return values or variables. You're expected to write your own filter function and deal with the problems of poking into objects.
Layering is minimal. There's are some helpers that do some argument processing and conversions to save you some typing but that's about it.
The library doesn't try to hide the mechanics of tracing in Python - it's 1:1 regarding what Python sends to a trace function if you'd be using sys.settrace.
Doesn't have any storage. You are expected to redirect output to a file.
You should look at it like it's a tool to help you understand and debug big applications, or a framework ridding you of the boring parts of settrace, not something that helps you learn Python.
FAQ
Why not Smiley?
There's some obvious overlap with smiley but there are few fundamental differences:
Complexity. Smiley is simply over-engineered:
It uses IPC and a SQL database.
It has a webserver. Lots of dependencies.
It uses threads. Side-effects and subtle bugs are introduced in your code.
It records everything. Tries to dump any variable. Often fails and stops working.
Why do you need all that just to debug some stuff in a terminal? Simply put, it's a nice idea but the design choices work against you when you're already neck-deep into debugging your own code. In my experience Smiley has been very buggy and unreliable. Your mileage may vary of course.
Tracing long running code. This will make Smiley record lots of data, making it unusable.
Now because Smiley records everything, you'd think it's better suited for short programs. But alas, if your program runs quickly then it's pointless to record the execution. You can just run it again.
It seems there's only one situation where it's reasonable to use Smiley: tracing io-bound apps remotely. Those apps don't execute lots of code, they just wait on network so Smiley's storage won't blow out of proportion and tracing overhead might be acceptable.
Use-cases. It seems to me Smiley's purpose is not really debugging code, but more of a "non interactive monitoring" tool.
In contrast, Hunter is very simple:
Few dependencies.
Low overhead (tracing/filtering code has an optional Cython extension).
No storage. This simplifies lots of things.
The only cost is that you might need to run the code multiple times to get the filtering/actions right. This means Hunter is not really suited for "post-mortem" debugging. If you can't reproduce the problem anymore then Hunter won't be of much help.
Why not pytrace?
Pytrace is another tracer tool. It seems quite similar to Smiley - it uses a sqlite database for the events, threads and IPC, thus it's reasonable to expect the same kind of problems.
Why not PySnooper or snoop?
snoop is a refined version of PySnooper. Both are more suited to tracing small programs or functions as the output is more verbose and less suited to the needs of tracing a big application where Hunter provides more flexible setup, filtering capabilities, speed and brevity.
Why not coverage?
For purposes of debugging coverage is a great tool but only as far as "debugging by looking at what code is (not) run". Checking branch coverage is good but it will only get you as far.
From the other perspective, you'd be wondering if you could use Hunter to measure coverage-like things. You could do it but for that purpose Hunter is very "rough": it has no builtin storage. You'd have to implement your own storage. You can do it but it wouldn't give you any advantage over making your own tracer if you don't need to "pre-filter" whatever you're recording.
In other words, filtering events is the main selling point of Hunter - it's fast (cython implementation) and the query API is flexible enough.
</longdescription>
<upstream>
<remote-id type="github">python-hyper/hyper-h2</remote-id>
<remote-id type="pypi">h2</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1 @@
DIST manhole-1.6.0.tar.gz 30111 BLAKE2B e6cffb465d72d579d3c901b5f163248ea28f3a208d2b487207a4f2d949994b7b778808b19a3bde0047bc71c2fe1865a12f9dcc5ac4f5407745879c8648df6c89 SHA512 179a87529e371c4480b6ab0ad6cc6cc9e3942f4be339cacaf1f1b100e447b8b1f2903a03879e9df3376c86ced4421aa5a16d934c9b250f91715b28d03dca000a

View File

@@ -0,0 +1,45 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
MYPN="python-${PN}"
DESCRIPTION="Debugging manhole for python application"
HOMEPAGE="
https://github.com/ionelmc/python-manhole
https://pypi.org/project/python-manhole
"
SRC_URI="https://github.com/ionelmc/${MYPN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test"
RDEPEND=""
DEPEND="
${RDEPEND}
test? (
dev-python/eventlet[${PYTHON_USEDEP}]
dev-python/gevent[${PYTHON_USEDEP}]
dev-python/process-tests[${PYTHON_USEDEP}]
dev-python/pytest-travis-fold[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
www-servers/uwsgi[python,python_gevent,${PYTHON_USEDEP}]
)
"
S="${WORKDIR}/${MYPN}-${PV}"
distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/sphinx-py3doc-enhanced-theme \
dev-python/sphinxcontrib-napoleon

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
Manhole is in-process service that will accept unix domain socket connections and present the stacktraces for all threads and an interactive prompt. It can either work as a python daemon thread waiting for connections at all times or a signal handler (stopping your application and waiting for a connection).
Access to the socket is restricted to the application's effective user id or root.
This is just like Twisted's manhole. It's simpler (no dependencies), it only runs on Unix domain sockets (in contrast to Twisted's manhole which can run on telnet or ssh) and it integrates well with various types of applications.
</longdescription>
<upstream>
<remote-id type="github">ionelmc/python-manhole</remote-id>
<remote-id type="pypi">manhole</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -24,4 +24,4 @@ BDEPEND="test? ( dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
distutils_enable_sphinx docs/source
distutils_enable_sphinx docs/source dev-python/sphinxcontrib-trio

View File

@@ -0,0 +1 @@
DIST pygaljs-1.0.0.tar.gz 3322 BLAKE2B 247c911b98cfdefd987745f606ad691be4c3d99a66ce6c03789aa298777d6623f56e47f8211b702b4d2b3fdf39dbdcfdac547b9623186f793898b0b3906b5aa9 SHA512 bcb3e9b741901d491926024bbb89c224db4fbeddf1868119691442754c7089e7a8464f9d91e8c2f25c01718e827518efd4614056cdbe4fedd63341feee1d9ecc

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">ionelmc/python-pygaljs</remote-id>
<remote-id type="pypi">pygaljs</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,29 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1
DESCRIPTION="Python package providing assets from https://github.com/Kozea/pygal.js"
HOMEPAGE="
https://github.com/ionelmc/python-pygaljs
https://pypi.org/project/pygaljs
"
SRC_URI="https://github.com/ionelmc/python-${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# requires file in src/pygaljs/static that is not in release tarballs
RESTRICT="test"
RDEPEND=""
DEPEND=""
S="${WORKDIR}/python-${P}"
distutils_enable_tests pytest

View File

@@ -0,0 +1 @@
DIST pytest-benchmark-3.2.3.tar.gz 321127 BLAKE2B a9fb3a01ac9850d813f9b72d1975010b63b4f9d35d48c683b8dfa5d0020b17c59339135ff63b6152efab3ac33fecbc09aacbe6bcc3a7b0b260a00da317db00bf SHA512 952dbe2a9af1ae5de966543eae3b4523a5418c8441785714cbb7a5d17697046f060befb4a40cf216526e2a9a63d91c598d65e65618bd78fc2d889c92cecbbe53

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
This plugin tightly integrates into pytest. To use this effectively you should know a thing or two about pytest first. Take a look at the introductory material or watch talks.
Few notes:
This plugin benchmarks functions and only that. If you want to measure block of code or whole programs you will need to write a wrapper function.
In a test you can only benchmark one function. If you want to benchmark many functions write more tests or use parametrization http://docs.pytest.org/en/latest/parametrize.html.
To run the benchmarks you simply use pytest to run your "tests". The plugin will automatically do the benchmarking and generate a result table. Run pytest --help for more details.
This plugin provides a benchmark fixture. This fixture is a callable object that will benchmark any function passed to it.
</longdescription>
<upstream>
<remote-id type="github">ionelm/pytest-benchmark</remote-id>
<remote-id type="pypi">pytest-benchmark</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,53 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="py.test fixture for benchmarking code "
HOMEPAGE="
https://pypi.python.org/pypi/pytest-benchmark
https://github.com/ionelmc/pytest-benchmark
"
SRC_URI="https://github.com/ionelmc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# during tests import fails because conflict with the already installed files
# not sure how to fix, it would require setting some python variables but that would
# probably lead to all other packages being unfindable by the tests
RESTRICT="test"
RDEPEND="
dev-python/py-cpuinfo[${PYTHON_USEDEP}]
"
BDEPEND="
${RDEPEND}
test? (
dev-python/aspectlib[${PYTHON_USEDEP}]
dev-python/elasticsearch-py[${PYTHON_USEDEP}]
dev-python/freezegun[${PYTHON_USEDEP}]
dev-python/hunter[${PYTHON_USEDEP}]
dev-python/pygal[${PYTHON_USEDEP}]
dev-python/pygaljs[${PYTHON_USEDEP}]
dev-python/pytest-instafail[${PYTHON_USEDEP}]
dev-python/pytest-travis-fold[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-py3doc-enhanced-theme
python_test() {
# has to be run in source dir
PYTHONPATH="${S}"
cd "${S}" || die
pytest -vv || die "Tests fail with ${EPYTHON}"
}

View File

@@ -0,0 +1 @@
DIST pytest-instafail-0.4.1.tar.gz 5237 BLAKE2B 697aca533e3654204d5c7cdee245c7c2f7811b7941f195923983be8a30d76b0a132d1eff984c86070a9c4a5463adb6143d1f8915a105c2c75d59e8ca92149e86 SHA512 f043a1a58a2fc92c740e916008fe3e8bb66d3086f2c518f34ef8d63362169cd1b4f4a5f39b70382329cda837e0fd6c02cbb7504292d0aed95994d473c6430488

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">pytest-dev/pytest-instafail</remote-id>
<remote-id type="pypi">pytest-instafail</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,36 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Plugin for pytest that shows failures and errors instantly"
HOMEPAGE="
https://github.com/pytest-dev/pytest-instafail
https://pypi.org/project/pytest-instafail
"
SRC_URI="https://github.com/pytest-dev/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test"
RDEPEND="
>=dev-python/pytest-2.9[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@@ -0,0 +1 @@
DIST pytest-marks-0.4.tar.gz 1978 BLAKE2B 1f9898d860734e940b77f926bc7513e9c1d26d4dc45b9f876378974db393b41f8e9c24073306c6d299d3a70d60d40ecea35efdf4e50aa861678837cf4626c46f SHA512 4c1b6bb88c022661705e31cdf0b2d25c4e6fe09a4f8632662410d0c7ab3e436c6091ee88620b7c6660c4194f7afaedeb11ae4eac6476e447b6653c6ac7668d7b

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,20 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Allow to set 'marks' on pytest methods"
HOMEPAGE="https://github.com/adamgoucher/pytest-marks"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
KEYWORDS="~amd64 ~x86"
SLOT="0"
RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"

View File

@@ -0,0 +1 @@
DIST pytest-sanic-1.6.0.tar.gz 30185 BLAKE2B 737779cfbf850d511194c843f8fa83cb6a69ac5fb46195b2f9f5537f581bd41626de5a4cca35acf942f3dbb0560020d762026255387c3a7bcd7f7afaec5de5ad SHA512 efd284fba92c202036f1c28e91e671954b948243bd847f092e72bcda5ac4d734dbe7007f9beb0d60aa353843731891680e3c3bc7d2bf211fc34f42f6e1a92373

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
A pytest plugin for Sanic. It helps you to test your code asynchronously.
This plugin provides:
very easy testing with async coroutines
common and useful fixtures
asynchronous fixture support
test_client/sanic_client for Sanic application
test_server for Sanic application
</longdescription>
<upstream>
<remote-id type="github">yunstanford/pytest-sanic</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,30 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="a Pytest Plugin for Sanic"
HOMEPAGE="
https://pypi.python.org/pypi/pytest-sanic
https://github.com/yunstanford/pytest-sanic
"
SRC_URI="https://github.com/yunstanford/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/aiohttp[${PYTHON_USEDEP}]
dev-python/async_generator[${PYTHON_USEDEP}]
dev-python/sanic[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
# where is the conf.py file? make html can't find it either
#distutils_enable_sphinx docs

View File

@@ -0,0 +1 @@
DIST pytest-sugar-0.9.2.tar.gz 12677 BLAKE2B 9ef5119479ce1333bf86844e8f959d5e50f1f656fff7a871acb9aa5bd7478bafa34819c4db8ad8a8f105807cf444544846bf02049fbd6802636e5a3f123a11ab SHA512 9a1f30e35cb503f1afec6a1e18ad2d013b005627891021171ccc6f94d3aebe45a724db0615ba75e2befc074e7b77dd0627b5ffb8876906d434bd95cf5984b5ad

View File

@@ -0,0 +1,19 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
pytest-sugar changes the look and feel of pytest, Python testing tool, by adding a progressbar and instafailing tests
</longdescription>
<upstream>
<remote-id type="github">Teemu/pytest-sugar</remote-id>
<remote-id type="pypi">pytest-sugar</remote-id>
<maintainer status="unknown">
<email>janne.vanhala@gmail.com</email>
<name>Janne Vanhala</name>
</maintainer>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,33 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Plugin for pytest that changes the default look and feel of pytest"
HOMEPAGE="
https://pivotfinland.com/pytest-sugar
https://github.com/Teemu/pytest-sugar
https://pypi.org/project/pytest-sugar
"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test"
RDEPEND="
>=dev-python/packaging-14.1[${PYTHON_USEDEP}]
>=dev-python/pytest-xdist-1.14[${PYTHON_USEDEP}]
>=dev-python/termcolor-1.1.0[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
distutils_enable_tests pytest

View File

@@ -0,0 +1 @@
DIST pytest-travis-fold-1.3.0.tar.gz 7787 BLAKE2B 1ccecca18312d85b4bec0fcd6398a4b8aa19053c18799eb5bd4bb59a1e33e5eaa45bb952e4f3b356ba985cb81ef4753c474ebbfd901d57bce8e8521f16541768 SHA512 18b551690a526330a7ed3846c4ecb123e5ecbd6edb91ba145525b48391c5226b6e5ff44ba4e5c46487ca3716120a2d0d0518c2ef4cab5ee3419496124a5f2ffa

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">abusalimov/pytest-travis-fold</remote-id>
<remote-id type="pypi">pytest-travis-fold</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Pytest plugin that folds captured output sections in Travis CI build log"
HOMEPAGE="
https://github.com/abusalimov/pytest-travis-fold
https://pypi.org/project/pytest-travis-fold
"
SRC_URI="https://github.com/abusalimov/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
>=dev-python/pytest-2.6.0[${PYTHON_USEDEP}]
<dev-python/pytest-4[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
test? (
dev-python/pytest-travis-fold[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest

View File

@@ -0,0 +1 @@
DIST pytest-trio-0.5.2.tar.gz 35372 BLAKE2B 158e59d81fab6b56e37e92e28f8fdabb5d330dfc57b7774dcde4156165e3f5336647c9382268b50a5f70806449107ab2c7ec6d1a34f6bc773825b4fbb50b03a1 SHA512 0ab0bcfd3b1ef4859a49fa9d5dacbc698882f4f95ee113f241b49d8a7f000dbae1d982a13a87e18f96d51af1278b20298dd1af8d2ab1f563e91e74f7232f46a5

View File

@@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<upstream>
<remote-id type="github">python-trio/pytest-trio</remote-id>
<remote-id type="pypi">pytest-trio</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,56 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="This is a pytest plugin to help you test projects that use Trio"
HOMEPAGE="
https://github.com/python-trio/pytest-trio
https://pypi.org/project/pytest-trio
"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( MIT Apache-2.0 )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# lots of different errors
RESTRICT="test"
RDEPEND="
>=dev-python/async_generator-1.9[${PYTHON_USEDEP}]
dev-python/outcome[${PYTHON_USEDEP}]
>=dev-python/trio-0.11[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
>=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
!~dev-python/pytest-3.7.0[${PYTHON_USEDEP}]
!~dev-python/pytest-3.7.1[${PYTHON_USEDEP}]
dev-python/trio-asyncio[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
distutils_enable_sphinx docs/source
python_prepare_all() {
# AttributeError("module 'pytest' has no attribute 'RemovedInPytest4Warning'",)
rm pytest_trio/_tests/conftest.py || die
distutils-r1_python_prepare_all
}
python_test() {
# has to be run in source dir
PYTHONPATH="${S}"
cd "${S}" || die
pytest -vv || die "Tests fail with ${EPYTHON}"
}

View File

@@ -0,0 +1 @@
DIST sanic-19.12.2.tar.gz 195755 BLAKE2B 0d903b06403f28a901d21bfc685219064d0ec2b11576baf714aa3250cc3474928da03c34f0a5a25bf92191242b0a41f76d41aabe92a805bea1801e569c892e9a SHA512 93e416ceea5577db4c443dd6dd03cc5e990d4f987d49821b70d5602421d38401e155e2aad166c88ec57fc5361350c641f087b461a6d92acde34455db81429c5c

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription lang="en">
Sanic is a Python 3.6+ web server and web framework thats written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy.
The goal of the project is to provide a simple way to get up and running a highly performant HTTP server that is easy to build, to expand, and ultimately to scale. </longdescription>
<upstream>
<remote-id type="github">huge-success/sanic</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,51 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="Async Python 3.6+ web server/framework | Build fast. Run fast."
HOMEPAGE="
https://pypi.python.org/pypi/sanic
https://github.com/huge-success/sanic
"
SRC_URI="https://github.com/huge-success/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
dev-python/aiofiles[${PYTHON_USEDEP}]
~dev-python/httpx-0.9.3[${PYTHON_USEDEP}]
>=dev-python/httptools-0.0.10[${PYTHON_USEDEP}]
>=dev-python/multidict-4.0[${PYTHON_USEDEP}]
<dev-python/multidict-5.0[${PYTHON_USEDEP}]
dev-python/uvloop[${PYTHON_USEDEP}]
dev-python/ujson[${PYTHON_USEDEP}]
>=dev-python/websockets-7.0[${PYTHON_USEDEP}]
<dev-python/websockets-9.0[${PYTHON_USEDEP}]
"
DEPEND="
${RDEPEND}
test? (
dev-python/beautifulsoup[${PYTHON_USEDEP}]
dev-python/httpcore[${PYTHON_USEDEP}]
dev-python/pytest-benchmark[${PYTHON_USEDEP}]
dev-python/pytest-sanic[${PYTHON_USEDEP}]
dev-python/pytest-sugar[${PYTHON_USEDEP}]
dev-python/uvicorn[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
distutils_enable_sphinx docs \
dev-python/docutils \
dev-python/pygments \
">=dev-python/sphinx-2.1.2" \
dev-python/sphinx_rtd_theme \
">=dev-python/recommonmark-0.5.0"

View File

@@ -0,0 +1 @@
DIST trio-asyncio-0.11.0.tar.gz 67424 BLAKE2B 2d38b621eb5698521ba58c06295f6e2337821c64a35c4938ed9ffd4a01285c95df9c512d9922e88afbdff7c6fc0ef028784a1f189fbc9255ea46ee346b2f892c SHA512 718098f7ab18b168dd6a926d9bb64b636e06e6a1ea8e557ba4bf7782db16bb7fcccf226412284bfbc5183ff6df7624fc1a7ac73dd20bc841ffffd5e766e84d0a

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lssndrbarbieri@gmail.com</email>
<name>Alessandro Barbieri</name>
</maintainer>
<longdescription>
Rationale
Trio has native concepts of tasks and task cancellation. Asyncio is based on callbacks and chaining Futures, albeit with nicer syntax, which make handling of failures and timeouts fundamentally less reliable, especially in larger programs. Thus, you really want to base your async project on Trio.
On the other hand, there are quite a few asyncio-enhanced libraries. You really don't want to re-invent any wheels in your project.
Thus, being able to use asyncio libraries from Trio is useful. trio-asyncio enables you to do that, and more.
Transparent vs. explicit translation
trio_asyncio does not try to magically allow calling await trio_code() from asyncio or vice versa. There are multiple reasons for this; the executive summary is that cross-domain calls can't be made to work correctly, and any such call is likely to result in an irrecoverable error. You need to keep your code's asyncio and trio domains rigidly separate.
Fortunately, this is not difficult.
</longdescription>
<upstream>
<remote-id type="github">python-trio/trio-asyncio</remote-id>
<remote-id type="pypi">trio-asyncio</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,48 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="a re-implementation of the asyncio mainloop on top of Trio"
HOMEPAGE="
https://github.com/python-trio/trio-asyncio
https://pypi.org/project/trio-asyncio
"
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 ~x86"
# ImportError: cannot import name 'MarkInfo'
# might be an issue in pytest-marks
RESTRICT="test"
RDEPEND="
>=dev-python/async_generator-1.6[${PYTHON_USEDEP}]
dev-python/outcome[${PYTHON_USEDEP}]
>=dev-python/trio-0.12.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '>=dev-python/contextvars-2.1[${PYTHON_USEDEP}]' python3_6)
"
DEPEND="test? (
dev-python/pytest-marks[${PYTHON_USEDEP}]
)"
distutils_enable_tests pytest
distutils_enable_sphinx docs/source
python_prepare_all() {
# do not depend on deprecated dep
sed -i -e '/pytest-runner/d' setup.py || die
#remove tests from installed packages
#TODO: remove hardcoded
sed -i 's|packages=find_packages()|packages=["trio_asyncio"]|' setup.py || die
distutils-r1_python_prepare_all
}

View File

@@ -51,5 +51,10 @@ python_prepare_all() {
-e "/test_getaddrinfo/i@pytest.mark.skip(reason='no IPv6')" \
trio/tests/test_socket.py || die "sed failed for test_socket.py"
fi
# 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
}