AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Python
  3. /millipds
DavidBuchanan314

millipds

A Python SDK for Bluesky and AT Protocol by DavidBuchanan314

A from-scratch atproto PDS implementation in Python

GitHub Stats

131stars
9forks
3contributors
37open issues

Dates

Created:February 25, 2024
Last updated:May 18, 2025

README

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

millipds [WIP]

A from-scratch atproto PDS implementation that dreams of becoming "production grade" software (it isn't, yet).

millipds is a successor to DavidBuchanan314/picopds, which is even more minimalist, but hacky and no longer maintained.

It works to the extent that it can "federate" with the rest of the atproto network, but there are a lot of rough edges still. I wouldn't currently recommend using it for anything other than testing or experimentation (although, due to the nature of atproto, if you don't like it you can seamlessly migrate your whole account elsewhere). Until millipds reaches v1.0.0, I reserve the right to make breaking DB schema changes without providing a migration path.

It depends on DavidBuchanan314/atmst for implementing logic related to the Merkle Search Tree data structure, and DavidBuchanan314/dag-cbrrr for DAG-CBOR parsing and serialisation.

See https://github.com/DavidBuchanan314/millipds/issues/12 for an incomplete list of differences between this implementation and the reference implementation.

Local dev install:

git clone https://github.com/DavidBuchanan314/millipds
cd millipds
python3 -m pip install -e .

Dockerised dev install, via podman:

(note: I have no idea what I'm doing with this!)

podman build -f millipds_dev.dockerfile -t millipds_dev
podman run --rm -it -p 8123:8123 millipds_dev

Production deployment on Ubuntu (and similar systems) [WIP]

See ./docs/DEPLOY.md

Running the tests locally

python3 -m pip install -e .[test]  # install the testing dependencies (only needed once, unless new deps are added)
python3 -m pytest .  # run the tests

Topics

atprotoatproto-pdsatprotocolmerkle-search-treepythonpython3

Related SDKs

dannguyendancow-bluesky-fun-api-tool

Just having fun with python and Bluesky's AT Protocol. Trying to build a simple CLI and enough of SDK to easily explore and collect my own Bluesky data

1•Python
TahomaSoftSaxeBlueskyPython

A small python library to post basic text and media to bsky.app via atproto's xrpc API.

1•Python
Gorcenskiskeeter-deleter

A script for auto-deleting Bluesky posts

65•Python
Zetaphorbsky-altometer

A site that measures the current percentage of Bluesky posts missing alt text

7•Python
snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1002•Python
snarfedgranary

💬 The social web translator

485•Python

Resources

GitHub Repository

License

MIT

Author

DavidBuchanan314
DavidBuchanan314

Activity

Last commit: May 18, 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 listFirsto

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.