Damien Accorsi 91e1f68254
Merge pull request #56 from tracim/fix/better_session_api
hace 6 años
doc add documentations about settings and devtools hace 7 años
tracim better test for error case : check response_body structure hace 6 años
.coveragerc configure coverage hace 7 años
.gitignore some typing and pep8 hace 7 años
.travis.yml configure coverage hace 7 años
CHANGES.txt Update CHANGES.txt hace 7 años
MANIFEST.in Begin Pyramid Alchemy Project with cookiecutter hace 7 años
README.md Enable swagger_ui with documentation hace 6 años
development.ini.sample doc for alembic + same config file as pyramid hace 7 años
production.ini Begin Pyramid Alchemy Project with cookiecutter hace 7 años
pytest.ini fix pytest conf hace 7 años
setup.py WIP Webdav integration hace 7 años

README.md

Build Status Coverage Status Scrutinizer Code Quality

tracim_backend

This code is Work in progress. Not usable at all for production.

Backend source code of tracim v2, using Pyramid Framework.

Installation

Distribution dependencies

on Debian Stretch (9) :

sudo apt install git
sudo apt install python3 python-virtualenv python3-dev python-pip

Get the source

git clone https://github.com/tracim/tracim_backend.git

Setup Python Virtualenv

Go to tracim subdirectory:

cd tracim

Create a Python virtual environment:

python3 -m venv env

Activate it in your terminal session (all tracim command execution must be executed under this virtual environment):

source env/bin/activate

Upgrade packaging tools:

pip install --upgrade pip setuptools

Install the project in editable mode with its testing requirements :

pip install -e ".[testing]"

If you want to use postgresql, mysql or other databases than the default one: sqlite, you need to install python driver for those databases that are supported by sqlalchemy.

For postgreSQL and mySQL, those are shortcuts to install Tracim with test and specific driver.

For PostgreSQL:

pip install -e ".[testing,postgresql]"

For mySQL:

pip install -e ".[testing,mysql]"

Configure Tracim_backend

Create configuration file for a development environment:

cp development.ini.base development.ini

Initialize the database using tracimcli tool

tracimcli db init

Run Tracim_backend

Run your project:

pserve development.ini

Run Tests and others checks

Run your project's tests:

pytest

Run mypy checks:

mypy --ignore-missing-imports --disallow-untyped-defs tracim

Run pep8 checks:

pep8 tracim

Tracim API

Tracim_backend give access to a REST API in /api/v2. This API is auto-documented with Hapic. The specification is accessible when you run Tracim, go to /api/v2/doc .

For example, with default config:

# run tracim
pserve development.ini
# launch your favorite web-browser
firefox http://localhost:6543/api/v2/doc/

CI

  • Code quality: https://scrutinizer-ci.com/g/tracim/tracim_backend/
  • Test validation: https://travis-ci.org/tracim/tracim_backend
  • Code coverage: https://coveralls.io/github/tracim/tracim_backend