Uniform access to data sources and services
Go to file
Emmanuel Cazenave 9bf91ae7a5
gitea-wip/passerelle/pipeline/pr-main This commit looks good Details
gitea/passerelle/pipeline/pr-main Something is wrong with the build of this commit Details
gitea/passerelle/pipeline/head There was a failure building this commit Details
cmis: add a file watch mechanism (#73466)
2023-01-24 11:09:33 +01:00
debian misc: load publik-django-templatetags (#72777) 2022-12-25 14:50:10 +01:00
functests toulouse-maelis: change RL1 address in functests (#73156) 2023-01-13 13:17:45 +01:00
passerelle cmis: add a file watch mechanism (#73466) 2023-01-24 11:09:33 +01:00
tests cmis: add a file watch mechanism (#73466) 2023-01-24 11:09:33 +01:00
.coveragerc jenkins: show execution context in coverage reports (#60446) 2022-01-11 15:26:24 +01:00
.git-blame-ignore-revs misc: add djhtml files/notes (#69422) 2022-09-29 18:04:29 +02:00
.gitignore misc: switch style file to scss (#63229) 2022-03-28 17:17:24 +02:00
.pre-commit-config.yaml ci: update pyupgrade to 3.1.0 (#70693) 2022-10-28 08:09:38 +02:00
Jenkinsfile ci: only build package for bullseye (#72729) 2022-12-22 17:26:22 +01:00
LICENSE this will be AGPL 2013-02-11 11:04:19 +01:00
MANIFEST.in MANIFEST.in: add toulouse-wcs wcs template (#53860) 2021-05-10 13:23:02 +02:00
README misc: add django-upgrade files/notes (#69798) 2022-10-03 14:15:43 +02:00
config_example.py trivial: apply black (#49820) 2021-02-20 16:28:47 +01:00
get_wcs.sh tox: get additional modules using https (via #46904#note-2) 2020-09-24 20:06:25 +02:00
jenkins.sh run pylint inside tox 2016-06-09 16:37:30 +02:00
manage.py settings: changed to single file, with a execfile() tacked at the end (#6465) 2015-02-10 13:06:55 +01:00
pylint.rc pylint.rc: disable unsupported-binary-operation which reports false positives (#68469) 2022-08-29 16:23:41 +02:00
pylint.sh ci: speed up CI using multiple processes with pylint and pytest (#67080) 2022-07-18 08:24:04 +02:00
requirements.txt trivial: remove leftover SOAPpy references (#43756) 2020-06-09 08:45:13 +02:00
setup.py misc: apply pyupgrade (#61865) 2022-09-29 16:22:29 +02:00
tox.ini misc: load publik-django-templatetags (#72777) 2022-12-25 14:50:10 +01:00

README

Passerelle provides an uniform access to multiple data sources and services.

Quickstart
==========

Setting up an environment (virtualenv)
--------------------------------------

The first thing you'll need is the Python virtualenv package. You probably
already have this, but if not, you can install it with:

    $ easy_install -UZ virtualenv

Once that's done, choose a location for the environment, and create it with the
virtualenv command. For our guide, we're going to choose "venv" in the current
directory:

    $ virtualenv venv
    $ source venv/bin/activate

From Passerelle source directory install required Python packages:

    $ pip install -e .

Initializing the database (quickstart: sqlite3)
-----------------------------------------------

To create the database, execute the following line:

    $ python manage.py migrate

The new database is created inside `passerelle.sqlite3` in the current
directory.

Create a first user with administrative rights:

    $ python manage.py createsuperuser


Running
-------

The command line for starting is:

    $ python manage.py runserver

Passerelle is available on http://127.0.0.1:8000/


Settings
--------

Default settings are loaded from settings.py, they can be overloaded by a
local_settings.py file set in the same directory, or by a file referenced
in the PASSERELLE_SETTINGS_FILE environment variable.


Code Style
----------

black is used to format the code, using thoses parameters:

    black --target-version py37 --skip-string-normalization --line-length 110

isort is used to format the imports, using those parameters:

    isort --profile black --line-length 110

pyupgrade is used to automatically upgrade syntax, using those parameters:

    pyupgrade --keep-percent-format --py37-plus

djhtml is used to automatically indent html files, using those parameters:

    djhtml --tabwidth 2

django-upgrade is used to automatically upgrade Django syntax, using those parameters:

    django-upgrade --target-version 2.2

There is .pre-commit-config.yaml to use pre-commit to automatically run these tools
before commits. (execute `pre-commit install` to install the git hook.)

The .git-blame-ignore-revs file could be used to hide the related
changes into the sources:

    git blame --ignore-revs-file .git-blame-ignore-revs


Tests
-----

Unit tests are written using py.test, and its pytest-django support library and
run using tox.

  tox

To run a specific test under a specific environment.

  tox -e py3-django111 -- -vv tests/test_csv_datasource.py

LICENSES
========

Passerelle
Copyright (C) 2013-2014 Entr'ouvert <info@entrouvert.com>

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
details.

You should have received a copy of the GNU Affero General Public License along
with this program (LICENSE file). If not, see <http://www.gnu.org/licenses/>.


Copyright
---------

django-jsonresponse (https://github.com/jjay/django-jsonresponse)
 # Files: passerelle/utils/jsonresponse.py
 # Copyright (c) 2012 Yasha Borevich <j.borevich@gmail.com>
 # Licensed under the BSD license