Skip to main content

asyncio REST API Resource database

Project description

Introduction

https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat https://travis-ci.org/plone/guillotina.svg?branch=master Test Coverage Python Versions https://img.shields.io/pypi/v/guillotina.svg License Chat Docker Cloud Build Status

Please read the detailed docs

This is the working project of the next generation Guillotina server based on asyncio.

Dependencies

  • Python >= 3.7

  • PostgreSQL >= 9.6

Quickstart

We use pip

pip install guillotina

Run PostgreSQL

If you don’t have a PostgreSQL server to play with, you can run one with Docker.

Download and start the Docker container by running

make run-postgres

Run the server

To run the server

g

Then…

curl http://localhost:8080

Or, better yet, use Postman to start playing with API.

You can also navigate in your Guillotina server with its built-in web admin interface by visiting http://localhost:8080/+admin/.

Deploy on Heroku

Read more Guillotina-Heroku.

https://www.herokucdn.com/deploy/button.svg

Getting started with development

Using pip (requires Python > 3.7)

git clone git@github.com:plone/guillotina.git
cd guillotina
python3.7 -m venv .
./bin/pip install -r requirements.txt
./bin/pip install -r contrib-requirements.txt
./bin/pip install -e '.[test]'
./bin/pre-commit install

Run tests

We’re using pytest

./bin/pytest guillotina

and for test coverage

./bin/pytest --cov=guillotina guillotina/

With file watcher…

./bin/ptw guillotina --runner=./bin/py.test

To run tests with cockroach db

USE_COCKROACH=true ./bin/pytest guillotina

Default

Default root access can be done with AUTHORIZATION header : Basic root:root

Docker

You can also run Guillotina with Docker!

First, run PostgreSQL

docker run --rm \
    -e POSTGRES_DB=guillotina \
    -e POSTGRES_USER=guillotina \
    -p 127.0.0.1:5432:5432 \
    --name postgres \
    postgres:9.6

Then, run Guillotina

docker run --rm -it \
    --link=postgres -p 127.0.0.1:8080:8080 \
    plone/guillotina:latest \
    g -c '{"databases": [{"db": {"storage": "postgresql", "dsn": "postgres://guillotina:@postgres/guillotina"}}], "root_user": {"password": "root"}}'

This assumes you have a config.yaml in your current working directory

Chat

Join us to talk about Guillotina at https://gitter.im/plone/guillotina

CHANGELOG

6.3.14 (2021-08-04)

  • feat: Change MIMEMultipart ‘alternative’ to ‘mixed’. Outlook and Thunderbird not recieve attachment when use ‘alternative’

  • chore: fix version aioredis 1.3.1 [rboixaderg]

6.3.13 (2021-07-05)

  • Mask Textline field to recover masked values on get [bloodbare]

  • Fix navigate_to() crashes with ‘AttributeError’ when traversing to a non-folderish object [masipcat]

6.3.12 (2021-07-01)

  • shell: import ‘app_settings’. Fix typo

  • doc: Fix example app and other small fixes [jianaijun]

  • feat: Add null and not null operator in int, float and timestamp types in pgcatalog [rboixaderg]

6.3.11 (2021-06-10)

  • Add is not null operator Search pgcatalog

  • Fix order by int and float Search pgcatalog [rboixaderg]

6.3.10 (2021-06-07)

  • Fix unrestricted Search pgcatalog

  • Add filter is null Search pgcatalog [rboixaderg]

6.3.9 (2021-05-31)

  • Allow to define custom validate url and custom template on email actions [bloodbare]

  • Add @ in allowed chars in IIDChecker [rboixaderg]

6.3.8 (2021-05-21)

  • Fixing status code on range request [bloodbare]

6.3.7 (2021-05-21)

  • Fix potential pg connection leaks

  • PG Catalog unrestricted search build count query

  • PG Catalog __or, __and operators [rboixaderg]

6.3.6 (2021-05-10)

  • Fix error on unrestricted Search [bloodbare]

6.3.5 (2021-05-10)

  • PG Catalog unrestricted search [bloodbare]

6.3.4 (2021-05-06)

  • Adding image with scale previews field [bloodbare]

6.3.3 (2021-05-04)

  • Command: Implement graceful stop (like in asyncio.run()) [masipcat]

  • Command: Fix same txn copied to all tasks/requests [masipcat]

6.3.2 (2021-04-30)

  • Command: fix typo introduced in #1125 [masipcat]

6.3.1 (2021-04-30)

  • On workflow change also trigger object modification [bloodbare]

  • Command: run the startup/shutdown and main logic inside the loop [masipcat]

6.3.0 (2021-04-21)

  • Use Context on default catalog security checks [bloodbare]

  • Return 401 if NoPermissionToAdd is raised in defaultPOST [nilbacardit26]

  • No longer have dedicated read connection and do not use any prepared statements [vangheem]

6.2.6 (2021-04-12)

  • Fix bug on search results ids based on container path [bloodbare]

6.2.5 (2021-04-09)

  • Fix PGCatalog Phrase search [bloodbare]

  • Fix bug on empty waiting for empty tasks. [bloodbare]

6.2.4 (2021-04-07)

  • Enable X-Wait header to wait futures. Use only in case you need to make sure all futures are finished before request ends. Alert: Afects performance on request response time. [bloodbare]

6.2.3 (2021-04-07)

  • Search on pg catalog should check security on context [bloodbare]

You are seeing a truncated changelog.

You can read the changelog file for a complete list.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guillotina-6.3.14.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

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

guillotina-6.3.14-cp38-cp38-macosx_10_15_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

File details

Details for the file guillotina-6.3.14.tar.gz.

File metadata

  • Download URL: guillotina-6.3.14.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for guillotina-6.3.14.tar.gz
Algorithm Hash digest
SHA256 920454f7587a940e0d69a9ea371678e62c93c61c211c63244d74320738c13395
MD5 d1b09e10b417be605de586fe04e1ebe6
BLAKE2b-256 2f83dc521ce3ff66c74d8fb2da7f1d51a0be677be903fe888336e967a99cd5ae

See more details on using hashes here.

File details

Details for the file guillotina-6.3.14-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: guillotina-6.3.14-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.5

File hashes

Hashes for guillotina-6.3.14-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0ae5ca1b480b11acf7ec18b45f4f585f82f03881303187f4db874d3179a4c685
MD5 be1ea58984343a1b91139ed797da3729
BLAKE2b-256 e89f22c510eac1775f2c89e9079bfd8c6946901a83f3b1a77718b94365b3e9a2

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