-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
module msgpack #3659
module msgpack #3659
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR! I've left a few suggestions. Let me know if you have any questions.
(The CI error is due to missing documentation in shared-bindings' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! To fix the translation issue run make translate
at the top level and commit the result. It'll add entries to locale/circuitpython.pot
. Then, the CI should build every board.
Still fails for some architectures. More significantly, the current version does not convert output to big endian. I have a fix in a few days. |
Updated to correctly output binary in big endian format. Tests are fairly comprehensive, except big data structures (due to memory limitations). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like it needs another make translate
.
Looks like a number of SAMD21 boards are out of flash now. In the short term, we can disable them on an individual basis but in the longer term we'll want to follow up with a way to freeze the modules on SAMD21. The spresence build is also failing due to a type issue. |
I've disabled Regarding the First error is:
I added
|
For some reason, the checks are not re-run. I'd expect them to pass, but how can I know? |
@iot49 disabling is totally fine. @kamtom480 may know what the issue is. I'm not sure why the CI didn't run. I'll look into it. |
Ah, I think you need to fix the merge conflict before the CI can run because it runs on the merge. |
@iot49 Regarding the |
@iot49 Thank you for renaming the read and write functions. The second problem is in the Spresense SDK configuration. I will fix this. You can disable |
@tannewt Sorry to bother again - do you have an idea how to fix the remaining (new) 3 errors, all of the same format:
|
@iot49 Those are network failures. You don't need to worry about them. |
Would you mind rebasing this? I'm a bit worried that the diff includes a lot of extra changes. If you are uncomfortable with git, then I can do it for you. |
| If you are uncomfortable with git, then I can do it for you. I'd appreciate this. I've tried to fix this mess, but seem to only add to it. Hate to admit it. |
Essentially complete, except for a newline somewhere in the documentation but I can't figure out where. I'd appreciate a hint if you have time to take a look. Thanks for fixing the branch. Should tests be added to the tests directory? The class is a strict sub-set of the c-version. I use it for communication between Python interpreters. |
I think you need more
these lines lead to empty lines in the resulting rst. I think you need one after every section. See here for an example: https://github.com/adafruit/circuitpython/blob/main/shared-bindings/struct/__init__.c#L51
If you like. Not required.
Nice! |
Thanks, did that! Now CI is not running: "Workflow runs completed with no jobs" |
The build wasn't running due to the merge conflict. I've fixed it so make sure and update your local copy. I think you'll need |
Looks like there is a doc build error:
|
Thanks for looking into this again.
It's time to quit. You have better things to do and I have no clue which
blank line is missing.
I've used the library extensively and it works correctly as best I can
tell. So if perhaps in the future someone has a need this might be a
starting point.
Sorry to have wasted your time.
…On Tue, Jan 5, 2021 at 4:14 PM Scott Shawcroft ***@***.***> wrote:
Looks like there is a doc build error:
/home/runner/work/circuitpython/circuitpython/shared-bindings/msgpack/index.rst:34:Definition
list ends without a blank line; unexpected unindent.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3659 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL426C5DJMLGQGG4SEVKKA3SYOTONANCNFSM4TOYDHOA>
.
|
You are so close! I'll look now and see if I can find it. The line number is for the intermediate generated file. |
But how do I get the intermediate file?
Presumably I could run the build (would have to figure out how to do this)
locally, and then look at that file.
BTW: are you using a tool to help you format the documentation? It's very
tedious with just a text editor (V-code).
I need an AI tool that inserts the missing newline, rather than just
telling it's missing -:)
…On Wed, Jan 6, 2021 at 8:44 AM Scott Shawcroft ***@***.***> wrote:
Thanks for looking into this again. It's time to quit. You have better
things to do and I have no clue which blank line is missing. I've used the
library extensively and it works correctly as best I can tell. So if
perhaps in the future someone has a need this might be a starting point.
Sorry to have wasted your time.
You are so close! I'll look now and see if I can find it. The line number
is for the intermediate generated file.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3659 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL426CYFCWWTY37PM5BJ2Y3SYSHPNANCNFSM4TOYDHOA>
.
|
I just pushed the fixes to: cdad59f You can build the docs locally with |
Looks like it ran out of space on a few more of the smaller devices. I can try to disable this new module on those devices this week to see if that will get it passing CI. Thanks for all of your work on this @iot49! This looks very cool, I am interested using this for a few different things. Am willing to help out any way that I can to get this to the finish line. |
latest commit disables msgpack on the 3 boards that failed. 🤞
|
🎉 its passing now. I also tested this successfully (albeit very basically) with this code: import msgpack
from io import StringIO
s = StringIO()
msgpack.pack({"test":"hello","num":4}, s)
print(s)
s.seek(0)
out = msgpack.unpack(s)
print(out) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Support for msgpack (https://msgpack.org/) encoding/decoding. Like json, but binary encoding.
Example:
Output: