passerelle/README

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

129 lines
3.4 KiB
Plaintext
Raw Permalink Normal View History

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.
2021-02-20 16:26:50 +01:00
Code Style
----------
black is used to format the code, using thoses parameters:
black --target-version py37 --skip-string-normalization --line-length 110
2021-04-12 09:23:11 +02:00
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
2022-09-29 17:26:53 +02:00
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
2021-02-20 16:26:50 +01:00
before commits. (execute `pre-commit install` to install the git hook.)
2021-04-12 09:23:11 +02:00
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
2021-02-20 16:26:50 +01:00
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.
2020-06-13 00:34:09 +02:00
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