uv/crates/puffin-client
Andrew Gallant b9d89e7624
puffin-client: generalize SimpleMetadaRaw into OwnedArchive<A> (#1208)
It turns out that the pattern I coded up for SimpleMetadataRaw is
generally useful when working with rkyv. This commit makes it generic by
supporting any type that implements rkyv's traits, and makes a few
simplifying assumptions by picking a concrete serializer, validator and
deserializer. In effect, this lets use own any archived value.

We also rejigger the API a little bit and double-down on
`OwnedArchive<A>` just being a owned wrapper for `Archived<A>`. Namely,
we implement `Deref` and turn its inherent methods into methods that
require fully qualified syntax. (As is standard for things that
implement `Deref` to avoid ambiguity with the deref target's methods.)

(This PR also makes a couple small simplifications to our custom rkyv
serializer since we no longer need to use it directly. We do still need
to name the type in trait bounds, so it has to be public.)
2024-01-31 11:56:34 -05:00
..
src puffin-client: generalize SimpleMetadaRaw into OwnedArchive<A> (#1208) 2024-01-31 11:56:34 -05:00
tests Preserve verbatim URLs (#639) 2023-12-14 15:03:39 +00:00
Cargo.toml add initial rkyv support (#1135) 2024-01-28 12:14:59 -05:00
README.md Add client networking stack 2023-10-05 12:45:38 -04:00

README.md

pypi-client

A general-use client for interacting with PyPI.

Loosely modeled after Orogene's oro-client.