Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

packages: Add lakers-python #4763

Merged
merged 2 commits into from
May 16, 2024
Merged

Conversation

chrysn
Copy link
Contributor

@chrysn chrysn commented May 14, 2024

Description

This adds Lakers (lakers-python on PyPI), the Python wrappers for the Rust implementation of EDHOC (RFC9528). EDHOC is a compact key exchange protocol, primarily designed for embedded systems.

As a compiled package it can not use the pure Python wheels published through crates.io. It is useful in pyodide because aiocoap has good support for pyodide and Jupyter for end-to-end encryption between a browser console (or application) and an embedded device (connected through untrusted proxies on the Internet or through local Bluetooth connections). I expect to add EDHOC support to aiocoap through lakers.

Checklists

  • Add a CHANGELOG entry
  • Add / update tests
  • Add new / update outdated documentation
    Marked as checked because I don't think that adding a package needs any added documentation outside the change log.

@chrysn chrysn force-pushed the add-lakers branch 3 times, most recently from 50473ee to 8e5e03f Compare May 14, 2024 10:38
@chrysn
Copy link
Contributor Author

chrysn commented May 14, 2024

I think this is ready for review. There are two build failures (on test-core-node and test-core-safari) that appear to me to be unrelated to this PR.

@chrysn chrysn marked this pull request as ready for review May 14, 2024 11:40
@chrysn chrysn marked this pull request as draft May 15, 2024 12:41
@chrysn
Copy link
Contributor Author

chrysn commented May 15, 2024

Downgraded to draft again due to openwsn-berkeley/lakers#268 (that showed up in a CI step I lumped together with the unrelated build failures before); will upgrade and reopen once that is addressed.

That pinning was left over from previous similar packaging, but should
not be needed as long as a stable Rust version is used to build; lakers
itself has no precise proc-macro2 dependency.
@chrysn
Copy link
Contributor Author

chrysn commented May 15, 2024

By removing the needless cargo update on proc-macro2, the effect of the upstream issue can be avoided. While the published Python package still has an underlying oddity (the Cargo.toml referencing a workspace member that is not shipped), builds appear to pass now. I'll keep tracking the issue with upstream, but as things are, I'm restoring this to "ready for review".

@chrysn chrysn marked this pull request as ready for review May 15, 2024 19:18
@hoodmane
Copy link
Member

Thanks @chrysn. I think the versions of proc-macro2 from 1.0.61 to 1.0.68 don't work, but the newer versions are okay so you indeed shouldn't need to pin it at 1.0.60 anymore. Build failure looks unrelated and chrysn doesn't depend on numpy so it got built and tested in the no-numpy-dependents jobs. I guess I'll merge.

@hoodmane hoodmane merged commit b177dba into pyodide:main May 16, 2024
26 of 29 checks passed
@chrysn chrysn deleted the add-lakers branch May 16, 2024 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants