Metadata-Version: 2.1
Name: bl_scrypture
Version: 0.1.0a2
Summary: An event store.
License: AGPL-3.0-or-later
Author: Tanguy Le Carrour
Author-email: tanguy@bioneland.org
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: Flask (>=3.0.0,<4.0.0)
Requires-Dist: bl-seth (>=0.2.0,<0.3.0)
Requires-Dist: bles (>=1.0.0a1,<2.0.0)
Requires-Dist: blessql (>=1.0.0a0,<2.0.0)
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: redis (>=4.6.0,<5.0.0)
Requires-Dist: sqlalchemy (>=2.0.23,<3.0.0)
Description-Content-Type: text/markdown

# Scrypture – a standalone event store

## Install

**TODO**


## Configure

The application is configured using environment variables.

The available configuration variables are:

- `SCRYPTURE_READ_ONLY`
- `SCRYPTURE_DSN`
- `SCRYPTURE_REDIS_HOST`
- `SCRYPTURE_REDIS_PORT`
- `SCRYPTURE_REDIS_DB`


## Initialise

Once configured, you must initialise the database with the dedicated command:

```console
$ scrypture init-db
```


## Run

It requires Redis:

```console
docker run --rm --name scrypture-redis -p 6379:6379 redis
```

As a Flask application, it can be run using any WSGI server,
for instance, with [Gunicorn](https://gunicorn.org):

```console
$ gunicorn \
  --access-logfile="-" \
  --worker-class gevent \
  --workers 4 \
  --bind 127.0.0.1:5000 \
  "bl_scrypture.configuration.wsgi:app()"
```

Notice that we are using `gevent` workers as some clients might follow some streams.


## Contribute

See [CONTRIBUTING.md]() to set up a development environment.

