Python implementation of Bluesky PDS and AT Protocol, including repo, MST, and sync methods
Project description
arroba
Python implementation of Bluesky PDS and AT Protocol, including data repository, Merkle search tree, and com.atproto.sync XRPC methods.
Arroba is the Spanish word for the @ character ("at sign").
Install from PyPI with pip install arroba
.
License: This project is placed into the public domain.
Usage
TODO
Changelog
0.2 - 2023-05-18
Implement repo and commit chain in new Repo class, including pluggable storage. This completes the first pass at all PDS data structures. Next release will include initial implementations of the com.atproto.sync.*
XRPC methods.
0.1 - 2023-04-30
Initial release! Still very in progress. MST, Walker, and Diff classes are mostly complete and working. Repo, commits, and sync XRPC methods are still in progress.
Release instructions
Here's how to package, test, and ship a new release.
-
Run the unit tests.
source local/bin/activate.csh python3 -m unittest discover
-
Bump the version number in
pyproject.toml
anddocs/conf.py
.git grep
the old version number to make sure it only appears in the changelog. Change the current changelog entry inREADME.md
for this new version from unreleased to the current date. -
Build the docs. If you added any new modules, add them to the appropriate file(s) in
docs/source/
. Then run./docs/build.sh
. Check that the generated HTML looks fine by openingdocs/_build/html/index.html
and looking around. -
git commit -am 'release vX.Y'
-
Upload to test.pypi.org for testing.
python3 -m build setenv ver X.Y twine upload -r pypitest dist/arroba-$ver*
-
Install from test.pypi.org.
cd /tmp python3 -m venv local source local/bin/activate.csh pip3 uninstall arroba # make sure we force pip to use the uploaded version pip3 install --upgrade pip pip3 install -i https://test.pypi.org/simple --extra-index-url https://pypi.org/simple arroba==$ver deactivate
-
Smoke test that the code trivially loads and runs.
source local/bin/activate.csh python3 # TODO: test code deactivate
-
Tag the release in git. In the tag message editor, delete the generated comments at bottom, leave the first line blank (to omit the release "title" in github), put
### Notable changes
on the second line, then copy and paste this version's changelog contents below it.git tag -a v$ver --cleanup=verbatim git push && git push --tags
-
Click here to draft a new release on GitHub. Enter
vX.Y
in the Tag version box. Leave Release title empty. Copy### Notable changes
and the changelog contents into the description text box. -
Upload to pypi.org!
twine upload dist/arroba-$ver.tar.gz dist/arroba-$ver-py3-none-any.whl
-
Wait for the docs to build on Read the Docs, then check that they look ok.
-
On the Versions page, check that the new version is active, If it's not, activate it in the Activate a Version section.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file arroba-0.2.tar.gz
.
File metadata
- Download URL: arroba-0.2.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.8.1 requests/2.27.1 setuptools/65.6.3 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbfb4de054e5627ee6c2f39ee105eec19b00bf7cf90437d34b4635ff2d33c8be |
|
MD5 | a1946e18e79fd727cfdd535f60f81c25 |
|
BLAKE2b-256 | 15900aa63f14b1578af150f069a981df70a6503625c8ea513acc060ad8d87c1f |
File details
Details for the file arroba-0.2-py3-none-any.whl
.
File metadata
- Download URL: arroba-0.2-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.8.1 requests/2.27.1 setuptools/65.6.3 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c103b0416177c777321372df71049160b20ff65fb279c12e0c26a33fe5f8b11 |
|
MD5 | f376e0e3f68167ecd514fb9efad3b8a7 |
|
BLAKE2b-256 | 2117b1d8ae6d92c44b6255ce367b044ccc6a4baca7c146eeb1e5fa6e1f11e58e |