Metadata-Version: 1.1
Name: guillotina
Version: 3.3.5
Summary: asyncio REST API Resource database
Home-page: https://github.com/plone/guillotina
Author: Ramon & Asko & Nathan
Author-email: ramon@plone.org
License: BSD
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.python.org/pypi/guillotina/
           :alt: Python Versions
        
        .. image:: https://img.shields.io/pypi/v/guillotina.svg
           :target: https://pypi.python.org/pypi/guillotina
        
        .. image:: https://img.shields.io/pypi/l/guillotina.svg
           :target: https://pypi.python.org/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.
        
        
        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
        
        
        3.3.5 (2018-05-22)
        ------------------
        
        - specify `acl` field name for access_users and access_roles indexer
          so we can easily reindex security
          [vangheem]
        
        
        - prevent running the same indexer multiple times
          [vangheem]
        
        - be able to manually index object by using
          `guillotina.catalog.index.add_object(ob, modified=True, payload={})`
          [vangheem]
        
        - Fix bug in CORS with tus when guillotina was on different domain than
          web application calling it
          [vangheem]
        
        
        3.3.4 (2018-05-21)
        ------------------
        
        - Make sure we write to a non-shared txn when creating db object
          [vangheem]
        
        
        3.3.3 (2018-05-21)
        ------------------
        
        - Use exists instead of get_names for dynamic dbs
          [vangheem]
        
        3.3.2 (2018-05-20)
        ------------------
        
        - Cockroachdb supports cascade and jsonb now
          [vangheem]
        
        
        3.3.1 (2018-05-19)
        ------------------
        
        - only return task on request.execute_futures if there are futures
          to run
          [vangheem]
        
        
        3.3.0 (2018-05-19)
        ------------------
        
        - Change reindexing security to futures, not queue for more
          consistent performance
          [vangheem]
        
        - Remove IBeforeObjectAssignedEvent as it wasn't used
          [vangheem]
        
        - Rename `directives.index` to `directives.index_field`
          [vangheem]
        
        - Be able to specify priority on `@configure.subscriber`. Lower
          is higher priority.
          [vangheem]
        
        - Indexer now sends full object for ICatalogUtility.remove
          instead of tuple of data
          [vangheem]
        
        
        3.2.7 (2018-05-15)
        ------------------
        
        - Indexing gathers all data on update instead of
          overwriting indexed data
          [vangheem]
        
        
        3.2.6 (2018-05-12)
        ------------------
        
        - Provide IDatabaseManager.exists for dummy db impelementation
          [vangheem]
        
        
        3.2.5 (2018-05-12)
        ------------------
        
        - add IDatabaseManager.exists method to be able to check if db exists
          [vangheem]
        
        
        3.2.4 (2018-05-11)
        ------------------
        
        - Fix dynamic storage urls for cockroach
          [vangheem]
        
        - deserialize value before validation on patch fields
          [vangheem]
        
        
        3.2.3 (2018-05-11)
        ------------------
        
        - Authenticated users have access to view root just like
          unauthenticated users
          [vangheem]
        
        
        3.2.2 (2018-05-11)
        ------------------
        
        - Be able to provide comma separated `permissions` param to `@canido`
          [vangheem]
        
        
        3.2.1 (2018-05-10)
        ------------------
        
        - Be able to modify file attributes filename, content_type, md5, extension
          [vangheem]
        
        
        3.2.0 (2018-05-10)
        ------------------
        
        - Provide new IDynamicFields and IDynamicFieldValues behaviors
          [vangheem]
        
        - Be able to use PatchField with nested schemas
          [vangheem]
        
        - Change Object field to work with dicts and JSON schema
          [vangheem]
        
        
        3.1.8 (2018-05-06)
        ------------------
        
        - Add `type_name` index
          [vangheem]
        
        
        3.1.7 (2018-05-04)
        ------------------
        
        - Provide check_security argument on
          `guillotina.content.create_content_in_container`
          [vangheem]
        
        
        3.1.6 (2018-04-30)
        ------------------
        
        - Provide asyncio.Lock on transaction manager
          [vangheem]
        
        
        3.1.5 (2018-04-30)
        ------------------
        
        - `guillotina.utils.get_containers` does not change
          transaction strategy anymore.
          [vangheem]
        
        
        3.1.4 (2018-04-30)
        ------------------
        
        - Fix getting tid for `dbresolve_readcommitted` txn strategy
          [vangheem]
        
        ...
        
        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.
        
        
Keywords: asyncio,REST,Framework,transactional
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
