Metadata-Version: 2.1
Name: cada
Version: 1.0.1.dev167
Summary: Search and consult CADA advices
Home-page: https://github.com/etalab/cada.data.gouv.fr
Author: Axel Haustant
Author-email: axel@data.gouv.fr
License: AGPLv3+
Keywords: cada
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Environment :: Web Environment
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Software Distribution
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Flask ==1.0.2
Requires-Dist: Flask-Assets ==0.12
Requires-Dist: Flask-Mail ==0.9.1
Requires-Dist: Flask-WTF ==0.14.3
Requires-Dist: Werkzeug ==0.16.1
Requires-Dist: Jinja2 ==2.10
Requires-Dist: elasticsearch ==7.0.2
Requires-Dist: flask-mongoengine ==0.9.5
Requires-Dist: unicodecsv ==0.14.1
Requires-Dist: cssmin ==0.2.0
Requires-Dist: tqdm ==4.32.1
Requires-Dist: requests ==2.22.0
Requires-Dist: markupsafe ==2.0.1
Requires-Dist: itsdangerous ==2.0.1
Requires-Dist: WTForms ==2.3.3
Provides-Extra: report
Requires-Dist: flake8 ==3.5.0 ; extra == 'report'
Provides-Extra: sentry
Requires-Dist: raven[flask] ==6.9.0 ; extra == 'sentry'
Provides-Extra: test
Requires-Dist: pytest ==3.8.2 ; extra == 'test'
Requires-Dist: pytest-factoryboy ==2.0.1 ; extra == 'test'
Requires-Dist: pytest-flask ==0.13.0 ; extra == 'test'

# CADA


[![Join the chat at https://gitter.im/etalab/cada][gitter-badge]][gitter-url]


A simplistic interface to search and consult CADA advices.

This is the engine behind https://cada.data.gouv.fr.

## Compatibility

CADA has been tested on Python 3.7, MongoDB 4.1 and ElasticSearch 7.2.

The [ElasticSearch ICU Analysis plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/analysis-icu.html) is required.

You can install it with:

```console
elasticsearch-plugin install analysis-icu
```

## Installation

You can install Cada with pip:

```bash
$ pip install cada
```

You need to create the cada working directory, denoted by ``$HOME`` in this documentation:

```bash
$ mkdir -p $HOME && cd $HOME
$ vim cada.cfg  # See configuration
$ wget https://cada.data.gouv.fr/export -O data.csv
$ cada load data.csv  # Load initial data
$ cada static  # Optional: collect static assets for proper caching
$ cada runserver
```

### local development environment

Please make sure you are in a clean [virtualenv](https://virtualenv.pypa.io/en/stable/).

```bash
$ git clone https://github.com/etalab/cada
$ cd cada
$ docker-compose up -d
$ pip install -e .
$ wget https://cada.data.gouv.fr/export -O data.csv
$ cada load data.csv
$ cada reindex
$ cada runserver
```


## Configuration
All configuration is done through the ``cada.cfg`` file in ``$HOME``.
It's basically a Python file with constants defined in it:

* ``SERVER_NAME``: the public server name. Mainly used in emails.
* ``SECRET_KEY``: the common crypto hash. e.g. sessions. `openssl rand -hex 24` should be a good start.
* ``ELASTICSEARCH_URL``: the ElasticSearch server URL in ``host:port`` format. Default to ``localhost:9200`` if not set
* ``MONGODB_SETTINGS``: a dictionary to configure MongoDB. Default to ``{'DB': 'cada'}``. See [the official flask-mongoengine documentation](https://flask-mongoengine.readthedocs.org/en/latest/) for more details.

### Mails

Mail server configuration is done through the following variables:

* ``MAIL_SERVER``: SMTP server hostname. Default to ``localhost``.
* ``MAIL_PORT``: SMTP server port. Default to ``25``.
* ``MAIL_USE_TLS``: activate TLS. Default to ``False``.
* ``MAIL_USE_SSL``: activate SSL. Default to ``False``.
* ``MAIL_USERNAME``: optional SMTP server username.
* ``MAIL_PASSWORD``: optional SMTP server password.
* ``MAIL_DEFAULT_SENDER``: Sender email used for mailings. Default to ``cada@localhost``.
* ``ANON_ALERT_MAIL``: destination mail for anonymisation alerts. Default to ``cada.alert@localhost``.

See the [official Flask-Mail documentation](http://pythonhosted.org/flask-mail/#configuring-flask-mail) for more details.

### Sentry

There is an optional support for Sentry.
You need to install the required dependencies:

```bash
$ pip install raven[flask]
# Or to install it with cada
$ pip install cada[sentry]
```

You need to add your Sentry DSN to the configuration

```python
SENTRY_DSN = 'https://xxxxx:xxxxxx@sentry.mydomain.com/id'
```


### Piwik

There is an optional Piwik support.
You simply need to add your Piwik server URL and your Piwik project ID to the configuration:

```python
PIWIK_URL = 'piwik.mydomain.com'
PIWIK_ID = X
```

[circleci-url]: https://circleci.com/gh/etalab/cada
[circleci-badge]: https://circleci.com/gh/etalab/cada.svg?style=shield
[gitter-badge]: https://badges.gitter.im/Join%20Chat.svg
[gitter-url]: https://gitter.im/etalab/cada

## Current (in progress)

- Nothing yet

## 1.0.0 (2019-07-19)

- Add a `burnthemall` command [#25](https://github.com/etalab/cada.data.gouv.fr/pull/25)
- Use `tqdm` for major commands with loops [#25](https://github.com/etalab/cada.data.gouv.fr/pull/25)
- Python 3 [#28](https://github.com/etalab/cada.data.gouv.fr/pull/28)
- Elastic Search 7.2 [#29](https://github.com/etalab/cada.data.gouv.fr/pull/29)
- Mongo 4.1 [#29](https://github.com/etalab/cada.data.gouv.fr/pull/29)
- Improved pseudonymization [#32](https://github.com/etalab/cada.data.gouv.fr/pull/32)
- Display sample of api calls [#33](https://github.com/etalab/cada.data.gouv.fr/pull/33)
- Fix text query [#33](https://github.com/etalab/cada.data.gouv.fr/pull/33)


## 0.2.1 (2019-07-15)

- Fix advice part roman numerals handling [#13](https://github.com/etalab/cada/pull/13)
- Colorize advices labels [#14](https://github.com/etalab/cada/pull/14)
- Fixes about page [#11](https://github.com/etalab/cada/pull/11)
- Fix the cli encoding handling as well as some formatting issues [#18](https://github.com/etalab/cada/pull/18)
- Footer fixes (svg logo, alignments, https links) [#20](https://github.com/etalab/cada/pull/20)
- Upgrade jQuery, Bootstrap and Flatly assets and fixes responsive layout [#21](https://github.com/etalab/cada/pull/21)
- Fix unicode issue [#26](https://github.com/etalab/cada.data.gouv.fr/pull/26)

## 0.2.0 (2018-10-05)

- Upgrade stack to latest dependencies (Flask 1.0 with `flask.cli`, pytest...) [#6](https://github.com/etalab/cada/pull/6)
- Test and fix alert mails [#7](https://github.com/etalab/cada/pull/7)
- Added "about" page [#9](https://github.com/etalab/cada/pull/9)
- Handle type IV advices [#10](https://github.com/etalab/cada/pull/10)

## 0.1.0 (2014-04-14)

- Initial release

