Name Last Update
certs Loading commit data...
config Loading commit data...
static Loading commit data...
templates Loading commit data...
BUGS.md Loading commit data...
README.md Loading commit data...
app.py Loading commit data...
initdb.py Loading commit data...
knowledge.py Loading commit data...
models.py Loading commit data...
questions.py Loading commit data...
serve.py Loading commit data...
tools.py Loading commit data...

README.md

Get Started

Requirements

We will need to install python3.6 with sqlite3 support. This can be done using the system package management, downloaded from http://www.python.org, or compiled from sources.

  • Installing from the system package management:
    • OSX: port install python36
    • FreeBSD: pkg install python36 py36-sqlite3
    • Linux: apt-get install ???
  • Installing from sources:
    • Download from http://www.python.org
    • unxz Python-3.6.tar.xz
    • tar xvf Python-3.6.tar
    • cd Python-3.6
    • ./configure --prefix=$HOME/.local/bin
    • make && make install

Next install pip (if not yet installed):

python36 -m ensurepip --user

This will install pip in your account under ~/.local/bin. In the end you should be able to run pip3 --version and python3 -c "import sqlite3" without errors (sometimes pip3 is pip, pip3.6 or pip-3.6).

Install additional python packages locally on the user area:

pip install --user tornado sqlalchemy pyyaml pygments markdown bcrypt

These are usually installed under

  • OSX: ~/Library/python/3.6/lib/python/site-packages/
  • Linux/FreeBSD: ~/.local/lib/python3.6/site-packages/

Note: If you want to always install python modules on the user account, edit the pip configuration file ~/.config/pip/pip.conf (FreeBSD, Linux) or Library/Application Support/pip/pip.conf (OSX) and add the lines

[global]
user = yes

Installation

Replace USER by your bitbucket username:

cd path/to/some/directory
git clone https://USER@bitbucket.org/USER/aprendizations.git

A directory aprendizations will be created with the software:

cd aprendizations

Configuration

First we need to create a database:

./initdb.py                 # initialize with a single user `0`  and empty password
./initdb.py --help          # for the available options

We also need certificates for https. Generate selfsigned certificates using openssl:

cd certs
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
cd ..

Run a demonstration:

./serve.py