Skip to content

Commit

Permalink
Merge branch '9.2' into main
Browse files Browse the repository at this point in the history
# Conflicts:
#	eventsourcing/__init__.py
  • Loading branch information
johnbywater committed Oct 14, 2023
2 parents 14c3e26 + 0741f00 commit 3028b2a
Show file tree
Hide file tree
Showing 51 changed files with 1,430 additions and 860 deletions.
12 changes: 7 additions & 5 deletions .github/workflows/runtests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,18 @@ jobs:

runs-on: ubuntu-latest
strategy:
max-parallel: 4
max-parallel: 20
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
postgres-version: ["12", "13", "14", "15"]

# Service containers to run with `runner-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
image: postgres:${{ matrix.postgres-version }}
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
Expand All @@ -41,6 +42,7 @@ jobs:
run: |
PGPASSWORD=postgres psql -c 'CREATE DATABASE eventsourcing;' -U postgres -h localhost
PGPASSWORD=postgres psql -c "CREATE USER eventsourcing WITH PASSWORD 'eventsourcing';" -U postgres -h localhost
PGPASSWORD=postgres psql -c "ALTER DATABASE eventsourcing OWNER TO eventsourcing;" -U postgres -h localhost
PGPASSWORD=postgres psql eventsourcing -c "CREATE SCHEMA myschema AUTHORIZATION eventsourcing" -U postgres -h localhost
- name: Install
Expand All @@ -63,10 +65,10 @@ jobs:
needs: lint-and-test-code
runs-on: ubuntu-latest
strategy:
max-parallel: 4
max-parallel: 5
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v2
Expand Down
38 changes: 38 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- method: pip
path: .
extra_requirements:
- docs
5 changes: 0 additions & 5 deletions .readthedocs.yml

This file was deleted.

2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2022, John Bywater
Copyright (c) 2023, John Bywater
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
26 changes: 14 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,21 +168,22 @@ The GitHub organisation
[Event Sourcing in Python](https://github.com/pyeventsourcing)
hosts extension projects for the Python eventsourcing library.
There are projects that adapt popular ORMs such as
[Django](https://github.com/pyeventsourcing/eventsourcing-django)
and [SQLAlchemy](https://github.com/pyeventsourcing/eventsourcing-sqlalchemy).
[Django](https://github.com/pyeventsourcing/eventsourcing-django#readme)
and [SQLAlchemy](https://github.com/pyeventsourcing/eventsourcing-sqlalchemy#readme).
There are projects that adapt specialist event stores such as
[Axon Server](https://github.com/pyeventsourcing/eventsourcing-axonserver),
[EventStoreDB](https://github.com/pyeventsourcing/eventsourcing-eventstoredb).
[Axon Server](https://github.com/pyeventsourcing/eventsourcing-axonserver#readme) and
[EventStoreDB](https://github.com/pyeventsourcing/eventsourcing-eventstoredb#readme).
There are projects that support popular NoSQL databases such as
[DynamoDB](https://github.com/pyeventsourcing/eventsourcing-dynamodb)
and MongoDB.
[DynamoDB](https://github.com/pyeventsourcing/eventsourcing-dynamodb#readme).
There are also projects that provide examples of using the
library with web frameworks as
[FastAPI](https://github.com/pyeventsourcing/example-fastapi)
and [Flask](https://github.com/pyeventsourcing/example-flask).
library with web frameworks such as
[FastAPI](https://github.com/pyeventsourcing/example-fastapi#readme)
and [Flask](https://github.com/pyeventsourcing/example-flask#readme),
and for serving applications and running systems with efficient
inter-process communication technologies like [gRPC](https://github.com/pyeventsourcing/eventsourcing-grpc#readme).
And there are examples of event-sourced applications and systems
of event-sourced applications, such as the
[Paxos system](https://github.com/pyeventsourcing/example-paxos),
[Paxos system](https://github.com/pyeventsourcing/example-paxos#readme),
which is used as the basis for a
[replicated state machine](https://github.com/pyeventsourcing/example-paxos/tree/master/replicatedstatemachine),
which is used as the basis for a
Expand All @@ -196,7 +197,8 @@ Please register questions, requests and
[issues on GitHub](https://github.com/pyeventsourcing/eventsourcing/issues),
or post in the project's Slack channel.

There is a [Slack channel](https://join.slack.com/t/eventsourcinginpython/shared_invite/enQtMjczNTc2MzcxNDI0LTJjMmJjYTc3ODQ3M2YwOTMwMDJlODJkMjk3ZmE1MGYyZDM4MjIxODZmYmVkZmJkODRhZDg5N2MwZjk1YzU3NmY)
for this project, which you are [welcome to join](https://join.slack.com/t/eventsourcinginpython/shared_invite/enQtMjczNTc2MzcxNDI0LTJjMmJjYTc3ODQ3M2YwOTMwMDJlODJkMjk3ZmE1MGYyZDM4MjIxODZmYmVkZmJkODRhZDg5N2MwZjk1YzU3NmY).
There is a [Slack channel](https://join.slack.com/t/eventsourcinginpython/shared_invite/zt-3hogb36o-LCvKd4Rz8JMALoLSl_pQ8g)
for this project, which you are [welcome to join](https://join.slack.com/t/eventsourcinginpython/shared_invite/zt-3hogb36o-LCvKd4Rz8JMALoLSl_pQ8g).

Please refer to the [documentation](https://eventsourcing.readthedocs.io/) for installation and usage guides.

6 changes: 3 additions & 3 deletions dev/RELEASE_SCRIPT.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Steps to make a new release.
1. Review versions of all dependencies.
2. Go to the minor version branch, or create a minor version branch.
3. Check release notes describe what's new in this release.
4. Increase version number to new release version number.
5. Check copyright year in LICENSE file.
4. Check package version number is correct new release version number.
5. Check copyright year in LICENSE file and docs conf.py.
6. Run 'make prepush'.
7. Run 'make prepare-dist'.
8. Fix any errors, until built distribution is working.
Expand All @@ -23,4 +23,4 @@ Steps to make a new release.
19. Run 'make test-released-distribution' script (from project root directory).
20. Checkout main branch.
21. Merge changes into main branch.
22. Check version number on main branch is next minor version + '.0dev0'.
22. Increase version number (on main branch to next minor version + '.0dev0', or on release branch to next point version).
6 changes: 5 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
# -- Project information -----------------------------------------------------

project = 'eventsourcing'
copyright = '2022, John Bywater'
copyright = '2023, John Bywater'
author = 'John Bywater'

# The full version, including alpha/beta/rc tags
Expand All @@ -48,6 +48,10 @@
'sphinx.ext.viewcode',
]

autodoc_default_options = {
'inherited-members': False,
}

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

Expand Down
4 changes: 2 additions & 2 deletions docs/topics/application.rst
Original file line number Diff line number Diff line change
Expand Up @@ -348,8 +348,8 @@ Selecting notifications from the log
The :func:`~eventsourcing.application.LocalNotificationLog.select` method of a
notification log can be used to directly select a sub-sequence of
:ref:`event notification objects <Notification objects>` from a notification log.
In the example below, the first three event notifications are selected from the
notification log of the ``application`` object.
In the example below, the first two event notifications are selected from the
notification log of the :class:`~eventsourcing.application.Application` object.

.. code-block:: python
Expand Down
Loading

0 comments on commit 3028b2a

Please sign in to comment.