passerelle/README

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