Metadata-Version: 2.1
Name: caluma
Version: 5.5.2
Summary: Caluma Service providing GraphQL API
Home-page: https://projectcaluma.github.io/
License: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Download-URL: https://github.com/projectcaluma/caluma
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown
Requires-Dist: dateparser (==0.7.4)
Requires-Dist: django (==2.2.11)
Requires-Dist: django-cors-headers (==3.2.1)
Requires-Dist: django-environ (==0.4.5)
Requires-Dist: django-extensions (==2.2.8)
Requires-Dist: django-filter (==2.2.0)
Requires-Dist: django-localized-fields (==5.4.2)
Requires-Dist: django-postgres-extra (==1.22)
Requires-Dist: djangorestframework (==3.11.0)
Requires-Dist: django-simple-history (==2.8.0)
Requires-Dist: graphene (==2.1.8)
Requires-Dist: graphene-django (==2.8.2)
Requires-Dist: graphql-core (==2.2.1)
Requires-Dist: graphql-relay (==2.0.1)
Requires-Dist: idna (==2.9)
Requires-Dist: minio (==5.0.8)
Requires-Dist: psycopg2-binary (==2.8.4)
Requires-Dist: pyjexl (==0.2.3)
Requires-Dist: python-memcached (==1.59)
Requires-Dist: requests (==2.23.0)
Requires-Dist: urllib3 (==1.25.8)
Requires-Dist: uwsgi (==2.0.18)

# ![Caluma Service](https://user-images.githubusercontent.com/6150577/60805422-51b1bf80-a180-11e9-9ae5-c794249c7a98.png)

[![Build Status](https://travis-ci.com/projectcaluma/caluma.svg?branch=master)](https://travis-ci.com/projectcaluma/caluma)
[![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen.svg)](https://github.com/projectcaluma/caluma/blob/master/.coveragerc#L5)
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
[![PyPI](https://img.shields.io/pypi/v/caluma)](https://pypi.org/project/caluma/)
[![License: GPL-3.0-or-later](https://img.shields.io/github/license/projectcaluma/caluma)](https://spdx.org/licenses/GPL-3.0-or-later.html)

A collaborative form editing service.

## What is Caluma Service?

Caluma Service is the core part of the Caluma project providing a
[GraphQL API](https://graphql.org/). For a big picture and to learn what Caluma
 does for you, have a look at [caluma.io](https://caluma.io)



## Getting started

### Installation

NOTE: We recommend using Caluma as a dedicated service. However, it is possible to integrate
Caluma into a django project. You can read about this [here](docs/django-apps.md).

**Requirements**
* docker
* docker-compose

After installing and configuring those, download [docker-compose.yml](https://github.com/projectcaluma/caluma/blob/master/docker-compose.yml) and run the following command:


```bash
docker-compose up -d
```

You can now access [GraphiQL](https://github.com/graphql/graphiql) at
[http://localhost:8000/graphql](http://localhost:8000/graphql) which
includes a schema documentation. The API allows to query and mutate form
and workflow entities which are described below.

Caluma is a [12factor app](https://12factor.net/) which
means that configuration is stored in environment variables.
Different environment variable types are explained at
[django-environ](https://github.com/joke2k/django-environ#supported-types).

You can read more about running and configuring Caluma under
[docs/configuration.md](docs/configuration.md)

### Debugging

Set environment variable `ENV` to `dev` to enable debugging capabilities. Don't use this in production as it exposes confidential information!

This enables [Django Debug Middleware](https://docs.graphene-python.org/projects/django/en/latest/debug/).

For profiling you can use `./manage.py runprofileserver`. See [docker-compose.override.yml](docker-compose.override.yml) for
an example.


## License

Code released under the [GPL-3.0-or-later license](LICENSE).

For further information on our license choice, you can read up on the [corresponding GitHub issue](https://github.com/projectcaluma/caluma/issues/751#issuecomment-547974930).

## Further reading

* [Installation & Configuration](docs/configuration.md) - Get started installing
  Caluma in a production context
* [Contributing](CONTRIBUTING.md) - If you want to help us, here's
  how to start with your first contribution.
* [Caluma Guide](docs/guide.md) - How to get up and running with Caluma
* [Workflow Concepts](docs/workflow-concepts.md) - How to use caluma workflows
* [Historical Records](docs/historical-records.md) - Undo and audit trail
  functionality
* [GraphQL](docs/graphql.md) - Further information on how to use the GraphQL
  interface
* [Validation](docs/validation.md) - Validation of user input
* [Extending Caluma](docs/extending.md) - Extensions: Data visibility and
  permissions
* [Caluma Events](docs/events.md) - Reacting upon Caluma Events
* [Using Caluma as django apps](docs/django-apps.md)
* [Maintainer's Handbook](docs/maintainers.md) - HOWTO for various maintainer's
  tasks


