Uniform access to data sources and services
Go to file
Thomas NOËL 3729c4605d
gitea/passerelle/pipeline/head This commit looks good Details
filr_rest: precise folder title when search (#88491)
2024-03-22 12:29:06 +01:00
debian caldav: add event creation/update/deletion (#87227) 2024-03-05 14:30:06 +01:00
functests toulouse-maelis: [functests] update only doctor (#2770) 2023-09-15 17:59:57 +02:00
passerelle filr_rest: precise folder title when search (#88491) 2024-03-22 12:29:06 +01:00
tests filr_rest: precise folder title when search (#88491) 2024-03-22 12:29:06 +01:00
.coveragerc jenkins: show execution context in coverage reports (#60446) 2022-01-11 15:26:24 +01:00
.git-blame-ignore-revs misc: update git-blame-ignore-revs to ignore quote changes (#79788) 2023-08-16 10:08:30 +02:00
.gitignore qrcode: add frontend qrcode reader (#82652) 2023-11-13 16:57:06 +01:00
.pre-commit-config.yaml misc: add pre commit hook to force single quotes (#79788) 2023-08-16 10:08:27 +02:00
Jenkinsfile jenkinsfile: use parallel for pytest/vitest/pylint (#85071) 2023-12-22 14:30:02 +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 qrcode: fix warnings on the reader page (#83525) 2023-11-15 13:19:09 +01:00
config_example.py trivial: apply black (#49820) 2021-02-20 16:28:47 +01:00
jenkins.sh run pylint inside tox 2016-06-09 16:37:30 +02:00
manage.py misc: apply double-quote-string-fixer (#79788) 2023-08-16 10:08:30 +02:00
pylint.rc misc: fix new pylint 2.16 warnings (#74060) 2023-02-01 13:55:49 +01: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-vitest.sh js: pin happy-dom version (#87584) 2024-02-29 17:50:10 +01:00
setup.py caldav: pin bookworm's version of caldav lib & deps (#88393) 2024-03-20 18:18:36 +01:00
tox.ini js: fix timers mocking in QRCode tests (#87365) 2024-02-28 18:27:39 +01:00
vitest.config.js js: fix timers mocking in QRCode tests (#87365) 2024-02-28 18:27:39 +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 3.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

tweetnacl-js (https://github.com/dchest/tweetnacl-js)
 # Files: passerelle/apps/qrcode/static/qrcode/js/nacl.min.js
 # Copyright: https://github.com/dchest/tweetnacl-js/blob/master/AUTHORS.md
 # Licensed under the Unlicense license (public domain)

zxing-browser (https://github.com/zxing-js/browser/)
 # Files: passerelle/apps/qrcode/static/qrcode/js/zxing-browser.min.js
 # Copyright: (c) 2018 ZXing for JS
 # Licensed under the MIT license.

RemixIcon (https://github.com/Remix-Design/RemixIcon)
 # Files: passerelle/apps/qrcode/static/qrcode/img/favicon.ico
 # Copyright (c) 2020 RemixIcon.com
 # Licensed under the Apache License Version 2.0