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
Getting started with development
We use buildout of course:
virtualenv . ./bin/pip install zc.buildout ./bin/buildout
The buildout installs the app itself, code analysis tools, and a test runner.
Run postgresql
If you don’t have a postgresql server to play with, you can run one easily with docker.
In the termainl:
make run-postgres
Run the server
To run the server:
./bin/guillotina
Then…
Or, better yet, use postman to start playing with API.
Run tests
We’re using py.test:
./bin/py.test src
and for test coverage:
./bin/py.test --cov=guillotina guillotina/
With file watcher…
./bin/ptw guillotina –runner=./bin/py.test
Default
Default root access can be done with AUTHORIZATION header : Basic root:root
1.0.0a1 (2017-03-17)
move zope.schema, zope.component, zope.configuration into guillotina [vangheem]
move get_current_request to guillotina.utils [vangheem]
create_content and create_content_in_container are not async functions [vangheem]
remove zope.security, zope.location, zope.dublincore, plone.behavior, zope.dottedname, zope.lifecycleevent [vangheem]
rename to guillotina [vangheem]
Remove plone:api zcml directive [vangheem]
1.0a14 (unreleased)
Rename “address” option to “port” and add “host” option to bind something different than the default 0.0.0.0 [vangheem]
1.0a13 (2017-02-27)
Fixes:
Fix static file configuration [vangheem]
1.0a12 (2017-02-27)
Fixes:
HTML renderer can now handle html responses correctly [vangheem]
Renamed settingsForObject to settings_for_object [vangheem]
1.0a11 (2017-02-22)
Fixes:
Handle NotADirectoryError error when attempting to load b/w compat zcml [vangheem]
Breaking changes:
ACL is now in the object itself so the permission will not be maintained [ramonnb]
New features:
Executing pending tasks after requests has returned [ramonnb]
Adding the payload on the events that modifies the objects [ramonnb]
Defining local and global roles so they can be used to define @sharing On indexing security information we only get the AccessContent permission. [ramonnb]
Install addons can have the context [ramonnb]
Merging zope.securitypolicy [ramonnb]
Adding C optimization for get_current_request [ramonnb]
1.0a10 (2017-02-01)
Fixes:
Fix issue where correct aiohttp response would not be generated always [vangheem]
New features:
be able provide your own database factories by providing named utilities for the IDatabaseConfigurationFactory interface [vangheem]
install, uninstall methods for addon class can now be async [vangheem]
Support for newt.db [ramonnb]
Be able to define adapters, subscribers, permissions, roles, grant with decorators, not zcml [vangheem]
No more zcml in core [vangheem]
1.0a9 (2017-01-18)
Fixes:
Use guillotina.schema getter and setter to set attributes [ramonnb]
New features:
Be able to define addons using decorators, not zcml [vangheem]
Be able to define behaviors using decorators, not zcml [vangheem]
Be able to define content types using decorators, not zcml [vangheem]
Catalog reindex as async operation [ramonnb]
RelStorage Support (postgres) [ramonnb]
Adding HTTP Precondition exception [ramonnb]
New way to create services with decorators instead of zcml/json configuration [vangheem]
Add functionality like virtualhost monster to define the urls [ramonnb]
Add new pcreate command [vangheem]
Add new pmigrate command and migration framework [vangheem]
Provide base guillotina.commands.Command class to provide your own commands. Commands have been moved in code so you’ll need to re-run buildout to get pserver to work after this update. [vangheem]
Automatically give authenticated users new guillotina.Authenticated role [vangheem]
Handle error when deserializing content when not authenticated and checking permissions [vangheem]
add pshell command [vangheem]
Role member for Manager group [ramonnb]
Breaking changes:
plone:api zcml directive deprecated in favor of decorator variant [vangheem]
1.0a8 (2016-12-18)
On deserialization errors, provide error info on what fields could not be deserialized in the api response. [vangheem]
Be able to provide data from serializable exception data to be used with ErrorResponse objects with Exceptions that implement ISerializableException. [vangheem]
Add Events to enable audit of activity [ramonnb]
Add the JSON Field [ramonnb]
Fix various function naming standard issues to not use camel case. [vangheem]
Fix imports with isort. [gforcada]
remove local component registry [vangheem]
GET @search(plone.SearchContent) passed to search method and POST @search(plone.RawSearchContent) passed to query method on ICatalogUtility. GET is now meant to be query the search utility will do something clever with and POST is meant to be a raw query passed to utility [vangheem]
provide new plone.SearchContent, plone.RawSearchContent and plone.ManageCatalog permissions [vangheem]
provide IConstrainTypes adapter interface to override allowed types in a folder [vangheem]
provide dynamic behavior for objects [ramonnb]
provide basic command line utility to interact with APIs [vangheem]
fix fallback cors check [vangheem]
Added zope.event async version on guillotina.events (notify and async handlers) [ramonnb]
Improve code analysis, add configurations for it and remove all tabs. [gforcada]
1.0a7 (2016-11-24)
add jwt token validator [vangheem]
Add to finalize an AsyncUtil when its finishing the software [ramonnb]
Remove AUTH_USER_PLUGINS and AUTH_EXTRACTION_PLUGINS. Authentication now consists of auth extractors, user identifiers and token validators. [vangheem]
Correctly check parent object for allowed addable types [vangheem]
Get default values from schema when attribute on object is not set [ramonnb]
1.0a6 (2016-11-21)
Move authorization to after traversal [vangheem]
Fix issue where you could not save data with the API [vangheem]
1.0a5 (2016-11-21)
Adding zope.event compatible async handlers for ElasticSearch and other events handlers [@bloodbare]
Adding PostCommit and PreCommit Hooks that can be async operations [@bloodbare]
1.0a4 (2016-11-19)
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-1.0.0a1-cp35-cp35m-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9080d19884ab888f394af40f8c1010f15c7372d77258e8acee12c571a9d5e7a7 |
|
MD5 | 741b3a76fdc9041ca0e5c140b63baffc |
|
BLAKE2b-256 | 075abd9718144152ac16a9800556eeed45a8875d8898931a5435132aa125db90 |