asyncio REST API Resource database
Project description
Introduction
============
.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
:target: http://guillotina.readthedocs.io/en/latest/
.. image:: https://travis-ci.org/plone/guillotina.svg?branch=master
:target: https://travis-ci.org/plone/guillotina
.. image:: https://codecov.io/gh/plone/guillotina/branch/master/graph/badge.svg
:target: https://codecov.io/gh/plone/guillotina/branch/master
:alt: Test Coverage
.. image:: https://img.shields.io/pypi/pyversions/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina/
:alt: Python Versions
.. image:: https://img.shields.io/pypi/v/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina
.. image:: https://img.shields.io/pypi/l/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina/
:alt: License
.. image:: https://badges.gitter.im/plone/guillotina.png
:target: https://gitter.im/plone/guillotina
:alt: Chat
Please `read the detailed docs <http://guillotina.readthedocs.io/en/latest/>`_
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...
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/.
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.6 (2019-02-18)
------------------
- Fix CORS on tus
[bloodbare]
- Support tus upload for multifile field
[bloodbare]
- Ws token on application
[bloodbare]
4.5.5 (2019-02-15)
------------------
- Fix losing startup command setting hints after application configuration
[vangheem]
- Be able to provide additional metadata for dynamic fields
[vangheem]
- Bugfix: Raise HTTPUnauthorized if trying to modify a write_protected
field [lferran]
- Adding = to valid chars.
[bloodbare]
- Allowing to get user information of application
[bloodbare]
- Fixing SQL creation function
[bloodbare]
4.5.4 (2019-02-07)
------------------
- Fix serialization of json field to work with swagger
[vangheem]
4.5.3 (2019-01-31)
------------------
- Add `get` method to `BucketListValue` class
[vangheem]
4.5.2 (2019-01-31)
------------------
- Reusage of jwt decode
[bloodbare]
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]
...
You are seeing a truncated changelog.
You can read the `changelog file <https://github.com/plone/guillotina/blob/master/CHANGELOG.rst>`_
for a complete list.
============
.. image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
:target: http://guillotina.readthedocs.io/en/latest/
.. image:: https://travis-ci.org/plone/guillotina.svg?branch=master
:target: https://travis-ci.org/plone/guillotina
.. image:: https://codecov.io/gh/plone/guillotina/branch/master/graph/badge.svg
:target: https://codecov.io/gh/plone/guillotina/branch/master
:alt: Test Coverage
.. image:: https://img.shields.io/pypi/pyversions/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina/
:alt: Python Versions
.. image:: https://img.shields.io/pypi/v/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina
.. image:: https://img.shields.io/pypi/l/guillotina.svg
:target: https://pypi-hypernode.com/pypi/guillotina/
:alt: License
.. image:: https://badges.gitter.im/plone/guillotina.png
:target: https://gitter.im/plone/guillotina
:alt: Chat
Please `read the detailed docs <http://guillotina.readthedocs.io/en/latest/>`_
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...
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/.
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.6 (2019-02-18)
------------------
- Fix CORS on tus
[bloodbare]
- Support tus upload for multifile field
[bloodbare]
- Ws token on application
[bloodbare]
4.5.5 (2019-02-15)
------------------
- Fix losing startup command setting hints after application configuration
[vangheem]
- Be able to provide additional metadata for dynamic fields
[vangheem]
- Bugfix: Raise HTTPUnauthorized if trying to modify a write_protected
field [lferran]
- Adding = to valid chars.
[bloodbare]
- Allowing to get user information of application
[bloodbare]
- Fixing SQL creation function
[bloodbare]
4.5.4 (2019-02-07)
------------------
- Fix serialization of json field to work with swagger
[vangheem]
4.5.3 (2019-01-31)
------------------
- Add `get` method to `BucketListValue` class
[vangheem]
4.5.2 (2019-01-31)
------------------
- Reusage of jwt decode
[bloodbare]
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]
...
You are seeing a truncated changelog.
You can read the `changelog file <https://github.com/plone/guillotina/blob/master/CHANGELOG.rst>`_
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-4.5.6.tar.gz
(5.9 MB
view hashes)
Built Distribution
Close
Hashes for guillotina-4.5.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08e48995e460c40cbd014410ed9d6cb303661d62e87680d41b3436645bb855a6 |
|
MD5 | c8252a1e212346d044d2bbb81e79dc4b |
|
BLAKE2b-256 | a9c4765f745c7462e2009d0997f11ea87919e422659f08e3a44f12b1f63d59bd |