datasette-litestream


Namedatasette-litestream JSON
Version 0.0.1a10 PyPI version JSON
download
home_page
Summary
upload_time2023-08-14 19:05:13
maintainer
docs_urlNone
authorAlex Garcia
requires_python
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # datasette-litestream

[![PyPI](https://img.shields.io/pypi/v/datasette-litestream.svg)](https://pypi.org/project/datasette-litestream/)
[![Changelog](https://img.shields.io/github/v/release/datasette/datasette-litestream?include_prereleases&label=changelog)](https://github.com/datasette/datasette-litestream/releases)
[![Tests](https://github.com/datasette/datasette-litestream/workflows/Test/badge.svg)](https://github.com/datasette/datasette-litestream/actions?query=workflow%3ATest)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/datasette/datasette-litestream/blob/main/LICENSE)

An experimental Datasette <-> Litestream plugin.

## Installation

Install this plugin in the same environment as Datasette.

    datasette install datasette-litestream

## Usage

```yaml
plugins:
  datasette-litestream:
    metrics-addr: :9090
    all-replicate:
      - file://$PWD/$DB-backup
```

### Replicate a single database to a local directory

```yaml
databases:
  my_database:
    plugins:
      datasette-litestream:
        replicas:
          - path: ./my_database-backup
```

### Replicate a single database to S3

```yaml
databases:
  my_database:
    plugins:
      datasette-litestream:
        replicas:
          - url: s3://my-bucket/my_database
```

1. Environment variables `LITESTREAM_ACCESS_KEY_ID` and `LITESTREAM_SECRET_ACCESS_KEY`. `AWS_ACCESS_KEY_ID` `AWS_SECRET_ACCESS_KEY`
2. Environment variables with `access-key-id` and `secret-access-key` config options.
3. Raw values in `secret-access-key` and `secret-access-key` config options.

### Replicate all databases

```yaml
plugins:
  datasette-litestream:
    all-replicate:
      - s3://my-bucket/$DB
```

## Config

### Top-level

The following are valid keys that are allowed when specifying top-evel

- `all-replicate`
- `access-key-id`
- `secret-access-key`
- `metrics-addr`

None of these keys are required.

Example:

```yaml
plugins:
  datasette-litestream:
    all-replicate:
      - XXX
      - YYY
    access-key-id: $YOUR_KEY
    secret-access-key: $YOUR_SECRET
    metrics-addr: :5001
```

### Database-level

- `replicas`
- `monitor-interval`
- `checkpoint-interval`
- `min-checkpoint-page-count`
- `max-checkpoint-page-count`

```yaml
databases:
  my_database:
    plugins:
      datasette-litestream:
        replicas:
          - XXX
          - XXX
        monitor-interval: XXX
        checkpoint-interval: XXX
        min-checkpoint-page-count: XXX
        max-checkpoint-page-count: XXX
```

## Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

    cd datasette-litestream
    python3 -m venv venv
    source venv/bin/activate

Now install the dependencies and test dependencies:

    pip install -e '.[test]'

To run the tests:

    pytest

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "datasette-litestream",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Alex Garcia",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/8e/4f/fb931d3a53d8a8b9db6b56eb540f8ce4f392a1da0c9491a12103da81b01e/datasette-litestream-0.0.1a10.tar.gz",
    "platform": null,
    "description": "# datasette-litestream\n\n[![PyPI](https://img.shields.io/pypi/v/datasette-litestream.svg)](https://pypi.org/project/datasette-litestream/)\n[![Changelog](https://img.shields.io/github/v/release/datasette/datasette-litestream?include_prereleases&label=changelog)](https://github.com/datasette/datasette-litestream/releases)\n[![Tests](https://github.com/datasette/datasette-litestream/workflows/Test/badge.svg)](https://github.com/datasette/datasette-litestream/actions?query=workflow%3ATest)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/datasette/datasette-litestream/blob/main/LICENSE)\n\nAn experimental Datasette <-> Litestream plugin.\n\n## Installation\n\nInstall this plugin in the same environment as Datasette.\n\n    datasette install datasette-litestream\n\n## Usage\n\n```yaml\nplugins:\n  datasette-litestream:\n    metrics-addr: :9090\n    all-replicate:\n      - file://$PWD/$DB-backup\n```\n\n### Replicate a single database to a local directory\n\n```yaml\ndatabases:\n  my_database:\n    plugins:\n      datasette-litestream:\n        replicas:\n          - path: ./my_database-backup\n```\n\n### Replicate a single database to S3\n\n```yaml\ndatabases:\n  my_database:\n    plugins:\n      datasette-litestream:\n        replicas:\n          - url: s3://my-bucket/my_database\n```\n\n1. Environment variables `LITESTREAM_ACCESS_KEY_ID` and `LITESTREAM_SECRET_ACCESS_KEY`. `AWS_ACCESS_KEY_ID` `AWS_SECRET_ACCESS_KEY`\n2. Environment variables with `access-key-id` and `secret-access-key` config options.\n3. Raw values in `secret-access-key` and `secret-access-key` config options.\n\n### Replicate all databases\n\n```yaml\nplugins:\n  datasette-litestream:\n    all-replicate:\n      - s3://my-bucket/$DB\n```\n\n## Config\n\n### Top-level\n\nThe following are valid keys that are allowed when specifying top-evel\n\n- `all-replicate`\n- `access-key-id`\n- `secret-access-key`\n- `metrics-addr`\n\nNone of these keys are required.\n\nExample:\n\n```yaml\nplugins:\n  datasette-litestream:\n    all-replicate:\n      - XXX\n      - YYY\n    access-key-id: $YOUR_KEY\n    secret-access-key: $YOUR_SECRET\n    metrics-addr: :5001\n```\n\n### Database-level\n\n- `replicas`\n- `monitor-interval`\n- `checkpoint-interval`\n- `min-checkpoint-page-count`\n- `max-checkpoint-page-count`\n\n```yaml\ndatabases:\n  my_database:\n    plugins:\n      datasette-litestream:\n        replicas:\n          - XXX\n          - XXX\n        monitor-interval: XXX\n        checkpoint-interval: XXX\n        min-checkpoint-page-count: XXX\n        max-checkpoint-page-count: XXX\n```\n\n## Development\n\nTo set up this plugin locally, first checkout the code. Then create a new virtual environment:\n\n    cd datasette-litestream\n    python3 -m venv venv\n    source venv/bin/activate\n\nNow install the dependencies and test dependencies:\n\n    pip install -e '.[test]'\n\nTo run the tests:\n\n    pytest\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "",
    "version": "0.0.1a10",
    "project_urls": {
        "CI": "https://github.com/datasette/datasette-litestream/actions",
        "Changelog": "https://github.com/datasette/datasette-litestream/releases",
        "Homepage": "https://github.com/datasette/datasette-litestream",
        "Issues": "https://github.com/datasette/datasette-litestream/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c74804285b84d7f19657e57d8d7d748ced6680691428dd651a9728544ea08a69",
                "md5": "115a7c7fcbd0168ba096e24a49028614",
                "sha256": "5aa262c7a75bdcc2624e7ef7bc10c3773a8088b44dae56b66355e3b9d7b4d52b"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "115a7c7fcbd0168ba096e24a49028614",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10970,
            "upload_time": "2023-08-14T19:04:58",
            "upload_time_iso_8601": "2023-08-14T19:04:58.723991Z",
            "url": "https://files.pythonhosted.org/packages/c7/48/04285b84d7f19657e57d8d7d748ced6680691428dd651a9728544ea08a69/datasette_litestream-0.0.1a10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a32f31769c3a3497798e5f7f21dfcf731901b3436edfb2c71790b14f0f9363d",
                "md5": "3b3dfa9a584a33a1db6281fe0b9368e9",
                "sha256": "265337d03a7565f49bd6ce05d42edc2ba5a012a3f020001f15b3afa9c9e289fa"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-linux_armv7l.whl",
            "has_sig": false,
            "md5_digest": "3b3dfa9a584a33a1db6281fe0b9368e9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8908721,
            "upload_time": "2023-08-14T19:05:00",
            "upload_time_iso_8601": "2023-08-14T19:05:00.865922Z",
            "url": "https://files.pythonhosted.org/packages/0a/32/f31769c3a3497798e5f7f21dfcf731901b3436edfb2c71790b14f0f9363d/datasette_litestream-0.0.1a10-py3-none-linux_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cb9429c80d7d81f783c7996dd016266a6d93c73f5e3f0b7a39e1b5000b5466fc",
                "md5": "d3afe7132fcc81afbce47b8eca7715e3",
                "sha256": "c254fe7955a583612f823348adb71594f6741ed60541a02274177d15429d4fdc"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-macosx_10_6_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d3afe7132fcc81afbce47b8eca7715e3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10000017,
            "upload_time": "2023-08-14T19:05:03",
            "upload_time_iso_8601": "2023-08-14T19:05:03.497345Z",
            "url": "https://files.pythonhosted.org/packages/cb/94/29c80d7d81f783c7996dd016266a6d93c73f5e3f0b7a39e1b5000b5466fc/datasette_litestream-0.0.1a10-py3-none-macosx_10_6_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "47346a8c23f8f4d5bdea5a158005e8fe573509550acc32b9a2a64138cce6db1e",
                "md5": "ee46107e2be04809c9cf32be66f427dd",
                "sha256": "711b663d61a312be96c95d1d9d6a17e5095ad22cffcff3369314af5922cf3b5c"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ee46107e2be04809c9cf32be66f427dd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9147650,
            "upload_time": "2023-08-14T19:05:05",
            "upload_time_iso_8601": "2023-08-14T19:05:05.811551Z",
            "url": "https://files.pythonhosted.org/packages/47/34/6a8c23f8f4d5bdea5a158005e8fe573509550acc32b9a2a64138cce6db1e/datasette_litestream-0.0.1a10-py3-none-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "77a970063b1ac9109a1d5cb8ff6425ed1fdf45654e94556565735fec4ce104fb",
                "md5": "b72b05df522817e9411ac384eb9175a4",
                "sha256": "01eb38cc9d71da9e168b12e53697b34404210911c5f3833693bc8559fb74c521"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b72b05df522817e9411ac384eb9175a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 9609472,
            "upload_time": "2023-08-14T19:05:08",
            "upload_time_iso_8601": "2023-08-14T19:05:08.530174Z",
            "url": "https://files.pythonhosted.org/packages/77/a9/70063b1ac9109a1d5cb8ff6425ed1fdf45654e94556565735fec4ce104fb/datasette_litestream-0.0.1a10-py3-none-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef7230ebc87380016cade5e871b83b3afcddecb9db0d9cec0b2a7727361c059a",
                "md5": "fdd6e67de7aede4637e3abe387e30896",
                "sha256": "96ba3db9838deab3417e17a0f9f8b0fe903d805f2ae4cc622ce77f23e4f56eb3"
            },
            "downloads": -1,
            "filename": "datasette_litestream-0.0.1a10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fdd6e67de7aede4637e3abe387e30896",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8703060,
            "upload_time": "2023-08-14T19:05:11",
            "upload_time_iso_8601": "2023-08-14T19:05:11.384538Z",
            "url": "https://files.pythonhosted.org/packages/ef/72/30ebc87380016cade5e871b83b3afcddecb9db0d9cec0b2a7727361c059a/datasette_litestream-0.0.1a10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e4ffb931d3a53d8a8b9db6b56eb540f8ce4f392a1da0c9491a12103da81b01e",
                "md5": "dab53834f2e2d7d42d19eea675e352ef",
                "sha256": "71a9ba835475fb0a292b531cc27afde25c1ac5156a41489b906dc47a187d2c78"
            },
            "downloads": -1,
            "filename": "datasette-litestream-0.0.1a10.tar.gz",
            "has_sig": false,
            "md5_digest": "dab53834f2e2d7d42d19eea675e352ef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10872,
            "upload_time": "2023-08-14T19:05:13",
            "upload_time_iso_8601": "2023-08-14T19:05:13.633724Z",
            "url": "https://files.pythonhosted.org/packages/8e/4f/fb931d3a53d8a8b9db6b56eb540f8ce4f392a1da0c9491a12103da81b01e/datasette-litestream-0.0.1a10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-14 19:05:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "datasette",
    "github_project": "datasette-litestream",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "datasette-litestream"
}
        
Elapsed time: 0.27146s