Upgrade to release 1.0.3:
Fixes:
- Complete the setuptools SubCommand protocol
- Thread config_settings to the build command
- Keep source tree clean in strict editable mode
Documentation:
- Put uv first in installer tabs and add it to config-settings
- List choices for Literal options in the README table
- Touch up README options tables, setuptools docs
- Show the projects list as a card grid with language/binding badges
- Add high-star projects to the known projects list
CI and testing:
- Make linkcheck retry timeouts from slow hosts
- Forward -C config-settings in downstream editable install
Include a patch to rename directory name from ${module} __module__
to avoid error due to an unexpanded bitbake variable.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Use the newer setuptools build class to avoid an AttributeError thrown
after warnings about setuptools and related build modules:
|/home/tgamblin/workspace/ypbuilds/oe-nodistro-master-patchtest/build/tmp/work/x86-64-v3-oe-linux/python3-ukkonen/1.1.0/recipe-sysroot-native/usr/lib/python3.14/site-packages/setuptools/__init__.py:92: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
|!!
|
| ********************************************************************************
| Requirements should be satisfied by a PEP 517 installer.
| If you are using pip, you can try `pip install --use-pep517`.
|
| This deprecation is overdue, please update your project and remove deprecated
| calls to avoid build errors in the future.
| ********************************************************************************
|
|!!
...
| File "/home/tgamblin/workspace/ypbuilds/oe-nodistro-master-patchtest/build/tmp/work/x86-64-v3-oe-linux/python3-ukkonen/1.1.0/recipe-sysroot-native/usr/lib/python3.14/site-packages/packaging/utils.py", line 96, in canonicalize_name
| value = name.lower().replace("_", "-").replace(".", "-")
| ^^^^^^^^^^
|AttributeError: 'NoneType' object has no attribute 'lower'
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.13.4:
- Bump libc from 0.2.155 to 0.2.185
- Adapt pydantic-core linker flags on macOS
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade pydantic-core to version 2.46.4 as it required for newer
Pydantic versions.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
=============
- Register the "benchmark" pytest mark to avoid PytestUnknownMarkWarning
- Update C extension docstrings and remove stale comments
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- trim to ncols even when '{bar}' not in bar_format
- fix tqdm.write when stdout=None
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Remove self signed certificate from production.
- Correct inequality in validation error message
- Fix non-deterministic convert_from_registers
- Fix swapped SimDevice in ModbusDeviceContext
- Update CI actions and pyproject.
- Add ruff format check to ci.yml
- Remove 'useless-suppression' pylint
- Format test_client.py with ruff
- Update clean_workflows CI (node@20 problem).
- Ruff format (due to ruff upgrade).
- Fix ModbusServerContext initialization with dict devices parameter
- Support configured ASCII input delimiter
- Fix default no-response behavior for force listen only
- Use correct format character for DataType.REGISTERS 'h' -> 'H'
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- asyncio: detect cross-instance reentrant deadlocks before the poll loop
- fix(soft_rw): evict non-regular write marker without reading it
- _util: drop the dead st_mtime=0 short-circuit in raise_on_not_writable_file
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
* add '.rotate()' method, rotate bitarray in-place by 'k' positions
* expose the 'decodeiterator' class, and add '.skipbits()' method
as well as '.index' data descriptor, see #252
* fix 'random_p()' silently producing all-zero bitarrays for small 'n'
when 'p=float("nan")'
* improve integer argument handling in 'util.random_k()',
'util.gen_primes()', 'util.pprint()' and 'util.int2ba()'
* add 'python_requires >= 3.7' to package metadata
* improve testing - use more of 'unittest''s functionality
* add [Rule 90 example](../examples/rule90.py)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Changed ByteReceiveStream.receive() implementations to raise a ValueError
when max_bytes is not a positive integer
- Fixed CapacityLimiter.total_tokens rejecting float("inf") when the limiter
was instantiated outside of an event loop. The adapter setter checked for
infinity by identity (value is math.inf), so only the exact math.inf singleton
was accepted, while every backend setter (using math.isinf()) accepts any
positive infinity
- Fixed to_process.run_sync() deadlocking when the worker function writes
enough data to sys.stderr to fill the (undrained) pipe buffer. The worker
process now redirects sys.stderr to os.devnull as well, matching the documented
behavior
- Fixed TLSStream.wrap() matching an internationalized (unicode) host name
against the peer certificate using IDNA 2003 (via the standard library)
instead of IDNA 2008, which could cause the host name to be matched against the
wrong certificate
- Fixed anyio.open_process() (and run_process()) ignoring the extra_groups
argument, as it mistakenly passed the value of the group argument instead
- Fixed CapacityLimiter.acquire_nowait() and
CapacityLimiter.acquire_nowait_on_behalf_of() raising trio.WouldBlock instead
of anyio.WouldBlock on the trio backend when there are no tokens available
- Fixed CapacityLimiter on the asyncio backend over-granting tokens
(borrowed_tokens exceeding total_tokens and available_tokens going negative)
when a non-blocking acquire was made in the window between a token being
released and the notified waiter resuming. The freed token is now reserved for
the woken waiter right away, so the non-blocking acquire correctly raises
WouldBlock
- Fixed unnecessary CPU spin when delivering cancellation from CancelScope on
asyncio under certain conditions, including improper cancel scope nesting
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.12.1:
- Restored the previous SyncToAsync.__call__ internal code shape,
which was relied on by some APM services.
From 3.12.0:
- AsyncToSync no longer captures the running event loop on
instantiation
- Fixed an event loop deadlock when exiting ThreadSensitiveContext
while its executor thread was still blocked waiting on the event
loop.
- Dropped support for EOL Python 3.9.
- Fixed StatelessServer.run() failing on Python 3.14, where
asyncio.get_event_loop() no longer creates an event loop if none
exists. It now uses asyncio.run().
- Fixed Local leaking data between unrelated sync threads when
sys.flags.thread_inherit_context is enabled (Python 3.14+), so a
newly started thread inherits a copy of the spawning thread's
context. This flag is on by default on free-threaded builds and
opt-in on the regular GIL build. Local storage is now tagged with
its owning thread and re-homed only when asgiref intentionally
moves work across threads (in async_to_sync / sync_to_async),
restoring the documented thread-local behaviour in sync threads.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.2:
- Modernize type annotations
- Fix pypy CI by skipping redundant mypy runs on it
- Fix IndexError on source mixing lone CR with LF line endings
- Release modernization, and publish to PyPI from CI via trusted
publishing
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
do_compile failed with:
AttributeError: 'NoneType' object has no attribute 'lower'
A non-empty setup_requires makes setuptools run fetch_build_eggs(),
which enumerates every distribution in the native sysroot and calls
packaging.utils.canonicalize_name(dist.name). Under the setuptools/
Python 3.14 in the sysroot one distribution exposes a None name, so
canonicalize_name() crashes on None.lower() and aborts the build.
Extend the existing patch to drop the whole setup_requires block
instead of only setuptools_git. sphinx is only used by the build_sphinx
command (not run during do_compile) and is already provided via
DEPENDS, so removing it is safe and keeps setuptools out of the
fetch_build_eggs() path.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest, include tests for wand and run the relevant
test cases. Add imagemagick as a runtime dependency.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest, include tests for rarfile and run the relevant
test cases.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
- Disallow extraction outside extraction path, in case of existing
symlink.
- Disallow creating symlinks to outside of extraction path.
- Apply length limit to passwords, so too long password give same
result as for unrar.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest and include tests for pyppmd.
Add a patch to fix SIGABRT OutputBuffer_Grow() from
src/ext/_ppmdmodule.c which was detected with the tests.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest and include tests for jsbeautifier.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
do_compile failed to find ninja, and after providing it CMake's C++20
module dependency scanning (clang-scan-deps) failed in the cross
environment with "'cstddef' file not found".
Add ninja-native and python3-scikit-build-core-native to DEPENDS so the
--no-isolation build finds its build tools, and disable C++20 module
scanning via CMAKE_ARGS since pikepdf uses the C++20 language but no
named modules.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The upstream pyproject.toml caps setuptools at <83.0, but OE builds with
--no-isolation against the native setuptools (now 83.0.0), so the build
fails with "Missing dependencies: setuptools<83.0,>=65.6". Drop the
spurious upper bound.
Fold this into the existing wheel-version relaxation so pyproject.toml is
adjusted by a single patch.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The upstream pyproject.toml caps setuptools at <82.1, but OE builds with
--no-isolation against the native setuptools (now 83.0.0), so the build
fails with "Missing dependencies: setuptools<82.1,>=68". Drop the
spurious upper bound.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The upstream pyproject.toml caps setuptools at <=82.0.1, but OE builds
with --no-isolation against the native setuptools (now 83.0.0), so the
build fails with "Missing dependencies: setuptools<=82.0.1,>=80.9.0".
Drop the spurious upper bound.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 10.9.1:
- Fixed a crash (SIGABRT via std::terminate) that could occur when
a file-backed {class}pikepdf.Pdf was deallocated while a Python
exception was already propagating -- for example when
pikepdf.open(filename) appears as a transient element of a
list/tuple literal whose later element raises. Opening from a
filename closes the file in the input source destructor, which
calls back into Python; with an exception already in flight that
call raised an error that escaped the destructor. The in-flight
exception is now preserved and propagates normally. Added a guard
for a likely non-reproducible related case with DecimalPrecision.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.4:
- Fixed test builds with installed Eigen 5 by improving Eigen3
CMake package detection.
- Fixed move semantics of scoped_ostream_redirect to preserve
buffered output and avoid crashes when moved redirects restore
stream buffers.
- Fixed py::dynamic_attr() traversal on Python 3.13+ to correctly
propagate PyObject_VisitManagedDict() results.
- Fixed std::shared_ptr<T> fallback casting to avoid unnecessary
copy-constructor instantiation in reference_internal paths.
- Updated setup-uv to the maintained GitHub Action tag scheme.
- Updated pre-commit hooks.
- Updated GitHub Actions dependencies, including actions-setup-cmake
and cibuildwheel.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>