ni / ni/nisystemlink-clients-python

Events dependency is out of date

Open
#139 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependencies
Dominant language
Python
Stars
10
Forks
32
Avg merge
12h 42m
Merged PRs (30d)
2

Description

Description

The range specifier used does not allow pulling in the latest version of Events==0.5

https://github.com/ni/nisystemlink-clients-python/blob/4622ba767a585268f0a2e42c18cceb01593ba9b6/pyproject.toml#L36

If we do want to only support the range defined by caret specifiers (>=0.4 and < 0.5) then we should update and adopt the new version of ^0.5.

Context

Trying to load nisystemlink-clients in a browser wasm environment such as pyodide fails.
To reproduce the failure:

  1. Go to the pyodide repl in browser
  2. Run the commands:
    import micropip
    await micropip.install("nisystemlink-clients", keep_going=True)
    
  3. Notice the failure message:
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/lib/python3.12/site-packages/micropip/package_manager.py", line 146, in install
    return await install(
           ^^^^^^^^^^^^^^
  File "/lib/python3.12/site-packages/micropip/install.py", line 56, in install
    raise ValueError(
ValueError: Can't find a pure Python 3 wheel for: 'events<0.5,>=0.4', 'pydantic-core==2.33.2'
See: https://pyodide.org/en/stable/usage/faq.html#why-can-t-micropip-find-a-pure-python-wheel-for-a-package

I believe the root cause of the issue is that it looks like version 0.4 of the Events library was only published as a source distribution: https://pypi.org/project/Events/0.4/#files
While version 0.5 is published as a modern wheel (.whl): https://pypi.org/project/Events/#files

You can verify version 0.5 will load correctly by following the repro steps above but instead just loading Events:

import micropip
await micropip.install("Events", keep_going=True)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at pyproject.toml line 36 and inspect the Events dependency range. Reproduce the failure with the Pyodide REPL and micropip installation command, then update the range as appropriate for Events 0.5. Done means nisystemlink-clients installs successfully in the browser WASM environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.