Skip to content

plone/guillotina

Folders and files

NameName
Last commit message
Last commit date
Mar 4, 2025
Sep 4, 2019
Oct 4, 2022
Mar 4, 2025
Jan 7, 2020
Apr 1, 2021
Dec 4, 2019
Apr 27, 2018
Feb 21, 2020
Jan 30, 2024
Sep 3, 2019
Jan 5, 2021
Jun 27, 2019
Mar 4, 2025
Sep 24, 2019
Dec 22, 2020
Nov 17, 2016
Sep 2, 2019
Jan 16, 2020
Feb 26, 2020
Oct 1, 2024
Aug 17, 2019
Aug 17, 2019
Jul 23, 2018
Feb 3, 2020
Jan 16, 2020
Jan 19, 2020
Mar 4, 2025
Aug 7, 2017
Mar 10, 2018
Jul 26, 2020
Oct 1, 2018
Oct 30, 2017
Mar 4, 2025
Jun 22, 2019
Dec 6, 2023
Mar 4, 2025
Mar 4, 2025

Repository files navigation

Introduction

https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat https://travis-ci.org/plone/guillotina.svg?branch=master Test Coverage Python Versions License Chat Docker Cloud Build Status

Please read the detailed docs

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

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

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/.

Deploy on Heroku

Read more Guillotina-Heroku.

Getting started with development

Using pip (requires Python > 3.7)

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

./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 \
    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