Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions lang/python/python-async-timeout/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=python-async-timeout
PKG_VERSION:=4.0.2
PKG_VERSION:=5.0.1
PKG_RELEASE:=1

PYPI_NAME:=async-timeout
PKG_HASH:=2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15
PYPI_SOURCE_NAME:=async_timeout
PKG_HASH:=d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3

PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=Apache-2.0
Expand All @@ -30,7 +31,8 @@ define Package/python3-async-timeout
URL:=https://github.com/aio-libs/async-timeout
DEPENDS:= \
+python3-light \
+python3-asyncio
+python3-asyncio \
+python3-logging
endef

define Package/python3-async-timeout/description
Expand Down
32 changes: 32 additions & 0 deletions lang/python/python-async-timeout/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/sh
[ "$1" = python3-async-timeout ] || exit 0

python3 - << 'EOF'
import asyncio
import async_timeout

async def test_no_timeout():
async with async_timeout.timeout(10):
await asyncio.sleep(0)
print("no_timeout OK")

async def test_timeout_fires():
try:
async with async_timeout.timeout(0.01):
await asyncio.sleep(1)
assert False, "Should have timed out"
except asyncio.TimeoutError:
print("timeout_fires OK")

async def test_timeout_none():
async with async_timeout.timeout(None):
await asyncio.sleep(0)
print("timeout_none OK")

async def main():
await test_no_timeout()
await test_timeout_fires()
await test_timeout_none()

asyncio.run(main())
EOF
4 changes: 2 additions & 2 deletions lang/python/python-jsonschema-specifications/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=python-jsonschema-specifications
PKG_VERSION:=2023.11.2
PKG_VERSION:=2025.9.1
PKG_RELEASE:=1

PYPI_NAME:=jsonschema-specifications
PYPI_SOURCE_NAME:=jsonschema_specifications
PKG_HASH:=9472fc4fea474cd74bea4a2b190daeccb5a9e4db2ea80efcf7a1b582fc9a81b8
PKG_HASH:=b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d

PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
Expand Down
7 changes: 4 additions & 3 deletions lang/python/python-pyasn1-modules/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=python-pyasn1-modules
PKG_VERSION:=0.2.8
PKG_RELEASE:=2
PKG_VERSION:=0.4.2
PKG_RELEASE:=1

PYPI_NAME:=pyasn1-modules
PKG_HASH:=905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e
PYPI_SOURCE_NAME:=pyasn1_modules
PKG_HASH:=677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6

PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.txt
Expand Down
20 changes: 20 additions & 0 deletions lang/python/python-pyasn1-modules/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/sh
[ "$1" = python3-pyasn1-modules ] || exit 0

python3 - << 'EOF'
import pyasn1_modules
from pyasn1_modules import pem, rfc2314, rfc2459, rfc2986, rfc5280
from pyasn1.codec.der.decoder import decode as der_decode
from pyasn1.type import univ

# Basic OID parsing (common in ASN.1 modules)
oid = univ.ObjectIdentifier((1, 2, 840, 113549, 1, 1, 1))
assert str(oid) == '1.2.840.113549.1.1.1'

# Verify key RFC modules are importable and have expected attributes
assert hasattr(rfc2459, 'Certificate')
assert hasattr(rfc5280, 'Certificate')
assert hasattr(rfc2986, 'CertificationRequest')

print("pyasn1-modules OK")
EOF
5 changes: 3 additions & 2 deletions lang/python/python-pytest-xdist/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=python-pytest-xdist
PKG_VERSION:=3.3.1
PKG_VERSION:=3.8.0
PKG_RELEASE:=1

PYPI_NAME:=pytest-xdist
PKG_HASH:=d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93
PYPI_SOURCE_NAME:=pytest_xdist
PKG_HASH:=7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1

PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
Expand Down
18 changes: 18 additions & 0 deletions lang/python/python-pytest-xdist/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
[ "$1" = python3-pytest-xdist ] || exit 0

python3 - << 'EOF'
import xdist
import xdist.plugin
import xdist.scheduler

# Verify version
assert xdist.__version__, "xdist version is empty"

# Verify key scheduler classes are importable
from xdist.scheduler import LoadScheduling, EachScheduling
sched = LoadScheduling.__name__
assert sched == 'LoadScheduling'

print("pytest-xdist OK")
EOF
9 changes: 7 additions & 2 deletions lang/python/python-ruamel-yaml/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,15 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=python-ruamel-yaml
PKG_VERSION:=0.18.16
PKG_VERSION:=0.19.1
PKG_RELEASE:=1

PYPI_NAME:=ruamel.yaml
PYPI_SOURCE_NAME:=ruamel_yaml
PYTHON3_PKG_WHEEL_NAME:=ruamel_yaml
PKG_HASH:=a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a
PKG_HASH:=53eb66cd27849eff968ebf8f0bf61f46cdac2da1d1f3576dd4ccee9b25c31993

PKG_BUILD_DEPENDS:=python-setuptools/host

PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
PKG_LICENSE:=MIT
Expand All @@ -24,6 +27,8 @@ include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

PKG_BUILD_DIR:=$(BUILD_DIR)/pypi/$(PYPI_NAME)-$(PKG_VERSION)

define Package/python3-ruamel-yaml
SECTION:=lang
CATEGORY:=Languages
Expand Down
37 changes: 37 additions & 0 deletions lang/python/python-ruamel-yaml/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/sh
[ "$1" = python3-ruamel-yaml ] || exit 0

python3 - << 'EOF'
import io
import ruamel.yaml

yaml = ruamel.yaml.YAML()

# Round-trip load and dump preserving comments
data_str = """\
# top comment
name: test # inline comment
values:
- 1
- 2
- 3
"""
buf = io.StringIO(data_str)
data = yaml.load(buf)
assert data['name'] == 'test'
assert data['values'] == [1, 2, 3]

# Dump back and verify structure is preserved
out = io.StringIO()
yaml.dump(data, out)
result = out.getvalue()
assert 'name: test' in result
assert 'top comment' in result

# Safe load
yaml_safe = ruamel.yaml.YAML(typ='safe')
simple = yaml_safe.load('key: value')
assert simple['key'] == 'value'

print("ruamel.yaml OK")
EOF
Loading