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

cbrrr v1.0 #1

Closed
12 of 19 tasks
DavidBuchanan314 opened this issue Feb 22, 2024 · 2 comments
Closed
12 of 19 tasks

cbrrr v1.0 #1

DavidBuchanan314 opened this issue Feb 22, 2024 · 2 comments

Comments

@DavidBuchanan314
Copy link
Owner

DavidBuchanan314 commented Feb 22, 2024

Here's all the things I want to complete before it's ready for a v1.0 release:

  • Implement parsing into "atjson" format ($link, $bytes)
  • Implement base32 encode/decode in C (to optimise perf in atjson mode)
  • Clean up any (important) TODOs in the source
  • Rename "parse" to "decode"
  • Clean up the CID class, audit correctness
  • Robust testing, within a proper testing framework Edit: I'm marking this as done, but there's lots of room for improvement
  • Set up a fuzz harness
  • Automate testing on GHA
  • Figure out some standard benchmarks, show off perf vs dag_cbor, libipld - done at https://github.com/DavidBuchanan314/dag-cbor-benchmark although some more atproto-specific tests would be good
  • Documentation - the API is simple enough that a good README should be enough
  • Address Don't use EOFError to signal truncated input #5
  • Get it on pypi

Deferred to 1.x:

  • More test coverage
  • GHA testing on macos and windows, and aarch64 if I can figure that out.
  • GHA cross-platform builds and pypi upload
  • Test edge-cases that might arise on 32-bit platforms (and fix any related bugs) 32-bit [non-]support #3
  • Optional hard resource limits - recursion depth, number/size of objects allocated Resource Exhaustion DoS Vectors #2
  • Parsing into an existing bytearray object, and parsing directly into a new bytes object without copy
  • Implement the CID type entirely in C
@MarshalX
Copy link

pre-built wheels for all platforms and python versions (uploaded to pypi, automated via GHA)?

@DavidBuchanan314
Copy link
Owner Author

pre-built wheels for all platforms and python versions (uploaded to pypi, automated via GHA)?

I'd love to have that but it's not something I know how to do currently, is it maybe something you could help with setting up? I'll put it down as a 1.x goal but that doesn't mean it can't happen sooner (my main aim with 1.0 is to have it ready to use in my PDS rewrite)

@github-project-automation github-project-automation bot moved this from In Progress to Done in atproto stuff Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants