AD
Launch on Firsto—Launch your project today — get a DR57 backlink instantly.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Python
  3. /python-libipld
MarshalX

python-libipld

A Python SDK for Bluesky and AT Protocol by MarshalX

🏎️ Fast Python library to work with IPLD: DAG-CBOR, CID, CAR, multibase

GitHub Stats

21stars
5forks
4contributors
6open issues

Dates

Created:September 3, 2023
Last updated:July 4, 2025

README

The following content is from python-libipld's GitHub repository. All rights reserved by the original author.

Python IPLD

This project aims to speed up The AT Protocol SDK by using Rust for the heavy lifting. Only atproto related parts are implemented first.

Code snippet:

import libipld

# CID
print(libipld.decode_cid('bafyreig7jbijxpn4lfhvnvyuwf5u5jyhd7begxwyiqe7ingwxycjdqjjoa'))
# Output: {'hash': {'size': 32, 'code': 18, 'digest': b'\xdfHP\x9b\xbd\xbcYOV\xd7\x14\xb1{N\xa7\x07\x1f\xc2C^\xd8D\t\xf44\xd6\xbe\x04\x91\xc1)p'}, 'version': 1, 'codec': 113}
print(libipld.encode_cid(b'\x01q\x12 \xb6\x81\x1a\x1d\x7f\x8c\x17\x91\xdam\x1bO\x13m\xc0\xe2&y\xea\xfe\xaaX\xd6M~/\xaa\xd5\x89\x0e\x9d\x9c'))
# Output: bafyreifwqenb274mc6i5u3i3j4jw3qhcez46v7vkldle27rpvlkysdu5tq

# DAG-CBOR
print(libipld.decode_dag_cbor(b'\xa2aa\x0cabfhello!'))
# Output: {'a': 12, 'b': 'hello!'}
print(libipld.encode_dag_cbor({'a': 12, 'b': 'hello!'}))
# Output: b'\xa2aa\x0cabfhello!'

# multibase
print(libipld.decode_multibase('ueWVzIG1hbmkgIQ'))
# Output: ('u', b'yes mani !')
print(libipld.encode_multibase('u', b'yes mani !'))
# Output: ueWVzIG1hbmkgIQ

Features

🔗 CID (Content Identifier) Operations
  • decode_cid(data: str | bytes) -> dict - Decode CIDs from string representation (e.g., 'bafy...') or raw bytes into structured data containing version, codec, and hash information
  • encode_cid(data: str | bytes) -> str - Encode CID raw bytes to string representation, or return string CIDs as-is
📦 DAG-CBOR (Directed Acyclic Graph CBOR) Operations
  • decode_dag_cbor(data: bytes) -> Any - Decode DAG-CBOR binary data into Python objects (dicts, lists, primitives)
  • decode_dag_cbor_multi(data: bytes) -> list[Any] - Decode multiple concatenated DAG-CBOR objects from a single byte stream
  • encode_dag_cbor(data: Any) -> bytes - Encode Python objects into DAG-CBOR binary format
🌐 Multibase Operations
  • decode_multibase(data: str) -> tuple[str, bytes] - Decode multibase-encoded strings, returning the base identifier and decoded data
  • encode_multibase(code: str, data: str | bytes) -> str - Encode data using specified multibase encoding (e.g., base58btc with code 'u')
🚗 CAR (Content Addressable Archives) Operations
  • decode_car(data: bytes) -> tuple[dict, dict[bytes, dict]] - Decode CAR files into header metadata and a mapping of CID bytes to block data

Requirements

  • Python 3.8 or higher.

Installing

You can install or upgrade libipld via

pip install -U libipld

Contributing

Contributions of all sizes are welcome.

License

MIT

Topics

atprotociddag-cbordecodingencodingipldmultibase

Related SDKs

snarfedgranary

💬 The social web translator

496•Python
bluesky-socialcookbook

A collection of example projects and scripts for atproto development.

166•Python
Linus2punkt0bluesky-crossposter

An app for crossposting your posts from bluesky to twitter and mastodon

263•Python
MarshalXatproto

The AT Protocol (🦋 Bluesky) SDK for Python 🐍

614•Python
snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1085•Python
snarfedarroba

Python implementation of Bluesky PDS and AT Protocol, including repo, MST, and sync XRPC methods

71•Python

Resources

GitHub RepositoryProject Website

License

MIT

Author

MarshalX
MarshalX

Activity

Last commit: July 4, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.