Ilya (Marshal)

Ilya (Marshal)

@marshal.dev

Software Engineer 🐍 The AT Protocol SDK for Python: https://atproto.blue/ 🍿 Custom Feed in Python: https://github.com/MarshalX/bluesky-feed-generator 🏎️ Fast IPLD library for Python: https://github.com/MarshalX/python-libipld https://marshal.dev

4.9K followers93 following438 posts

iOS 27.2 beta changed how Cardio Fitness (VO2 max) levels are calculated It still depends on age and sex, like before, but the boundaries between levels now appear to move smoothly with age instead of jumping at fixed age brackets. Mine went up

AT Protocol SDK for Python v0.0.72 is out πŸŽ‰ 🧩 Custom lexicon codegen: "atp gen custom" turns any lexicon dir into a typed package of models, namespaces, subscription clients, and a Client subclass. πŸ“š Fully reworked docs with a much better search: atproto.blue #atproto #python

atproto.blueThe AT Protocol SDK for PythonAutogenerated from lexicons, well type hinted, documented, sync and async. Where to start: Quickstart Install it, log in, send a post, read a timeline. Five minutes. Quickstart Guides Posting, read...

Shipped! Jetstream πŸ›©οΈ is in the Python SDK. Server-side filtering so you only get what you asked for, dict-zstd for ~65% less bandwidth, and full network replay: snapshot() and replay() sweep the archive and cut over to the live tail with no gap or duplicate. #atproto atproto.blue/en/latest/at...

atproto.blueJetstream (data streaming)Jetstream is a streaming service for the AT Protocol network. Unlike the Firehose, it delivers records as plain JSON, filters server-side, and needs no CAR or DAG-CBOR decoding. Both clients are pr...

Today we’re launching Bluesky Protocol Services, a new brand and website for the infrastructure Bluesky operates. And Jetstream v2, the best way for developers to use atproto at scale, now with network replay. atproto.com/blog/introdu...

Oops, now there is v3.4.1 with even more performance (up to +7%) and parity with other libraries #atproto

Ilya (Marshal)@marshal.dev

πŸš€ Python libipld v3.4.0 is out! Up to 30x faster DAG-CBOR decode than pure-Python library. Up to 2x faster than v3.3.2, with ~30% quicker CAR parsing for the Bluesky firehose! More details: github.com/MarshalX/pyt... #atproto #bluesky #python

Bluesky custom feeds in Python are now ~x2 faster! ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! I do have more ideas on what to try to speed it up even further! For example, applying BOLT on top of the existing PGO. Huge kudos to @vmx.cx for making this happen!

github.comRelease v3.3.0 Β· MarshalX/python-libipld🟒 The maintainer is looking for a job! CV: https://marshal.dev What's Changed ❗ Almost x2 speed for CAR decoding (Bluesky firehose), ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! ...

Bluesky custom feeds in Python are now ~x2 faster! ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! I do have more ideas on what to try to speed it up even further! For example, applying BOLT on top of the existing PGO. Huge kudos to @vmx.cx for making this happen!

github.comRelease v3.3.0 Β· MarshalX/python-libipld🟒 The maintainer is looking for a job! CV: https://marshal.dev What's Changed ❗ Almost x2 speed for CAR decoding (Bluesky firehose), ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! ...

Bluesky custom feeds in Python are now ~x2 faster! ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! I do have more ideas on what to try to speed it up even further! For example, applying BOLT on top of the existing PGO. Huge kudos to @vmx.cx for making this happen!

github.comRelease v3.3.0 Β· MarshalX/python-libipld🟒 The maintainer is looking for a job! CV: https://marshal.dev What's Changed ❗ Almost x2 speed for CAR decoding (Bluesky firehose), ~25-35% faster DAG-CBOR decoding, and ~17% faster CID decoding! ...

The atproto SDK for Python now supports Python 3.14! Please report any instability of firehose async client. There are too many dependency bumps for this release.

πŸš€ Python atproto SDK v0.0.60 is here! Key additions: - Message reactions in DMs - Improved AtUri core class - ⁠Content-Type overriding - Digits in NSID - Email 2FA support - Enhanced HTTPX config and various fixes! Check it out! 🐍✨ #Python #atproto

github.comRelease v0.0.60 Β· MarshalX/atprotoWhat's Changed Add message reaction to the example of Direct Messages by @MarshalX in #595 Add UnknownUnionModel type by @MarshalX in #586 Add include_pins argument to get_author_feed method of Cl...

Ilya (Marshal) reposted

Fun little winter break side project to help me explore more of atproto - I made a fun Bluesky - IRC bridge! github.com/quartzjer/AT... Built in python using @marshal.dev's awesome atproto module, definitely spent too much time fiddling with how to display rich/media posts in an IRC-friendly way πŸ˜…

Thank you for your contribution! Test coverage, performance benchmarks, and more β€” that's very professional. I appreciate it!

nate@zzstoatzz.io

excited to have contributed opt-in string format validation to the `atproto` python client! we added pydantic-powered validation for formats like handles, DIDs, & NSIDs etc. I wrote about it! alternatebuild.dev/posts/8_strings_matter thanks so much to @marshal.dev for the help & reviews πŸ™‚

The fix was merged! But it does not resolve the main problem. So to be continued here github.com/bluesky-soci...

github.comRelay: consumers do not receive root block in case of too big seq commit Β· Issue #780 Β· bluesky-social/indigoFrom bluesky-social/atproto#2893
Ilya (Marshal)@marshal.dev

Firehose consumers do not receive root block in case of too big seq commit. I dug into this because I got reports from Python SDK users that commit.blocks received from the firehose message frame could be missed. I am waiting for the review by #atproto team github.com/bluesky-soci... πŸ™ƒ

Firehose consumers do not receive root block in case of too big seq commit. I dug into this because I got reports from Python SDK users that commit.blocks received from the firehose message frame could be missed. I am waiting for the review by #atproto team github.com/bluesky-soci... πŸ™ƒ

github.comFirehose consumers do not receive root block in case of too big seq commit Β· Issue #2893 Β· bluesky-social/atprotoDescribe the bug Firehose consumers do not receive root block in case of too big seq commit. To Reproduce I wrote a corresponding unit test in the linked PR that reproduces the issue Actual behavio...

If the official instances are presented, I think it would be good for the Python SDK to adopt Jetstream as well. We do not struggle with CPU thanks to native bindings, but network bandwidth is crucial

Jaz@jaz.sh

The current public Jetstream instance has been running with `zstd` compression support for ~14 hours now, checking in on performance. The instance supports ~12 consumers right now with varying filters, but that fluctuates throughout the day. All consumers are currently caught up with live.

Ilya (Marshal) reposted

Now available: DMs! Start a private conversation with a friend directly on Bluesky within the Chat tab. πŸ’¬ Update to the latest version of the app (1.83) or refresh on desktop to start chatting!

Python IPLD lib. Thanks to PGO and new Bound API in pyo3 v0.21 I achieved huge performance boost ones again! The pyo3 team did an awesome work! Many thanks to all contributors! Also, I implemented own CAR reader github.com/MarshalX/pyt... #atdev #python #pyo3

github.comRelease v1.2.3 Β· MarshalX/python-libipldWhat's Changed Thanks to PGO and new Bound API in pyo3 v0.21 I achieved huge performance boost ones again! The pyo3 team did an awesome work! Many thanks to all contributors! Also, I implemented ow...