Ilya (Marshal) @marshal.dev · 20/09/2026Just the zone. I didn't spot any changes in the VO2 max algorithm. Even the version is the same (4). BUT they added video-based assessment with the help of Apple Watch or AirPods as an HR tracker P.S. I love and use the Super Age app 110
Ilya (Marshal) @marshal.dev · 20/09/2026iOS 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 140
Ilya (Marshal) @marshal.dev · 10/09/2026AT 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 #pythonatproto.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... 040
Ilya (Marshal) @marshal.dev · 19/08/2026github.com/MarshalX/atp...github.comFix JSON serialization of blobs decoded from DAG-CBOR by MarshalX · Pull Request #708 · MarshalX/atproto 110
Ilya (Marshal) @marshal.dev · 18/08/2026cc @alex.bsky.team, fyi @emily.space (pls be a beta tester) 120
Ilya (Marshal) @marshal.dev · 18/08/2026Shipped! 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... 2164
Ilya (Marshal) @marshal.dev · 18/08/2026okay github.com/MarshalX/atp...github.comRelease v0.0.70 · MarshalX/atprotoWhat's Changed 🛩️ Jetstream v2 support: live tail with dict-zstd compression (~65% less bandwidth) and full network replay via snapshot() and replay() Add atproto_jetstream package with Jetstream ... 050
Ilya (Marshal) @marshal.dev · 28/05/2026The AT Protocol SDK for Python now supports @standard.site lexicons! 🐍 You can now read and write publication, document, and subscription records. The same long-form schemas powering @leaflet.pub, @pckt.blog, and @offprint.app. atproto.blueatproto.blueDocumentationThe AT Protocol SDK documentation for Python 1162
Ilya (Marshal) @marshal.dev · 27/05/2026Oops, now there is v3.4.1 with even more performance (up to +7%) and parity with other libraries #atproto 030
Ilya (Marshal) @marshal.dev · 26/05/2026🚀 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 1153
Ilya (Marshal) @marshal.dev · 01/12/2025And as a self-promo yeah, I am looking for a job :) Here is my CV: marshal.devmarshal.devIlya Siamionau | CVSoftware Engineer 032
Ilya (Marshal) @marshal.dev · 01/12/2025Bluesky 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! ... 4568
Ilya (Marshal) @marshal.dev · 21/11/2025David’s one is also C. But the difference between is huuuuuuge 010
Ilya (Marshal) @marshal.dev · 21/11/2025After looking closer Ruby’s results look too good to believe 🤩 pls share the trick 100
Ilya (Marshal) @marshal.dev · 22/10/2025A lot of things happened! The non-career life got a huge revamp with huge fat loss, more gym and car enthusiasms, and prospects for my own family. I got a lot done on my current work, and in the coming month gonna start looking for a new job! Now I am just playing BF6 and riding across Poland 🇵🇱 120
Ilya (Marshal) @marshal.dev · 22/10/2025A little bit delayed post XD. The full historical convo and bugs list is available here: github.com/MarshalX/pyt...github.comDASL Testing: Tier 1 · Issue #57 · MarshalX/python-libipldHello, I work on DASL Testing, a project funded by IPFS to test dag-cbor libraries. I'm filing this issue to report on "Tier 1" bugs we've discovered in python-libipld. More information is availabl... 010
Ilya (Marshal) @marshal.dev · 22/10/2025Thanks to @makeworld.space, Fast IPLD lib for Python is shiny as never before! Many panics and out-of-specification bugs have been fixed. Amazing DASL Testing: hyphacoop.github.io/dasl-testing/hyphacoop.github.ioDASL Testing 151
Ilya (Marshal) @marshal.dev · 22/10/2025The 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. 1141
Ilya (Marshal) @marshal.dev · 21/04/2025@atproto.com are you gonna be our trusted verifier? 🙂 #atproto 040
Ilya (Marshal) @marshal.dev · 11/04/2025🚀 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 #atprotogithub.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... 0181
Ilya (Marshal) @marshal.dev · 03/03/2025Only because I don’t want to have a broken example someday because you forgot that this post is in use and it’s forbidden to delete 🥲 120
Ilya (Marshal) @marshal.dev · 23/02/2025Add sync firehose message support, the latest lexicon update, and more github.com/MarshalX/atp... #atprotogithub.comRelease v0.0.59 · MarshalX/atprotoWhat's Changed Add support for the repository #sync message in the subscribe repos firehose by @MarshalX in #556 Add chat.* and tools.* models to the main menu of documentation by @MarshalX in #55... 0100
Ilya (Marshal) @marshal.dev · 03/01/2025if we are talking about uploaded videos, then you can use video.bsky.app/watch/. it will give you m3u8. also you could try to get a raw blob but idkvideo.bsky.app 010
Reposted by Ilya (Marshal)Jer @jeremie.com · 30/12/2024Fun 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 😅 0284
Ilya (Marshal) @marshal.dev · 13/12/2024gratz! now you will struggle with pydantic`s memory consumption xD 000
Ilya (Marshal) @marshal.dev · 12/12/2024i provide like 97 different pre-built wheels... if you are using something special be ready for pain pypi.org/project/libi...pypi.orglibipldPython binding to the Rust IPLD library 000
Ilya (Marshal) @marshal.dev · 12/12/2024pure python is "dag_cbor". that's how it slow: github.com/DavidBuchana...github.comGitHub - DavidBuchanan314/dag-cbor-benchmark: Test data for benchmarking dag-cbor decoders and encodersTest data for benchmarking dag-cbor decoders and encoders - DavidBuchanan314/dag-cbor-benchmark 020
Ilya (Marshal) @marshal.dev · 06/12/2024What is inside bad request error? The server should tell more details 110
Ilya (Marshal) @marshal.dev · 06/12/2024Thank you for your contribution! Test coverage, performance benchmarks, and more — that's very professional. I appreciate it! 050
Ilya (Marshal) @marshal.dev · 02/12/2024Welp, the code generator is ready and cli to use it as well. But binding models to the existing xrpc client is tricky. This is something what I want to improve one day and have ideas 000
Ilya (Marshal) @marshal.dev · 18/11/2024This is repo structure. I did not implement tree walker in SDK yet (no ones requested). Here is the spec: atproto.com/specs/reposi...atproto.comRepository - AT ProtocolSelf-authenticating storage for public account content 130
Ilya (Marshal) @marshal.dev · 17/11/2024The 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 051
Ilya (Marshal) @marshal.dev · 17/11/2024And since Python 3.8 died more than moth ago, it looks like I can finally use Py_EnterRecursiveCall CAPI github.com/MarshalX/pyt...github.comSegfault on decoding of nested lists and maps · Issue #9 · MarshalX/python-libipldthese benchmarks fail. ref https://github.com/DavidBuchanan314/dag-cbor-benchmark Decode Torture Tests: ===================== torture_cids.dagcbor libipld 75.2 ms (51.98 MB/s) torture_nested_lists.... 010
Ilya (Marshal) @marshal.dev · 17/11/2024Today's Python SDK incident with segfault comes from Firehose raises the priority of the proper bugfix 🫠 github.com/MarshalX/atp... tl;dr no recursion limit; malformed payloads in the network could lead to segfaults of python-libipld (rust binding)github.comSegmentation fault (core dumped) in CAR reading from Firehose · Issue #437 · MarshalX/atprotoi was consuming data from the firehouse, specifically at cursor: 3720770000, every time i get a consistent Core Dumped I managed to find the crash is coming from: .venv/lib/python3.12/site-packages... 261
Ilya (Marshal) @marshal.dev · 02/11/2024Hi, you can provide any other PDS URL to the client constructor already 110
Ilya (Marshal) @marshal.dev · 24/10/2024Firehose 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... 040