Metadata-Version: 2.1
Name: guillotina
Version: 6.3.7
Summary: asyncio REST API Resource database
Home-page: https://github.com/plone/guillotina
Author: Ramon Navarro Bosch & Nathan Van Gheem
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
        
        .. image:: https://img.shields.io/docker/cloud/build/plone/guillotina
           :target: https://hub.docker.com/r/guillotina/guillotina
           :alt: Docker Cloud Build Status
        
        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.7
        * PostgreSQL >= 9.6
        
        
        Quickstart
        ----------
        
        We use pip
        
        .. code-block:: shell
        
            pip install guillotina
        
        
        Run PostgreSQL
        --------------
        
        If you don't have a PostgreSQL server to play with, you can run one with Docker.
        
        Download and start the Docker container by running
        
        .. code-block:: shell
        
            make run-postgres
        
        
        
        Run the server
        --------------
        
        To run the server
        
        .. code-block:: shell
        
            g
        
        
        Then...
        
        .. code-block:: shell
        
            curl http://localhost:8080
        
        
        Or, better yet, use `Postman <https://www.getpostman.com/>`_ 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/.
        
        Deploy on Heroku
        ----------------
        
        Read more `Guillotina-Heroku <https://github.com/guillotinaweb/guillotina-heroku>`_.
        
        .. image:: https://www.herokucdn.com/deploy/button.svg
           :target: https://www.heroku.com/deploy?template=https://github.com/guillotinaweb/guillotina-heroku
        
        Getting started with development
        --------------------------------
        
        Using pip (requires Python > 3.7)
        
        .. code-block:: shell
        
            git clone git@github.com:plone/guillotina.git
            cd guillotina
            python3.7 -m venv .
            ./bin/pip install -r requirements.txt
            ./bin/pip install -r contrib-requirements.txt
            ./bin/pip install -e '.[test]'
            ./bin/pre-commit install
        
        
        Run tests
        ---------
        
        We're using `pytest <https://docs.pytest.org/en/latest/>`_
        
        .. code-block:: shell
        
            ./bin/pytest guillotina
        
        and for test coverage
        
        .. code-block:: shell
        
            ./bin/pytest --cov=guillotina guillotina/
        
        With file watcher...
        
        .. code-block:: shell
        
            ./bin/ptw guillotina --runner=./bin/py.test
        
        
        To run tests with cockroach db
        
        .. code-block:: shell
        
            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
        
        .. code-block:: shell
        
            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
        
        .. code-block:: shell
        
            docker run --rm -it \
                --link=postgres -p 127.0.0.1:8080:8080 \
                plone/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
        
        
        CHANGELOG
        =========
        
        6.3.7 (2021-05-21)
        ------------------
        
        - Fix potential pg connection leaks
        - PG Catalog unrestricted search build count query
        - PG Catalog __or, __and operators
          [rboixaderg]
        
        
        6.3.6 (2021-05-10)
        ------------------
        
        - Fix error on unrestricted Search
          [bloodbare]
        
        
        6.3.5 (2021-05-10)
        ------------------
        
        - PG Catalog unrestricted search
          [bloodbare]
        
        
        6.3.4 (2021-05-06)
        ------------------
        
        - Adding image with scale previews field
          [bloodbare]
        
        
        6.3.3 (2021-05-04)
        ------------------
        
        - Command: Implement graceful stop (like in asyncio.run())
          [masipcat]
        
        - Command: Fix same txn copied to all tasks/requests
          [masipcat]
        
        
        6.3.2 (2021-04-30)
        ------------------
        
        - Command: fix typo introduced in #1125
          [masipcat]
        
        
        6.3.1 (2021-04-30)
        ------------------
        
        - On workflow change also trigger object modification
          [bloodbare]
        
        - Command: run the startup/shutdown and main logic inside the loop
          [masipcat]
        
        
        6.3.0 (2021-04-21)
        ------------------
        
        - Use Context on default catalog security checks
          [bloodbare]
        
        - Return 401 if NoPermissionToAdd is raised in defaultPOST
          [nilbacardit26]
        
        - No longer have dedicated read connection and do not use any prepared statements
          [vangheem]
        
        
        6.2.6 (2021-04-12)
        ------------------
        
        - Fix bug on search results ids based on container path
          [bloodbare]
        
        
        6.2.5 (2021-04-09)
        ------------------
        
        - Fix PGCatalog Phrase search
          [bloodbare]
        
        - Fix bug on empty waiting for empty tasks.
          [bloodbare]
        
        6.2.4 (2021-04-07)
        ------------------
        
        - Enable X-Wait header to wait futures. Use only in case you need to make sure all futures are finished before request ends.
          Alert: Afects performance on request response time.
          [bloodbare]
        
        6.2.3 (2021-04-07)
        ------------------
        
        - Search on pg catalog should check security on context
          [bloodbare]
        
        
        6.2.2 (2021-04-01)
        ------------------
        
        - Index on PG Catalog IDS should be table named
          [bloodbare]
        
        
        6.2.1 (2021-03-12)
        ------------------
        
        - Allow to skip pg catalog initialization based on SKIP_PGCATALOG_INIT environmental var.
          [bloodbare]
        
        
        6.2.0 (2021-03-04)
        ------------------
        
        - Write missing_value to object on deserialization
          [masipcat]
        
        - BREAKING CHANGE: PG Catalog implementation splitted on multiple fields
          if you are import PGSearchUtility you need to change the import line from:
          `from guillotina.contrib.catalog.pg import PGSearchUtility` to `from guillotina.contrib.catalog.pg.utility import PGSearchUtility`
          [bloodbare]
        
        
        6.1.7 (2021-03-03)
        ------------------
        
        - ISecurityInfo: field 'id' was missing
          [masipcat]
        
        
        6.1.6 (2021-02-25)
        ------------------
        
        - Reuse modified objects on same transactions on traversal/async_get navigation
          [bloodbare]
        
        - Improve memcached metrics probe [lferran]
        
        
        6.1.5 (2021-02-09)
        ------------------
        
        - Cleaner memcached_container pytest fixture [lferran]
        
        - Fixing checking field permission on content creation
          [bloodbare]
        
        - Fix memcached tests not able to start docker image [lferran]
        
        - Fixing 6.1.4 release (anonymous users not working on search)
          [bloodbare]
        
        
        6.1.4 (2021-01-31)
        ------------------
        
        - Apply local roles on @search with pgcatalog
          [bloodbare]
        
        
        
        ...
        
        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,asgi
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7.0
Provides-Extra: test
Provides-Extra: docs
Provides-Extra: testdata
Provides-Extra: redis
Provides-Extra: mailer
Provides-Extra: memcached
Provides-Extra: validation
Provides-Extra: recaptcha
