Skip to content

Latest commit

 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PreTeXt Init

PreTeXt Init description

Quick Start

Create the vitual environment:

make venv

Install prerequisites into virtual environment:

venv/bin/pip install -r requirements.txt

Run the application:

make run

And open it in the browser at http://127.0.0.1:5000/

Prerequisites

This is built to be used with Python 3. Update Makefile to switch to Python 2 if needed.

Some Flask dependencies are compiled during installation, so gcc and Python header files need to be present. For example, on Ubuntu:

apt install build-essential python3-dev

Other packages are in requirements.txt:

Development environment and release process

  • create virtualenv with Flask and PreTeXt Init installed into it (latter is installed in develop mode which allows modifying source code directly without a need to re-install the app): make venv

  • run development server in debug mode: make run; Flask will restart if source code is modified

  • run tests: make test (see also: Testing Flask Applications)

  • create source distribution: make sdist (will run tests first)

  • to remove virtualenv and built distributions: make clean

  • to add more python dependencies: add to install_requires in setup.py

  • to modify configuration in development environment: edit file settings.cfg; this is a local configuration file and it is ignored by Git - make sure to put a proper configuration file to a production environment when deploying

Deployment

If you are interested in an out-of-the-box deployment automation, check out accompanying cookiecutter-flask-ansible.

Or, check out Deploying with Fabric on one of the possible ways to automate the deployment.

In either case, generally the idea is to build a package (make sdist), deliver it to a server (scp ...), install it (pip install pretext_init.tar.gz), ensure that configuration file exists and PRETEXT_INIT_SETTINGS environment variable points to it, ensure that user has access to the working directory to create and write log files in it, and finally run a WSGI container with the application. And, most likely, it will also run behind a reverse proxy.

Todos

  • Merge with Oscar's project

  • Dynamically update authors

About

Web interface for Initializing a PreTeXt project

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages