Skip to main content

kinto-wizard is a tool to configure a kinto server from an YAML file.

Project description

kinto-wizard

pypi ci coverage

kinto-wizard is a tool that lets you setup an entire Kinto server from a Yaml file, or inspect an existing server and output a Yaml file.

You can define Kinto objects (bucket, collection, groups, records) and configure their attributes and permissions.

Read more information about the file structure

Installation

The last release

pip install kinto-wizard

The development version

After having cloned the repo:

pip install -e .

How to use it?

Load

kinto-wizard load \
    --server https://kinto-writer.stage.mozaws.net/v1 \
    --auth admin:credentials \
    new-config.yml

Dump

kinto-wizard dump \
    --server https://kinto-writer.stage.mozaws.net/v1 \
    --auth admin:credentials \
    > current-config.yml

The dump also accepts a --full option that will output object data and collection records.

Validate a dump

The way Kinto works is by letting you change a collection schema but won’t enforce the new schema for existing records.

When you dump a collection and its records, you can end-up having records that Kinto won’t let you upload back because the schema changed and they are invalid with the current schema.

This can lead to unexpected behavior on loading time which is a bit cumbersome because depending of the size of the file you are loading, it can takes a long time before getting an actual error.

In order to fix the file before loading, you can use the validate command that would give you the error Kinto would return if you were to load the file on a Kinto server.

kinto-wizard validate current-config.yml

Changelog

This document describes changes between each past release.

4.0.0 (2018-12-10)

Breaking changes

  • kinto-wizard load now expects to find a buckets: root level in the YAML file. And kinto-wizard dump will now add it (fixes #59)

New feature

  • Add a validate command to run JSON schema validation on the records locally. (fixes #61)

Internal changes

  • To ease the transition between kinto-wizard 3 and kinto-wizard 4, handle both for a couple of releases. (#64)

3.0.0 (2018-10-17)

Breaking changes

  • Upgrade to kinto-http.py 10.0 means that the batch will fail if one of the server responses has a 4XX status, use the --ignore-batch-4xx to keep the previous behaviour.

New features

  • Add an --ignore-batch-4xx option to explicitly ask for silent 4xx errors.

Bug fixes

  • Handle YAML date and datetime values. (#51)

Internal changes

2.4.0 (2018-05-23)

  • Add a --dry-run for the load command to see how many records would be deleted. (#46)

  • Add a --delete-record to delete the existing records that are not in the YAML file. (#47)

2.3.0 (2017-10-04)

  • Add --data and --records options to be able to dump objects data without dumping records. (#33)

2.2.0 (2017-09-01)

New features

  • Use asyncio to add parallelism to the load command (#18).

2.1.0 (2017-06-28)

New features

  • Add logger configuration for kinto-http.py (#26)

  • Add an option to force the update with a CLIENT_WINS strategy (#28)

  • Add an option to select the bucket or collection to export (#30)

2.0.0 (2017-05-22)

Breaking changes

  • Upgrade to kinto-http 8.0.0 with Python 3.5+ support.

  • The --full option of the dump command now outputs records (#16)

New features

  • The load command now supports records (#16)

1.0.0 (2016-11-22)

Initial version

  • Supports dumping/loading groups and permissions from/to a YAML file.

Contributors

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

kinto-wizard-4.0.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kinto_wizard-4.0.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file kinto-wizard-4.0.0.tar.gz.

File metadata

  • Download URL: kinto-wizard-4.0.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.2 requests-toolbelt/0.8.0 tqdm/4.19.7 CPython/3.6.7

File hashes

Hashes for kinto-wizard-4.0.0.tar.gz
Algorithm Hash digest
SHA256 4c3ca6e631d34f22583207b44d803432bbd85438599a219d15d4e5f47712679c
MD5 d4c205ff81c39ea33a00d99269990115
BLAKE2b-256 25bfa4b4aa8024eff907c401eaa9bb92690206a473c29a2bbd98ff5b3c333fb0

See more details on using hashes here.

File details

Details for the file kinto_wizard-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: kinto_wizard-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.2 requests-toolbelt/0.8.0 tqdm/4.19.7 CPython/3.6.7

File hashes

Hashes for kinto_wizard-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 378fb6645fbd75bb5e74bbfd53fcbc5bb1a87adbe5596f07c7f743d34eb7575c
MD5 bc7629b02e9669f9633896f31ceceda1
BLAKE2b-256 30e20e7239b34d1388e4e9a3f9bc852c2e6daefc108ab18d563e3d8692d968c5

See more details on using hashes here.

Supported by

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