kinto 19.6.0__tar.gz → 20.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of kinto might be problematic. Click here for more details.
- {kinto-19.6.0 → kinto-20.1.0}/.gitignore +0 -1
- {kinto-19.6.0/kinto.egg-info → kinto-20.1.0}/PKG-INFO +1 -3
- {kinto-19.6.0 → kinto-20.1.0}/README.rst +0 -1
- kinto-20.1.0/SUPPORT.md +3 -0
- {kinto-19.6.0 → kinto-20.1.0}/constraints.in +0 -1
- {kinto-19.6.0 → kinto-20.1.0}/constraints.txt +7 -13
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/accounts.rst +0 -131
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/authentication.rst +3 -3
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/index.rst +0 -1
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/openapi.rst +2 -2
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/openid.rst +1 -1
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/permissions.rst +5 -5
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/index.rst +1 -6
- {kinto-19.6.0 → kinto-20.1.0}/docs/commandline.rst +2 -30
- {kinto-19.6.0 → kinto-20.1.0}/docs/community.rst +3 -14
- {kinto-19.6.0 → kinto-20.1.0}/docs/concepts.rst +1 -1
- {kinto-19.6.0 → kinto-20.1.0}/docs/configuration/good-practices.rst +2 -22
- {kinto-19.6.0 → kinto-20.1.0}/docs/configuration/settings.rst +21 -189
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/glossary.rst +0 -3
- {kinto-19.6.0 → kinto-20.1.0}/docs/faq.rst +37 -77
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/architecture.svg +118 -134
- {kinto-19.6.0 → kinto-20.1.0}/docs/overview.rst +15 -59
- {kinto-19.6.0 → kinto-20.1.0}/docs/requirements.txt +2 -2
- {kinto-19.6.0 → kinto-20.1.0}/docs/troubleshooting.rst +1 -1
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/first-steps.rst +24 -25
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/index.rst +0 -4
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/install.rst +2 -48
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/notifications-custom.rst +0 -102
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/permissions.rst +12 -12
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/write-plugin.rst +1 -4
- {kinto-19.6.0 → kinto-20.1.0}/kinto/__main__.py +0 -17
- {kinto-19.6.0 → kinto-20.1.0}/kinto/config/kinto.tpl +5 -15
- {kinto-19.6.0 → kinto-20.1.0/kinto}/contribute.json +0 -3
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/__init__.py +14 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/initialization.py +5 -16
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/pool.py +1 -1
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/errors.py +2 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/accounts/__init__.py +2 -19
- kinto-20.1.0/kinto/plugins/accounts/authentication.py +63 -0
- kinto-20.1.0/kinto/plugins/accounts/utils.py +13 -0
- kinto-19.6.0/kinto/plugins/accounts/views/__init__.py → kinto-20.1.0/kinto/plugins/accounts/views.py +7 -62
- kinto-20.1.0/kinto/plugins/admin/VERSION +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/VERSION +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/assets/asn1-EdZsLKOL.js +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/assets/index-Bq62Gei8.js +165 -0
- kinto-19.6.0/kinto/plugins/admin/build/assets/index-BdpYyatM.css → kinto-20.1.0/kinto/plugins/admin/build/assets/index-Cs7JVwIg.css +1 -1
- kinto-20.1.0/kinto/plugins/admin/build/assets/javascript-qCveANmP.js +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/assets/mllike-CXdrOF99.js +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/assets/sql-D0XecflT.js +1 -0
- kinto-20.1.0/kinto/plugins/admin/build/assets/ttcn-cfg-B9xdYoR4.js +1 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/index.html +2 -2
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/contribute.py +12 -12
- {kinto-19.6.0 → kinto-20.1.0/kinto.egg-info}/PKG-INFO +1 -3
- {kinto-19.6.0 → kinto-20.1.0}/kinto.egg-info/SOURCES.txt +9 -29
- {kinto-19.6.0 → kinto-20.1.0}/kinto.egg-info/requires.txt +0 -1
- {kinto-19.6.0 → kinto-20.1.0}/pyproject.toml +1 -2
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_events.py +1 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_initialization.py +7 -20
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_logging.py +25 -1
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_errors.py +10 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_accounts.py +1 -389
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_history.py +2 -5
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_configuration/test.ini +5 -15
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_main.py +0 -19
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_contribute.py +1 -1
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_permissions.py +1 -1
- kinto-19.6.0/SUPPORT.md +0 -10
- kinto-19.6.0/docs/api/1.x/quotas.rst +0 -97
- kinto-19.6.0/docs/images/logo-demos.svg +0 -80
- kinto-19.6.0/docs/images/logo-indexing.svg +0 -1
- kinto-19.6.0/docs/images/logo-livesync.svg +0 -114
- kinto-19.6.0/docs/images/logo-offline.svg +0 -84
- kinto-19.6.0/docs/images/logo-quotas.svg +0 -68
- kinto-19.6.0/docs/images/logo-signature.svg +0 -70
- kinto-19.6.0/docs/tutorials/app-examples.rst +0 -14
- kinto-19.6.0/docs/tutorials/authentication-github.rst +0 -360
- kinto-19.6.0/docs/tutorials/client-side-encryption.rst +0 -19
- kinto-19.6.0/docs/tutorials/notifications-websockets.rst +0 -124
- kinto-19.6.0/kinto/plugins/accounts/authentication.py +0 -109
- kinto-19.6.0/kinto/plugins/accounts/mails.py +0 -96
- kinto-19.6.0/kinto/plugins/accounts/utils.py +0 -146
- kinto-19.6.0/kinto/plugins/accounts/views/validation.py +0 -136
- kinto-19.6.0/kinto/plugins/admin/VERSION +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/VERSION +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/assets/asn1-CGOzndHr.js +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/assets/index-n-QM_iZE.js +0 -165
- kinto-19.6.0/kinto/plugins/admin/build/assets/javascript-iSgyE4tI.js +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/assets/mllike-C_8OmSiT.js +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/assets/sql-C4g8LzGK.js +0 -1
- kinto-19.6.0/kinto/plugins/admin/build/assets/ttcn-cfg-BIkV9KBc.js +0 -1
- kinto-19.6.0/kinto/plugins/quotas/__init__.py +0 -21
- kinto-19.6.0/kinto/plugins/quotas/listener.py +0 -226
- kinto-19.6.0/kinto/plugins/quotas/scripts.py +0 -80
- kinto-19.6.0/kinto/plugins/quotas/utils.py +0 -7
- kinto-19.6.0/kinto/scripts.py +0 -41
- kinto-19.6.0/tests/plugins/test_quotas.py +0 -1142
- kinto-19.6.0/tests/test_scripts.py +0 -32
- {kinto-19.6.0 → kinto-20.1.0}/.dockerignore +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/CONTRIBUTING.md +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/dependabot.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/release.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/workflows/labels.yaml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/workflows/publish.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/workflows/scheduled.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.github/workflows/test.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/.readthedocs.yaml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/CHANGELOG.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/CONTRIBUTORS.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/Dockerfile +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/LICENSE +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/Makefile +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/SECURITY.md +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/app.wsgi +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docker-compose.yml +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/_static/piwik.js +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/_static/theme_overrides.css +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/_templates/footer.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/_templates/indexcontent.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/_templates/layout.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-delete-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-delete-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-get-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-get-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-head-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-patch-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-post-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_details-put-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-delete-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-delete-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-get-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-get-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-patch-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-post-list.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/_status-put-object.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/admin.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/backoff.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/batch.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/buckets.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/collections.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/deprecation.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/errors.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/filtering.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/flush.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/groups.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/history.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/pagination.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/records.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/selecting_fields.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/sorting.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/timestamps.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/1.x/utilities.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/api/versioning.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/changelog.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/conf.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/configuration/index.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/configuration/production.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/_static/theme_overrides.css +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/api.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/cache.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/decorators.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/errors.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/images/cliquet-base.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/images/cliquet-mozilla.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/index.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/notifications.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/permission.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/quickstart.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/rationale.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/resource.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/storage.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/testing.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/utils.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/core/viewsets.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/alwaysdata-button.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/color-formatter.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/concepts-general.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/concepts-permissions.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/heroku-button.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/kinto-logo.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/kinto-logo.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-admin.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-attachment.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-community.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-history.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-javascript.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-jsonschema.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-multiapps.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-permissions.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-python.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-selfhostable.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/logo-synchronisation.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/overview-deployonce-selfhost.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/overview-features.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/overview-synchronisation.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/overview-use-cases.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/scalingo-button.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/screenshot-kinto-admin-1.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/screenshot-kinto-admin-2.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/screenshot-kinto-admin-3.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/screenshot-kinto-admin-4.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/sequence-storage.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/sync-both.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/sync-newest.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/images/sync-oldest.svg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/index.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/kinto-admin.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/custom-id-generator.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/permission-setups.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/docs/tutorials/synchronisation.rst +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/authorization.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/config/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/authentication.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/authorization.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/memcached.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/memory.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/postgresql/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/postgresql/schema.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cache/testing.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/cors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/errors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/pyramidhook.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/renderer.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/resource.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/service.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/util.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/validators/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/validators/_colander.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice/validators/_marshmallow.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/converters/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/converters/exceptions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/converters/parameters.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/converters/schema.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/swagger.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/templates/index.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/templates/index_script_template.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/util.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/cornice_swagger/views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/decorators.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/errors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/events.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/listeners/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/metrics.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/openapi.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/memory.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/postgresql/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/postgresql/migrations/migration_001_002.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/postgresql/schema.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/permission/testing.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/resource/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/resource/model.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/resource/schema.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/resource/viewset.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/schema.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/scripts.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/statsd.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/exceptions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/generators.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/memory.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/client.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_001_002.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_002_003.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_003_004.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_004_005.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_005_006.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_006_007.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_007_008.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_008_009.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_009_010.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_010_011.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_011_012.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_012_013.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_013_014.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_014_015.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_015_016.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_016_017.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_017_018.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_018_019.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_019_020.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_020_021.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrations/migration_021_022.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/migrator.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/postgresql/schema.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/testing.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/storage/utils.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/testing.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/utils.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/batch.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/heartbeat.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/hello.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/openapi.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/core/views/version.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/events.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/accounts/scripts.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/README.md +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/assets/clojure-BMjYHr_A.js +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/assets/css-BnMrqG3P.js +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/assets/logo-VBRiKSPX.png +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/assets/python-BuPzkPfP.js +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/build/assets/rpm-CTu-6PCP.js +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/public/help.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/admin/views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/default_bucket/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/flush.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/history/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/history/listener.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/history/views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/openid/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/openid/utils.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/openid/views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/prometheus.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/plugins/statsd.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/schema_validation.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/admin.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/buckets.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/collections.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/groups.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/permissions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto/views/records.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto.egg-info/dependency_links.txt +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto.egg-info/entry_points.txt +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/kinto.egg-info/top_level.txt +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/scripts/pull-kinto-admin.sh +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/setup.cfg +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/browser.ini +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/browser.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/listeners.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_base.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_cache_expires.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_filter.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_model.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_object.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_object_permissions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_pagination.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_partial_response.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_preconditions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_schema.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_sort.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_sync.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_views_cors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/resource/test_viewset.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/schema/postgresql-permission-1.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/schema/postgresql-storage-1.6.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/schema/postgresql-storage-11.sql +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/support.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_authentication.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_authorization.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_cache.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_decorators.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_deprecation.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_errors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_listeners.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_metrics.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_openapi.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_permission.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_schema.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_scripts.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_storage.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_storage_migrations.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_storage_pool.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_utils.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_batch.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_heartbeat.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_hello.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_openapi.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_postgresql.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/test_views_transaction.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/testapp/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/testapp/static/index.html +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/testapp/views.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/core/testplugin/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/functional.ini +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/functional.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/support.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_plugins.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_resources.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_responses_buckets.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_responses_collections.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_responses_errors.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_responses_groups.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_responses_records.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/openapi/test_validation.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/__init__.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_admin.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_default_bucket.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_flush.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_openid.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_prometheus.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/plugins/test_statsd.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/support.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_authorization.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_config.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_init.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_admin.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_buckets.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_collections.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_collections_cache.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_disable_default.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_groups.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_hello.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_metrics.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_objects_permissions.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_records.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_schema_collection.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_schema_group.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_schema_record.py +0 -0
- {kinto-19.6.0 → kinto-20.1.0}/tests/test_views_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: kinto
|
|
3
|
-
Version:
|
|
3
|
+
Version: 20.1.0
|
|
4
4
|
Summary: Kinto Web Service - Store, Sync, Share, and Self-Host.
|
|
5
5
|
Author-email: Mozilla Services <developers@kinto-storage.org>
|
|
6
6
|
License: Copyright 2012 - Mozilla Foundation
|
|
@@ -39,7 +39,6 @@ Requires-Dist: jsonpatch
|
|
|
39
39
|
Requires-Dist: logging-color-formatter
|
|
40
40
|
Requires-Dist: python-dateutil
|
|
41
41
|
Requires-Dist: pyramid
|
|
42
|
-
Requires-Dist: pyramid_mailer
|
|
43
42
|
Requires-Dist: pyramid_multiauth
|
|
44
43
|
Requires-Dist: transaction
|
|
45
44
|
Requires-Dist: pyramid_tm
|
|
@@ -106,7 +105,6 @@ Kinto is a minimalist JSON storage service with synchronisation and sharing abil
|
|
|
106
105
|
* `Tutorial <https://kinto.readthedocs.io/en/latest/tutorials/first-steps.html>`_
|
|
107
106
|
* `Issue tracker <https://github.com/Kinto/kinto/issues>`_
|
|
108
107
|
* `Contributing <https://kinto.readthedocs.io/en/latest/community.html#how-to-contribute>`_
|
|
109
|
-
* `Try our daily flushed instance at: https://demo.kinto-storage.org/v1/ <https://demo.kinto-storage.org/v1/>`_
|
|
110
108
|
* `Docker Hub <https://hub.docker.com/r/kinto/kinto-server>`_
|
|
111
109
|
|
|
112
110
|
Requirements
|
|
@@ -32,7 +32,6 @@ Kinto is a minimalist JSON storage service with synchronisation and sharing abil
|
|
|
32
32
|
* `Tutorial <https://kinto.readthedocs.io/en/latest/tutorials/first-steps.html>`_
|
|
33
33
|
* `Issue tracker <https://github.com/Kinto/kinto/issues>`_
|
|
34
34
|
* `Contributing <https://kinto.readthedocs.io/en/latest/community.html#how-to-contribute>`_
|
|
35
|
-
* `Try our daily flushed instance at: https://demo.kinto-storage.org/v1/ <https://demo.kinto-storage.org/v1/>`_
|
|
36
35
|
* `Docker Hub <https://hub.docker.com/r/kinto/kinto-server>`_
|
|
37
36
|
|
|
38
37
|
Requirements
|
kinto-20.1.0/SUPPORT.md
ADDED
|
@@ -10,7 +10,7 @@ attrs==23.2.0
|
|
|
10
10
|
# via
|
|
11
11
|
# jsonschema
|
|
12
12
|
# referencing
|
|
13
|
-
bcrypt==4.
|
|
13
|
+
bcrypt==4.3.0
|
|
14
14
|
# via -r constraints.in
|
|
15
15
|
beautifulsoup4==4.12.3
|
|
16
16
|
# via webtest
|
|
@@ -37,7 +37,9 @@ execnet==2.0.2
|
|
|
37
37
|
fqdn==1.5.1
|
|
38
38
|
# via jsonschema
|
|
39
39
|
greenlet==3.1.1
|
|
40
|
-
# via
|
|
40
|
+
# via
|
|
41
|
+
# playwright
|
|
42
|
+
# sqlalchemy
|
|
41
43
|
hupper==1.12
|
|
42
44
|
# via pyramid
|
|
43
45
|
idna==3.7
|
|
@@ -71,7 +73,7 @@ markupsafe==2.1.4
|
|
|
71
73
|
# via werkzeug
|
|
72
74
|
msgpack==1.0.7
|
|
73
75
|
# via bravado-core
|
|
74
|
-
newrelic==10.
|
|
76
|
+
newrelic==10.7.0
|
|
75
77
|
# via -r constraints.in
|
|
76
78
|
packaging==23.2
|
|
77
79
|
# via
|
|
@@ -101,16 +103,13 @@ pyproject-hooks==1.0.0
|
|
|
101
103
|
pyramid==2.0.2
|
|
102
104
|
# via
|
|
103
105
|
# -r constraints.in
|
|
104
|
-
# pyramid-mailer
|
|
105
106
|
# pyramid-multiauth
|
|
106
107
|
# pyramid-tm
|
|
107
|
-
pyramid-mailer==0.15.1
|
|
108
|
-
# via -r constraints.in
|
|
109
108
|
pyramid-multiauth==1.0.2
|
|
110
109
|
# via -r constraints.in
|
|
111
110
|
pyramid-tm==2.6
|
|
112
111
|
# via -r constraints.in
|
|
113
|
-
pytest==8.3.
|
|
112
|
+
pytest==8.3.5
|
|
114
113
|
# via
|
|
115
114
|
# -r constraints.in
|
|
116
115
|
# pytest-cache
|
|
@@ -138,8 +137,6 @@ referencing==0.32.1
|
|
|
138
137
|
# via
|
|
139
138
|
# jsonschema
|
|
140
139
|
# jsonschema-specifications
|
|
141
|
-
repoze-sendmail==4.4.1
|
|
142
|
-
# via pyramid-mailer
|
|
143
140
|
requests==2.32.3
|
|
144
141
|
# via
|
|
145
142
|
# -r constraints.in
|
|
@@ -152,7 +149,7 @@ rpds-py==0.17.1
|
|
|
152
149
|
# via
|
|
153
150
|
# jsonschema
|
|
154
151
|
# referencing
|
|
155
|
-
ruff==0.9.
|
|
152
|
+
ruff==0.9.10
|
|
156
153
|
# via -r constraints.in
|
|
157
154
|
sentry-sdk==2.8.0
|
|
158
155
|
# via -r constraints.in
|
|
@@ -177,9 +174,7 @@ swagger-spec-validator==3.0.3
|
|
|
177
174
|
transaction==5.0
|
|
178
175
|
# via
|
|
179
176
|
# -r constraints.in
|
|
180
|
-
# pyramid-mailer
|
|
181
177
|
# pyramid-tm
|
|
182
|
-
# repoze-sendmail
|
|
183
178
|
# zope-sqlalchemy
|
|
184
179
|
translationstring==1.4
|
|
185
180
|
# via
|
|
@@ -219,7 +214,6 @@ zope-deprecation==5.0
|
|
|
219
214
|
zope-interface==6.1
|
|
220
215
|
# via
|
|
221
216
|
# pyramid
|
|
222
|
-
# repoze-sendmail
|
|
223
217
|
# transaction
|
|
224
218
|
# zope-sqlalchemy
|
|
225
219
|
zope-sqlalchemy==3.1
|
|
@@ -153,15 +153,6 @@ Alternatively, accounts can be created using POST. Supply the user id and passw
|
|
|
153
153
|
|
|
154
154
|
Depending on the :ref:`configuration <settings-accounts>`, you may not be allowed to create accounts.
|
|
155
155
|
|
|
156
|
-
.. note::
|
|
157
|
-
|
|
158
|
-
If the :ref:`accounts validation <settings-account-validation>` is enabled,
|
|
159
|
-
you might also need to provide an ``email-context`` in the ``data``:
|
|
160
|
-
|
|
161
|
-
.. sourcecode:: bash
|
|
162
|
-
|
|
163
|
-
$ echo '{"data": {"id": "bob@example.com", "password": "azerty123", "email-context": {"name": "Bob Smith", "form-url": "https://example.com/validate/"}}}' | http POST http://localhost:8888/v1/accounts --verbose
|
|
164
|
-
|
|
165
156
|
|
|
166
157
|
.. _accounts-update:
|
|
167
158
|
|
|
@@ -303,125 +294,3 @@ Or delete some account:
|
|
|
303
294
|
::
|
|
304
295
|
|
|
305
296
|
$ http DELETE http://localhost:8888/v1/accounts/sam-body --auth admin:s3cr3t
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
.. _accounts-validate:
|
|
310
|
-
|
|
311
|
-
Validate accounts
|
|
312
|
-
=================
|
|
313
|
-
|
|
314
|
-
When the ``account_validation`` option is enabled in :ref:`the settings
|
|
315
|
-
<settings-account-validation>`, account IDs need to be valid email addresses:
|
|
316
|
-
they need to match the regexp in the ``account_validation.email_regexp``
|
|
317
|
-
setting. The default one is very generic, but you may restrict it to only allow
|
|
318
|
-
certain emails, for example only ones from a specific domain.
|
|
319
|
-
|
|
320
|
-
To make sure the ``account_validation`` is enabled, you can check if the
|
|
321
|
-
``validation_enabled`` flag is ``true`` in the ``"accounts"`` field on the
|
|
322
|
-
:ref:`root URL <api-utilities-hello>`.
|
|
323
|
-
|
|
324
|
-
.. http:post:: /accounts/(user_id)/validate/(activation_key)
|
|
325
|
-
|
|
326
|
-
:synopsis: Activates a newly created account with the ``account_validation`` option enabled.
|
|
327
|
-
|
|
328
|
-
**Anonymous**
|
|
329
|
-
|
|
330
|
-
**Example Request**
|
|
331
|
-
|
|
332
|
-
.. sourcecode:: bash
|
|
333
|
-
|
|
334
|
-
$ http POST http://localhost:8888/v1/accounts/bob@example.com/validate/2fe7a389-3556-4c8f-9513-c26bfc5f160b --verbose
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
.. sourcecode:: http
|
|
338
|
-
|
|
339
|
-
POST /v1/accounts/bob@example.com/validate/2fe7a389-3556-4c8f-9513-c26bfc5f160b HTTP/1.1
|
|
340
|
-
Accept: */*
|
|
341
|
-
Accept-Encoding: gzip, deflate
|
|
342
|
-
Connection: keep-alive
|
|
343
|
-
Content-Length: 0
|
|
344
|
-
Host: localhost:8888
|
|
345
|
-
User-Agent: HTTPie/0.9.8
|
|
346
|
-
|
|
347
|
-
**Example Response**
|
|
348
|
-
|
|
349
|
-
.. sourcecode:: http
|
|
350
|
-
|
|
351
|
-
HTTP/1.1 200 OK
|
|
352
|
-
Access-Control-Expose-Headers: Content-Length, Retry-After, Backoff, Alert
|
|
353
|
-
Content-Length: 195
|
|
354
|
-
Content-Type: application/json
|
|
355
|
-
Date: Mon, 21 Jan 2019 13:41:17 GMT
|
|
356
|
-
Server: waitress
|
|
357
|
-
X-Content-Type-Options: nosniff
|
|
358
|
-
|
|
359
|
-
{
|
|
360
|
-
"id": "bob@example.com",
|
|
361
|
-
"last_modified": 1548077982793,
|
|
362
|
-
"password": "$2b$12$zlTlYet5v.v57ak2gEYyoeqKSGzLvwXF/.v3DGpT/q69LecHv68gm",
|
|
363
|
-
"validated": true
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.. _accounts-reset-password:
|
|
367
|
-
|
|
368
|
-
Resetting a forgotten password
|
|
369
|
-
==============================
|
|
370
|
-
|
|
371
|
-
If the ``account_validation`` option in :ref:`the settings
|
|
372
|
-
<settings-account-validation>` has been enabled, a temporary reset password may
|
|
373
|
-
be requested through the endpoint available at ``/accounts/(user
|
|
374
|
-
id)/reset-password``.
|
|
375
|
-
|
|
376
|
-
.. http:post:: /accounts/(user_id)/reset-password
|
|
377
|
-
|
|
378
|
-
:synopsis: Request a temporary reset password for an account with the ``account_validation`` option enabled.
|
|
379
|
-
|
|
380
|
-
**Anonymous**
|
|
381
|
-
|
|
382
|
-
**Example Request**
|
|
383
|
-
|
|
384
|
-
.. sourcecode:: bash
|
|
385
|
-
|
|
386
|
-
$ http POST http://localhost:8888/v1/accounts/bob@example.com/reset-password --verbose
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
.. sourcecode:: http
|
|
390
|
-
|
|
391
|
-
POST /v1/accounts/bob@example.com/reset-password HTTP/1.1
|
|
392
|
-
Accept: */*
|
|
393
|
-
Accept-Encoding: gzip, deflate
|
|
394
|
-
Connection: keep-alive
|
|
395
|
-
Content-Length: 0
|
|
396
|
-
Host: localhost:8888
|
|
397
|
-
User-Agent: HTTPie/0.9.8
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
**Example Response**
|
|
401
|
-
|
|
402
|
-
.. sourcecode:: http
|
|
403
|
-
|
|
404
|
-
HTTP/1.1 200 OK
|
|
405
|
-
Access-Control-Expose-Headers: Backoff, Alert, Retry-After, Content-Length
|
|
406
|
-
Content-Length: 62
|
|
407
|
-
Content-Type: application/json
|
|
408
|
-
Date: Fri, 08 Feb 2019 14:04:15 GMT
|
|
409
|
-
Server: waitress
|
|
410
|
-
X-Content-Type-Options: nosniff
|
|
411
|
-
|
|
412
|
-
{
|
|
413
|
-
"message": "A temporary reset password has been sent by mail"
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
.. note::
|
|
417
|
-
|
|
418
|
-
You might also need to provide an ``email-context`` in the ``data`` to fill
|
|
419
|
-
in the holes of the email template defined in the :ref:`settings
|
|
420
|
-
<settings-account-password-reset>`:
|
|
421
|
-
|
|
422
|
-
.. sourcecode:: bash
|
|
423
|
-
|
|
424
|
-
$ echo '{"data": {"email-context": {"name": "Bob Smith"}}}' | http POST http://localhost:8888/v1/accounts/bob@example.com/reset-password --verbose
|
|
425
|
-
|
|
426
|
-
Using this temporary reset password, one can
|
|
427
|
-
:ref:`update the account <accounts-update>` providing the new password.
|
|
@@ -36,7 +36,7 @@ The currently authenticated *user ID* can be obtained on the :ref:`root URL <api
|
|
|
36
36
|
|
|
37
37
|
.. code-block:: bash
|
|
38
38
|
|
|
39
|
-
$ http GET
|
|
39
|
+
$ http GET http://localhost:8888/v1/ --auth admin:s3cr3t
|
|
40
40
|
|
|
41
41
|
.. code-block:: http
|
|
42
42
|
:emphasize-lines: 6
|
|
@@ -44,7 +44,7 @@ The currently authenticated *user ID* can be obtained on the :ref:`root URL <api
|
|
|
44
44
|
HTTP/1.1 200 OK
|
|
45
45
|
|
|
46
46
|
{
|
|
47
|
-
"url": "
|
|
47
|
+
"url": "http://localhost:8888/v1/",
|
|
48
48
|
"user": {
|
|
49
49
|
"bucket": "4399ed6c-802e-3278-5d01-44f261f0bab4",
|
|
50
50
|
"id": "account:admin",
|
|
@@ -76,7 +76,7 @@ In order to know which authentication methods are supported by a *Kinto* server,
|
|
|
76
76
|
|
|
77
77
|
.. code-block:: shell
|
|
78
78
|
|
|
79
|
-
$ http
|
|
79
|
+
$ http http://localhost:8888/v1/
|
|
80
80
|
|
|
81
81
|
.. code-block:: http
|
|
82
82
|
|
|
@@ -68,9 +68,9 @@ One way to interact and explore an API is through interactive documentation.
|
|
|
68
68
|
SwaggerUI is a resource that allows testing and visualizing the behavior
|
|
69
69
|
of an OpenAPI described interface.
|
|
70
70
|
|
|
71
|
-
You can try the instance running on https://
|
|
71
|
+
You can try the instance running on https://your-domain/v1/ from you browser
|
|
72
72
|
accessing this
|
|
73
|
-
`Swagger UI example <http://petstore.swagger.io/?url=https://
|
|
73
|
+
`Swagger UI example <http://petstore.swagger.io/?url=https://your-domain/v1/__api__>`_
|
|
74
74
|
|
|
75
75
|
Automated client generation
|
|
76
76
|
===========================
|
|
@@ -69,7 +69,7 @@ for the configured provider ``name``.
|
|
|
69
69
|
JavaScript example
|
|
70
70
|
------------------
|
|
71
71
|
|
|
72
|
-
Let's go through a simple OpenID login example using the `JavaScript kinto client <https://github.com/Kinto/kinto
|
|
72
|
+
Let's go through a simple OpenID login example using the `JavaScript kinto client <https://github.com/Kinto/kinto.js>`_.
|
|
73
73
|
|
|
74
74
|
When the user clicks a login button, it initiates the login process by redirecting the browser to the
|
|
75
75
|
Identity Provider, which itself redirects it to the application page once successful.
|
|
@@ -283,7 +283,7 @@ itself, using the same :ref:`PATCH <record-patch>` and :ref:`PUT
|
|
|
283
283
|
.. sourcecode:: bash
|
|
284
284
|
|
|
285
285
|
$ echo '{"permissions": {"read": ["system.Authenticated"]}}' | \
|
|
286
|
-
http PATCH
|
|
286
|
+
http PATCH http://localhost:8888/v1/buckets/default/collections/tasks \
|
|
287
287
|
--auth bob:p4ssw0rd
|
|
288
288
|
|
|
289
289
|
.. sourcecode:: http
|
|
@@ -295,7 +295,7 @@ itself, using the same :ref:`PATCH <record-patch>` and :ref:`PUT
|
|
|
295
295
|
Connection: keep-alive
|
|
296
296
|
Content-Length: 52
|
|
297
297
|
Content-Type: application/json; charset=utf-8
|
|
298
|
-
Host:
|
|
298
|
+
Host: localhost:8888
|
|
299
299
|
User-Agent: HTTPie/0.8.0
|
|
300
300
|
|
|
301
301
|
{
|
|
@@ -347,7 +347,7 @@ itself, using the same :ref:`PATCH <record-patch>` and :ref:`PUT
|
|
|
347
347
|
.. sourcecode:: bash
|
|
348
348
|
|
|
349
349
|
$ echo '{"permissions": {"write": ["groups:writers"]}}' | \
|
|
350
|
-
http PUT
|
|
350
|
+
http PUT http://localhost:8888/v1/buckets/default/collections/tasks \
|
|
351
351
|
--auth bob:p4ssw0rd
|
|
352
352
|
|
|
353
353
|
.. sourcecode:: http
|
|
@@ -359,7 +359,7 @@ itself, using the same :ref:`PATCH <record-patch>` and :ref:`PUT
|
|
|
359
359
|
Connection: keep-alive
|
|
360
360
|
Content-Length: 57
|
|
361
361
|
Content-Type: application/json; charset=utf-8
|
|
362
|
-
Host:
|
|
362
|
+
Host: localhost:8888
|
|
363
363
|
User-Agent: HTTPie/0.8.0
|
|
364
364
|
|
|
365
365
|
{
|
|
@@ -414,7 +414,7 @@ List every permissions
|
|
|
414
414
|
|
|
415
415
|
.. sourcecode:: bash
|
|
416
416
|
|
|
417
|
-
$ http GET
|
|
417
|
+
$ http GET http://localhost:8888/v1/permissions --auth bob:p4ssw0rd
|
|
418
418
|
|
|
419
419
|
.. sourcecode:: http
|
|
420
420
|
|
|
@@ -14,12 +14,7 @@ Changelog
|
|
|
14
14
|
1.22 (2019-03-20)
|
|
15
15
|
'''''''''''''''''
|
|
16
16
|
|
|
17
|
-
- New
|
|
18
|
-
created account when the ``account validation`` option is enabled for the
|
|
19
|
-
accounts plugin. See :ref:`account validation <accounts-validate>` (#1973)
|
|
20
|
-
- New ``/accounts/{user id}/reset-password`` endpoint to request a temporary
|
|
21
|
-
reset password by email when the ``account validation`` option is enabled for
|
|
22
|
-
the accounts plugin. See :ref:`account validation <accounts-validate>` (#1973)
|
|
17
|
+
- New endpoints within the ``kinto.plugins.accounts`` plugin (#1973)
|
|
23
18
|
|
|
24
19
|
|
|
25
20
|
1.21 (2019-01-10)
|
|
@@ -12,7 +12,7 @@ A set of «sub commands» are available.
|
|
|
12
12
|
|
|
13
13
|
::
|
|
14
14
|
|
|
15
|
-
usage: kinto [-h] {init,start,migrate,version
|
|
15
|
+
usage: kinto [-h] {init,start,migrate,version} ...
|
|
16
16
|
|
|
17
17
|
Kinto Command-Line Interface
|
|
18
18
|
|
|
@@ -22,7 +22,7 @@ A set of «sub commands» are available.
|
|
|
22
22
|
subcommands:
|
|
23
23
|
Main Kinto CLI commands
|
|
24
24
|
|
|
25
|
-
{init,start,migrate,version
|
|
25
|
+
{init,start,migrate,version}
|
|
26
26
|
Choose and run with --help
|
|
27
27
|
|
|
28
28
|
|
|
@@ -82,34 +82,6 @@ Starts Kinto locally using a simple HTTP server.
|
|
|
82
82
|
|
|
83
83
|
This **not** recommended for production. :ref:`See more details <run-production>`.
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
Rebuild quotas
|
|
87
|
-
--------------
|
|
88
|
-
|
|
89
|
-
Recalculate the amount of storage taken up by buckets and collections
|
|
90
|
-
and update quota records to match reality. This can be useful if
|
|
91
|
-
you've been bitten by `bug #1226
|
|
92
|
-
<https://github.com/Kinto/kinto/issues/1226>`_. However, this isn't
|
|
93
|
-
intended to be a reoccurring maintenance task -- if your quota records
|
|
94
|
-
are regularly becoming inaccurate, please file a bug!
|
|
95
|
-
|
|
96
|
-
::
|
|
97
|
-
|
|
98
|
-
usage: kinto rebuild-quotas [-h] [--ini INI_FILE] [-q] [-v] [--dry-run]
|
|
99
|
-
|
|
100
|
-
optional arguments:
|
|
101
|
-
-h, --help show this help message and exit
|
|
102
|
-
--ini INI_FILE Application configuration file
|
|
103
|
-
-q, --quiet Show only critical errors.
|
|
104
|
-
-v, --debug Show all messages, including debug messages.
|
|
105
|
-
--dry-run Simulate the rebuild operation and show information
|
|
106
|
-
|
|
107
|
-
For example:
|
|
108
|
-
|
|
109
|
-
::
|
|
110
|
-
|
|
111
|
-
kinto rebuild-quotas --ini=config/postgresql.ini
|
|
112
|
-
|
|
113
85
|
Flush Cache
|
|
114
86
|
-----------
|
|
115
87
|
|
|
@@ -6,16 +6,6 @@ Community
|
|
|
6
6
|
|
|
7
7
|
You can check out Kinto on GitHub at https://github.com/Kinto/kinto/.
|
|
8
8
|
|
|
9
|
-
.. _communication_channels:
|
|
10
|
-
|
|
11
|
-
Communication channels
|
|
12
|
-
======================
|
|
13
|
-
|
|
14
|
-
* Questions tagged ``kinto`` on `Stack Overflow <http://stackoverflow.com/questions/tagged/kinto>`_.
|
|
15
|
-
* Our `Gitter community <https://gitter.im/Kinto/kinto>`_
|
|
16
|
-
* `The Kinto mailing list <https://mail.mozilla.org/listinfo/kinto>`_.
|
|
17
|
-
* Some `#Kinto <https://twitter.com/search?q=%23Kinto>`_ mentions on Twitter :)
|
|
18
|
-
|
|
19
9
|
.. _how-to-contribute:
|
|
20
10
|
|
|
21
11
|
How to contribute
|
|
@@ -204,7 +194,7 @@ Before we merge a pull request, we check that it meets these guidelines:
|
|
|
204
194
|
Hack core libraries
|
|
205
195
|
-------------------
|
|
206
196
|
|
|
207
|
-
If you want to run *Kinto* with some core libraries under development
|
|
197
|
+
If you want to run *Kinto* with some core libraries under development,
|
|
208
198
|
just install them from your local folder using ``pip``.
|
|
209
199
|
|
|
210
200
|
For example:
|
|
@@ -212,9 +202,9 @@ For example:
|
|
|
212
202
|
::
|
|
213
203
|
|
|
214
204
|
cd ..
|
|
215
|
-
git clone https://github.com/
|
|
205
|
+
git clone https://github.com/Kinto/kinto-attachment.git
|
|
216
206
|
cd kinto/
|
|
217
|
-
.venv/bin/pip install -e ../
|
|
207
|
+
.venv/bin/pip install -e ../kinto-attachment/
|
|
218
208
|
|
|
219
209
|
|
|
220
210
|
Functional Tests
|
|
@@ -293,4 +283,3 @@ Step 3
|
|
|
293
283
|
|
|
294
284
|
- Check that the version in ReadTheDocs was published
|
|
295
285
|
- Check that a Pypi package was published
|
|
296
|
-
- Tweet about it!
|
|
@@ -121,7 +121,7 @@ Technical Architecture
|
|
|
121
121
|
Every concept of bucket, group, collection or record is a REST
|
|
122
122
|
*resource* and behaves according to the conventions of a resource.
|
|
123
123
|
|
|
124
|
-
*Kinto* relies on `
|
|
124
|
+
*Kinto* relies on `Pyramid <https://pyramid.readthedocs.io>`_
|
|
125
125
|
to implement the endpoints and HTTP request/response handling.
|
|
126
126
|
|
|
127
127
|
.. image:: images/architecture.svg
|
|
@@ -181,26 +181,6 @@ Using Amazon RDS
|
|
|
181
181
|
* Use Route53 for loadbalancing
|
|
182
182
|
|
|
183
183
|
|
|
184
|
-
Authentication service
|
|
185
|
-
======================
|
|
186
|
-
|
|
187
|
-
Each request contains an ``Authorization`` header that needs to be verified by the authentication service.
|
|
188
|
-
|
|
189
|
-
In the case of Mozilla, *Kinto* is plugged with the *Firefox Accounts* OAuth service.
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
Fail safe
|
|
193
|
-
---------
|
|
194
|
-
|
|
195
|
-
With the *Firefox Accounts* policy, token verifications are cached for an amount of time.
|
|
196
|
-
|
|
197
|
-
.. code-block:: ini
|
|
198
|
-
|
|
199
|
-
fxa-oauth.cache_ttl_seconds = 300 # 5 minutes
|
|
200
|
-
|
|
201
|
-
If the remote service is down, the cache will allow the authentication of known token for a while. However new tokens will generate a 401 or 503 error response.
|
|
202
|
-
|
|
203
|
-
|
|
204
184
|
Scheduled down time
|
|
205
185
|
===================
|
|
206
186
|
|
|
@@ -257,10 +237,10 @@ always remains the same.
|
|
|
257
237
|
At the database level
|
|
258
238
|
----------------------
|
|
259
239
|
|
|
260
|
-
PostgreSQL
|
|
240
|
+
PostgreSQL has sharding support built-in.
|
|
261
241
|
|
|
262
242
|
The right database node is chosen based on some elements of the data query
|
|
263
|
-
(most probably bucket or collection id) and
|
|
243
|
+
(most probably bucket or collection id) and partioning is then performed
|
|
264
244
|
automatically.
|
|
265
245
|
|
|
266
246
|
As an example, see `pgPool <http://www.pgpool.net/mediawiki/index.php/Main_Page>`_
|