Skip to main content

Python implementation of Bluesky's low level AT Protocol, including repo, MST, and sync methods

Project description

arroba Circle CI Coverage Status

Python implementation of Bluesky's low level 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.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.

  1. Run the unit tests.

    source local/bin/activate.csh
    python3 -m unittest discover
    
  2. Bump the version number in pyproject.toml and docs/conf.py. git grep the old version number to make sure it only appears in the changelog. Change the current changelog entry in README.md for this new version from unreleased to the current date.

  3. 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 opening docs/_build/html/index.html and looking around.

  4. git commit -am 'release vX.Y'

  5. Upload to test.pypi.org for testing.

    python3 -m build
    setenv ver X.Y
    twine upload -r pypitest dist/arroba-$ver*
    
  6. 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
    
  7. Smoke test that the code trivially loads and runs.

    source local/bin/activate.csh
    python3
    # TODO: test code
    deactivate
    
  8. 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
    
  9. 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.

  10. Upload to pypi.org!

    twine upload dist/arroba-$ver.tar.gz dist/arroba-$ver-py3-none-any.whl
    
  11. Wait for the docs to build on Read the Docs, then check that they look ok.

  12. 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

arroba-0.1.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

arroba-0.1-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file arroba-0.1.tar.gz.

File metadata

  • Download URL: arroba-0.1.tar.gz
  • Upload date:
  • Size: 16.3 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

Hashes for arroba-0.1.tar.gz
Algorithm Hash digest
SHA256 33ea0465f9149e2e3d3ccbeb3332ad43d02b4da985ea0631009e44081723074c
MD5 41ed6310661676085dee1990d94cbc48
BLAKE2b-256 318090779f57eaa52106953c769f0f93c87b557cb098d5aa064d51d9c6727b48

See more details on using hashes here.

File details

Details for the file arroba-0.1-py3-none-any.whl.

File metadata

  • Download URL: arroba-0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.4 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

Hashes for arroba-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 27ec827713cec0566f6ce3a6a47fbda85adaa57cde46d164fa3091c365e57798
MD5 cd4b700815bd0dd0f56550e5857cc3c9
BLAKE2b-256 ea9b2082dd2835adaeb603e61910eae4ada30c30688b558736a88b9565bc4fa1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page