129 lines
3.4 KiB
Plaintext
129 lines
3.4 KiB
Plaintext
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
|