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 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 . Copyright --------- django-jsonresponse (https://github.com/jjay/django-jsonresponse) # Files: passerelle/utils/jsonresponse.py # Copyright (c) 2012 Yasha Borevich # Licensed under the BSD license