Skip to content

Commit

Permalink
release v0.4
Browse files Browse the repository at this point in the history
  • Loading branch information
snarfed committed Sep 19, 2023
1 parent fa78998 commit 19e2cf7
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 17 deletions.
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
exclude build/** dist/** docs/** examples/** l/** local/** arroba/tests/**

14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ License: This project is placed into the public domain.

## Usage

TODO
See [`app.py`](https://github.com/snarfed/arroba/blob/main/app.py) for the minimal wrapper code needed to run a fully functional PDS based on arroba, for testing with the [ATProto federation sandbox](https://atproto.com/blog/federation-developer-sandbox).

Single-user demo PDS based on arroba, for testing with the [ATProto federation sandbox](https://atproto.com/blog/federation-developer-sandbox). Environment variables:
Environment variables:

* `APPVIEW_HOST`, default `api.bsky-sandbox.dev`
* `BGS_HOST`, default `bgs.bsky-sandbox.dev`
Expand All @@ -30,10 +30,12 @@ Single-user demo PDS based on arroba, for testing with the [ATProto federation s
* `REPO_PRIVKEY`, repo user's private key in PEM format, defaults to contents of `privkey.pem` file
* `REPO_TOKEN`, static token to use as both `accessJwt` and `refreshJwt`, defaults to contents of `repo_token` file. Not required to be an actual JWT.

More docs to come!


## Changelog

### 0.4 - unreleased
### 0.4 - 2023-09-19

* Migrate to [ATProto repo v3](https://atproto.com/blog/repo-sync-update). Specifically, the existing `subscribeRepos` sequence number is reused as the new `rev` field in commits. ([Discussion.](https://github.com/bluesky-social/atproto/discussions/1607)).
* Add new `did` module with utilities to create and resolve `did:plc`s and resolve `did:web`s.
Expand Down Expand Up @@ -79,12 +81,14 @@ Here's how to package, test, and ship a new release.
```
1. 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.
1. 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.
1. `git commit -am 'release vX.Y'`
1. ```sh
setenv ver X.Y
git commit -am "release v$ver"
```
1. Upload to [test.pypi.org](https://test.pypi.org/) for testing.

```sh
python3 -m build
setenv ver X.Y
twine upload -r pypitest dist/arroba-$ver*
```
1. Install from test.pypi.org.
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@
# built documents.
#
# The short X.Y version.
version = '0.3'
version = '0.4'
# The full version, including alpha/beta/rc tags.
release = '0.3'
release = '0.4'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
55 changes: 49 additions & 6 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ License: This project is placed into the public domain.
Usage
-----

TODO

Single-user demo PDS based on arroba, for testing with the `ATProto
federation
See `app.py <https://github.com/snarfed/arroba/blob/main/app.py>`__
for the minimal wrapper code needed to run a fully functional PDS based
on arroba, for testing with the `ATProto federation
sandbox <https://atproto.com/blog/federation-developer-sandbox>`__.

Environment variables:

- ``APPVIEW_HOST``, default ``api.bsky-sandbox.dev``
Expand All @@ -45,9 +45,52 @@ Environment variables:
``refreshJwt``, defaults to contents of ``repo_token`` file. Not
required to be an actual JWT.

More docs to come!

Changelog
---------

0.4 - 2023-09-19
~~~~~~~~~~~~~~~~

- Migrate to `ATProto repo
v3 <https://atproto.com/blog/repo-sync-update>`__. Specifically, the
existing ``subscribeRepos`` sequence number is reused as the new
``rev`` field in commits.
(`Discussion. <https://github.com/bluesky-social/atproto/discussions/1607>`__).
- Add new ``did`` module with utilities to create and resolve
``did:plc``\ s and resolve ``did:web``\ s.
- Add new ``util.service_jwt`` function that generates `ATProto
inter-service
JWTs <https://atproto.com/specs/xrpc#inter-service-authentication-temporary-specification>`__.
- ``Repo``:

- Add new ``signing_key``/``rotation_key`` attributes. Generate
store, and load both in ``datastore_storage``.
- Remove ``format_init_commit``, migrate existing calls to
``format_commit``.

- ``Storage``:

- Rename ``read_from_seq`` => ``read_blocks_by_seq`` (and in
``MemoryStorage`` and ``DatastoreStorage``), add new
``read_commits_by_seq`` method.
- Merge ``load_repo`` ``did``/``handle`` kwargs into
``did_or_handle``.

- XRPCs:

- Make ``subscribeRepos`` check storage for all new commits every
time it wakes up.

- As part of this, replace ``xrpc_sync.enqueue_commit`` with new
``send_new_commits`` function that takes no parameters.

- Drop bundled ``app.bsky``/``com.atproto`` lexicons, use
`lexrpc <https://lexrpc.readthedocs.io/>`__\ ’s instead.

.. _section-1:

0.3 - 2023-08-29
~~~~~~~~~~~~~~~~

Expand All @@ -64,7 +107,7 @@ minimal demo code needed to wrap arroba in a fully functional PDS.

- …and much more.

.. _section-1:
.. _section-2:

0.2 - 2023-05-18
~~~~~~~~~~~~~~~~
Expand All @@ -74,7 +117,7 @@ storage. This completes the first pass at all PDS data structures. Next
release will include initial implementations of the
``com.atproto.sync.*`` XRPC methods.

.. _section-2:
.. _section-3:

0.1 - 2023-04-30
~~~~~~~~~~~~~~~~
Expand Down
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# https://packaging.python.org/en/latest/tutorials/packaging-projects/

[build-system]
requires = ['setuptools>=61.0']
requires = ['setuptools>=68.0']
build-backend = 'setuptools.build_meta'

[tool.setuptools]
packages = ['arroba']
[tool.setuptools.packages.find]
where = ['.']

[project]
name = 'arroba'
version = '0.3'
version = '0.4'
authors = [
{ name='Ryan Barrett', email='[email protected]' },
]
Expand Down

0 comments on commit 19e2cf7

Please sign in to comment.