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 · 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 · 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/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 · 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 · 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
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 · 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 · 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/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 · 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
Ilya (Marshal) @marshal.dev · 21/10/2024300 stars on GitHub github.com/MarshalX/atp... (atproto.blue) 🎉 1120
Ilya (Marshal) @marshal.dev · 24/09/2024If 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 170
Ilya (Marshal) @marshal.dev · 17/09/2024Bluesky now has over 10 million users, and I was #17,636! 0100
Ilya (Marshal) @marshal.dev · 13/09/2024This is how easy you can upload video to Bluesky using Python! Thanks to @meorge.com contribution which adds send_video method! #atdev 1142
Ilya (Marshal) @marshal.dev · 08/09/2024⚡ I finally dropped a new batch of optimizations for the fast Python IPLD library. Now we can read atproto repositories and firehose commits 30% faster! My local benchmarks show 200 MB/sec. GitHub Release: github.com/MarshalX/pyt... 4194
Ilya (Marshal) @marshal.dev · 30/08/2024Detach quote posts support and performance improvement for JSON parsing in github.com/MarshalX/atp...github.comRelease v0.0.50 · MarshalX/atprotoWhat's Changed Use jiter instead of the built-in json module to improve performance by @MarshalX in #360 Update docs example to fix empty blocks of commit by @MarshalX in #363 Bump certifi from 20... 020
Ilya (Marshal) @marshal.dev · 04/07/2024do not like 🤫 github.com/MarshalX/atp...github.comRelease v0.0.49 · MarshalX/atprotoWhat's Changed Breaking changes for Direct Messages. Now you must create a client with a chat proxy. See the updated documentation. Add automatically switching to PDS endpoint after login and sess... 000
Ilya (Marshal) @marshal.dev · 22/05/2024Just shipped: Bluesky Direct Messages in Python SDK! atproto.blue/en/latest/dm... #atprotoatproto.blue💬 Direct Messages (Chats)Bluesky Direct Messages were launched on May 22, 2024. It began as a simple chat system for Bluesky users to communicate with one another. Currently, only text messages are supported. The Python SD... 44713
Reposted by Ilya (Marshal)Bluesky @bsky.app · 22/05/2024Now 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! 25975663983
Ilya (Marshal) @marshal.dev · 25/04/2024🦋 Blueskymedia.tenor.comButterflies Sky GIFALT: Butterflies Sky GIF 050
Ilya (Marshal) @marshal.dev · 13/04/2024The atproto custom feed is open for public view now(with respect of your privacy settings of course)! No login required! bsky.app/profile/did:... 051
Ilya (Marshal) @marshal.dev · 14/03/2024Content labeling (moderation) is here! This update brings labeling data-stream support as well ozone.tools API! github.com/MarshalX/atp... #atdev #pythongithub.comRelease v0.0.45 · MarshalX/atprotoWhat's Changed Content labeling (moderation) is here! This update brings labeling data-stream support as well ozone.tools API! Example how to subscribe and process labeling update Updated document... 1122
Ilya (Marshal) @marshal.dev · 11/03/2024Python 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 #pyo3github.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... 030
Ilya (Marshal) @marshal.dev · 07/03/2024🦋 My Open Source project received the initial AT Protocol Grant! (1/6) Bluesky PBC extended the grant to me and my project AT Protocol Python SDK. This project began last spring intending to offer a well-documented, fully-featured, and modern SDK for working with atproto and BlueSky in Python. 6183
Reposted by Ilya (Marshal)AT Protocol Developers @atproto.com · 06/03/2024Announcing AT Protocol Grants, to foster the growth and sustainability of the atproto developer ecosystem! In the first iteration, we’ll distribute a total of $10,000 in micro grants of $500 to $2,000 per project based on factors like cost, usage, and more. Read more and apply here:docs.bsky.appAnnouncing AT Protocol Grants | BlueskyWe’re excited to announce the AT Protocol Grants program, aimed at fostering the growth and sustainability of our developer ecosystem. 21546203
Reposted by Ilya (Marshal)Bluesky @bsky.app · 28/02/2024📢 App Version 1.70 is rolling out now (1/6) Hashtags! You can now use #hashtags in your posts. When you tap them, you’ll get a menu with lots of handy options: 25985644324
Ilya (Marshal) @marshal.dev · 24/02/2024DAG-CBOR decoder for Python got at least x2 performance boost. If you are owner of custom feed in Python just run "pip install -U libipld" and reduce your CPU usage! #atdev github.com/MarshalX/pyt...github.comRelease v1.1.1 · MarshalX/python-libipldWhat's Changed Add error handling by @MarshalX in #4 Improve performance (at least x2 boost for CAR and DAG-CBOR decoding) by @MarshalX in #4 Fix CID decoding in DAG-CBOR by @MarshalX in #4 Full... 150
Ilya (Marshal) @marshal.dev · 22/02/2024Python SDK now supports API for Account Migration between PDS! #atdev github.com/MarshalX/atp... 2101
Reposted by Ilya (Marshal)Bluesky @bsky.app · 22/02/2024Today, we’re excited to announce that the Bluesky network is federating, or opening up in a way that allows you to host your own data! Read more here for how this will affect your experience on Bluesky (in short: it won’t) and why this matters. bsky.social/about/blog/0...bsky.socialBluesky: An Open Social Web - BlueskyToday, we’re excited to announce that the Bluesky network is federating, or opening up in a way that allows you to host your own data. 12634861260
Ilya (Marshal) @marshal.dev · 17/02/2024The AT Protocol SDK for Python is getting better with pyright static type checker. Fixed several bugs (possible and impossible xd) v0.0.42: github.com/MarshalX/atp... #atdevgithub.comRelease v0.0.42 · MarshalX/atprotoWhat's Changed Add send_ogp_link_card.py (Open Graph protocol) example by @OhkuboSGMS in #273 Update lexicons fetched from 8c94979 committed 2024-02-16T02:12:39Z by @MarshalX in #279 Bump cryptogr... 080
Ilya (Marshal) @marshal.dev · 17/02/2024Lexicon updating is automated including creating a pull request on GitHub in Python SDK! I like how bsky team writes docs for lexicon and it goes right to Python code and deploys automatically on atproto.blue Example PR: github.com/MarshalX/atp...atproto.blueDocumentationThe AT Protocol SDK documentation for Python 041
Ilya (Marshal) @marshal.dev · 17/02/2024lmao. bug with data backfilling was with us for about 9 months 🦋 Bluesky custom feed in Python: github.com/MarshalX/blu... 140
Ilya (Marshal) @marshal.dev · 09/02/2024I wrote up the docs about how you could organize proper work with Bluesky sessions in Python SDK: atproto.blue/en/latest/at... #atdevatproto.blueAuthThe AT Protocol has two kinds of authentication: client-server and service-to-service. This page describes the basics of client-server authentication. Login: Login takes a username (handle) and pas... 172
Reposted by Ilya (Marshal)AT Protocol Developers @atproto.com · 08/02/2024You can also find more great guides on the firehose from 📄 @marshal.dev in Python atproto.blue/en/latest/at... 📄 @shinyakato.dev in Dart atprotodart.com/docs/package... 0324
Reposted by Ilya (Marshal)Bluesky @bsky.app · 07/02/2024Welcome to Bluesky, everyone! We opened access yesterday, and we just crossed 4M people total on the network. 🎉 • 800k+ new users have signed up • Averaged 8.5 new accounts/second • 2M posts were created in the last 24 hours We're so excited to have you here! 458143672635
Reposted by Ilya (Marshal)qdot @buttplug.engineer · 06/02/2024Got @mozzius.dev's VisionOS bluesky client up and running on my Apple Vision Pro! Now I can skeet hands-free! (Except I don't think there's posting support yet) 39410
Reposted by Ilya (Marshal)Bluesky @bsky.app · 06/02/2024You can now sign up for Bluesky without an invite! 🎉 bsky.social/about/blog/0...bsky.socialJoin Bluesky Today (Bye, Invites!) - BlueskySign up for Bluesky! No invite code required. 542131466875
Reposted by Ilya (Marshal)AT Protocol Developers @atproto.com · 06/02/2024Developers, build in an open ecosystem that will never lock you out 🛠️ Check out tutorials, starter templates, and a project showcase for the Bluesky API on our new docs site here! docs.bsky.appdocs.bsky.appBluesky Documentation | BlueskyExplore guides and tutorials to the Bluesky API. 321324422
Ilya (Marshal) @marshal.dev · 06/02/2024The AT Protocol SDK for Python is on the main page of the new Bluesky documentation website! www.docs.bsky.app 280
Reposted by Ilya (Marshal)bryan newbold @bnewbold.net · 05/02/2024atproto dev folks! got a list of "known known tech debt" over here on github. trying to give transparency about what might change in small breaking ways, though we don't have dates or deadlines for most of thesegithub.comProtocol Tech Debt (2024) · bluesky-social atproto · Discussion #2128This is a living list of known issues with atproto, as it is running today in the live network, which we would like to change or fix. It isn’t a list of missing protocol features or product feature.... 04612
Ilya (Marshal) @marshal.dev · 04/02/2024Syntax sugar for records is here! Check out how simple work with basic operations is (img). More changes: github.com/MarshalX/atp... 140