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.2.6 (2018-09-28)
Adding support for default value on ContextProperties [bloodbare]
4.2.5 (2018-09-27)
Automatically load dependent applications if defined in base application app_settings object. [vangheem]
4.2.4 (2018-09-27)
Correctly handle issues when releasing connections back to the pool [vangheem]
4.2.3 (2018-09-26)
Added cookie support on auth. [bloodbare]
4.2.2 (2018-09-26)
Allow value serializers to be coroutines [vangheem]
4.2.1 (2018-09-25)
Adding logging and renew token endpoint [bloodbare]
4.2.0 (2018-09-23)
- Add new events:
IApplicationCleanupEvent
IApplicationConfiguredEvent
IApplicationInitializedEvent
IDatabaseInitializedEvent
ITraversalMissEvent
ITraversalResourceMissEvent
ITraversalRouteMissEvent
ITraversalViewMissEvent
upgrade shipped asyncpg version [vangheem]
Add events for application configuration, request traversal misses and database itialization. [vangheem]
Add @resolveuid endpoint [vangheem]
Change @ids endpoint permission to guillotina.Manage [vangheem]
Change @items endpoint permission to guillotina.Manage [vangheem]
Add guillotina.Manage permission which only guillotina.Managers roles have by default. [vangheem]
4.1.12 (2018-09-20)
Fix file handling to properly provide 404 responses when no value is set [vangheem]
Move static guillotina assets into python package so they can be referenced from python dotted paths with guillotina:static/assets [vangheem]
Be able to configure behavior directly against a schema instead of needing to define concret behavior [vangheem]
4.1.11 (2018-09-19)
Fixing serialization bug [bloodbare]
4.1.10 (2018-09-19)
Fixing Bug on Serialize Schema [bloodbare]
Adding static behaviors on REST serialize [bloodbare]
Fix cookiecutter application template [vangheem]
4.1.9 (2018-09-17)
Adding annotation support on registry object [bloodbare]
Fix IJSONToValue adapter for IPatchField [masipcat]
4.1.8 (2018-09-14)
Be able to override configuration values with –override parameter [vangheem]
4.1.7 (2018-09-12)
Provide more flexibility for traversal sub-routes [vangheem]
Make sure ApplicationRoot knows about the loop it is used with [vangheem]
4.1.6 (2018-08-31)
On PUT, completely delete existing existing behavior objects [vangheem]
4.1.5 (2018-08-30)
Allow PUT in CORS policy [ebrehault]
Update admin interface:
Use PUT to edit
Preserve path when logging in
[ebrehault]
4.1.4 (2018-08-29)
Implement default PUT method to be able to replace content [vangheem]
Fix error on invalid CORS ch [vangheem]
Option to disable inheritance on role permission relation [bloodbare]
Add get_behavior utility [vangheem]
IBeforeFieldModified event to hook before setting a field [bloodbare]
Added PatchField for ints to be used as counters [lferran]
4.1.3 (2018-08-08)
Split sharing function to be reusable [bloodbare]
4.1.2 (2018-08-06)
Binding fields to objecst on deserialize to make sure vocabulary is enabled [bloodbare]
Enabling uploading files with a JSON payload [bloodbare]
4.1.1 (2018-07-30)
Adding decorator for vocabulary definition [bloodbare]
Adding tests on cookiecutter [bloodbare]
Add ‘Navigator’ utility, that provides a path-based index to the already loaded objects. [cdevienne]
…
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.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0faec2ff9542a99dba1ab1f03612b65eb61f85587f77da060c63bd6bf17e472 |
|
MD5 | 52e5b8e1c96d54815042a9ba325845b5 |
|
BLAKE2b-256 | 4b69e45d768312e1eff215e04771623af9161a1ae1f32dec5a15c6f990f39efe |