Uniform access to data sources and services
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Benjamin Dauvergne 62ed945d62
gitea/passerelle/pipeline/head This commit looks good Details
soap: do not check wsdl url if certificates are changed (#77923)
The request wrapper needs a filepath to the certificates and Django
cannot provide one during the clean method.
1 day ago
debian sne: start connector (#77933) 3 days ago
functests toulouse-maelis: [functests] adapt tests to last build (#77362) 3 weeks ago
passerelle soap: do not check wsdl url if certificates are changed (#77923) 1 day ago
tests soap: do not check wsdl url if certificates are changed (#77923) 1 day ago
.coveragerc jenkins: show execution context in coverage reports (#60446) 1 year ago
.git-blame-ignore-revs misc: add djhtml files/notes (#69422) 8 months ago
.gitignore misc: switch style file to scss (#63229) 1 year ago
.pre-commit-config.yaml ci: upgrade pre-commit-debian (#77727) 1 week ago
Jenkinsfile tests: use a random number in database name and tox environment path (#74787) 3 months ago
LICENSE this will be AGPL 10 years ago
MANIFEST.in MANIFEST.in: add toulouse-wcs wcs template (#53860) 2 years ago
README misc: change django-upgrade target version to 3.2 (#75442) 2 months ago
config_example.py trivial: apply black (#49820) 2 years ago
get_wcs.sh ci: update wcs git URI for gitea (#76647) 2 months ago
jenkins.sh run pylint inside tox 7 years ago
manage.py settings: changed to single file, with a execfile() tacked at the end (#6465) 8 years ago
pylint.rc misc: fix new pylint 2.16 warnings (#74060) 4 months ago
pylint.sh ci: speed up CI using multiple processes with pylint and pytest (#67080) 11 months ago
requirements.txt trivial: remove leftover SOAPpy references (#43756) 3 years ago
setup.py sne: start connector (#77933) 3 days ago
tox.ini tox: add emoji (new wcs dependency) (#76642) 2 months ago

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