asyncio REST API Resource database
Project description
Please read the detailed docs
This is the working project of the next generation Guillotina server based on asyncio.
Dependencies
python >= 3.6
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 easily with docker.
Download and start the docker container by running:
make run-postgres
Run the server
To run the server:
g
Then…
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/.
Getting started with development
Using pip:
./bin/pip install requirements.txt ./bin/pip install -e .[test]
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 \ guillotina/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
4.5.1 (2019-01-30)
Fix read connection lock regression [vangheem]
4.5.0 (2019-01-30)
By default, do not serialize json data to postgresql anymore. If you were depending on store_json default to be true, you need to update [vangheem]
Provide guillotina.db.interfaces.IJSONDBSerializer to be able to override json stored in posgresql to be different than what is serialized in catalog/elasticsearch/etc [vangheem]
Improved PostgresqlStorage._check_bad_connection() [masipcat]
-fix typos in documentation
4.4.10 (2019-01-23)
postgresql storage needs to share connection lock [vangheem]
4.4.9 (2019-01-15)
Handle if no data to iterate on for downloads [vangheem]
4.4.8 (2019-01-15)
Fix release [vangheem]
4.4.7 (2019-01-15)
Defer preparing download response so http exceptions are handle correctly [vangheem]
4.4.6 (2019-01-15)
Fix getting binding file field for cloud files [vangheem]
provide guillotina.utils.get_url function that pays attention to X-VirtualHost-Monster header [vangheem]
Take X-Forwarded-Proto into account for request url [vangheem]
Implement multi attachments [masipcat]
4.4.5 (2019-01-11)
Allow to login on IApplication. [bloodbare]
4.4.4 (2019-01-11)
Be able to prevent closing database connection pools [vangheem]
4.4.3 (2019-01-11)
Implement db.storage.spg.PGConnectionManager class to allow safely sharing pool and read connections between multiple storages. [vangheem]
4.4.2 (2019-01-10)
Option to add different type of containers. [bloodbare]
4.4.1 (2019-01-09)
Postgresql storage accepts pool arguments [vangheem]
4.4.0 (2018-12-27)
New:
Implement HEAD for @download endpoint [vangheem]
Be able to customize the table names used with objects_table_name and blobs_table_name database configuration options. [vangheem]
Adding the option to define the reader for annotations [bloodbare]
Fixes:
Fix Resource.__getattr__() for empty fields with default values [masipcat]
4.3.5 (2018-12-09)
Added before render view event [lferran]
4.3.4 (2018-12-06)
Check valid generated id [vangheem]
Implement delete by value for PatchField(value_type=schema.List()) [vangheem]
4.3.3 (2018-12-03)
Be able to override configuration with environment variables [vangheem]
4.3.2 (2018-11-20)
Fix MockTransaction test object to have manager property [vangheem]
4.3.1 (2018-11-15)
Missing utilities settings should not cause error [vangheem]
4.3.0 (2018-11-13)
Remove Container from available-types [bloodbare]
No automatic async util loaded. [bloodbare]
BREAKING CHANGE: Async Utilities are not loaded by default so they need to be defined on the package configuration on the merging settings at __init__.py. Utilities are not key mapped, each utility has an id to reflect it. Now config.yaml files only need to define them if you want to overwrite.
Improve Documentation
Index page
Security page
[hirokiky]
…
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
Built Distribution
Hashes for guillotina-4.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d115b4372a53ed8c597c32c5c2def7ac2f06cd23d20058149c853bd93b0ee83 |
|
MD5 | cd76537644e547d33e6ce5787d2c920c |
|
BLAKE2b-256 | 5b43b44e1245bb06ecc9e3171fb494527fc656f3a88bc6a9d9e067e19fa65725 |