Skip to main content

An HTTP server for Invenio with automatic code reloading

Project description

About
-----
``invenio-devserver'' is an HTTP server for Invenio with automatic code reloading,
useful when developing for [[http://invenio-software.org/][Invenio]]. It also
includes a mail debug server which prints all incoming emails to the console.

Invenio is a free software suite enabling you to run your own digital library
or document repository on the web. See more on http://invenio-software.org/.

Installation
------------
You can install invenio-devserver with ``pip install invenio-devserver``, or you
can use ``easy_install``.

Requirements
------------
* `Invenio <http://invenio-software.org/wiki/Installation>`_
* ``Werkzeug''
* ``mock'' (optional): to intercept errors and display them on stdout

Both ``Werkzeug'' and ``mock'' will be automatically installed when using PIP.

Configuration
-------------
You need to tell ``invenio-devserver'' where your Invenio source code and
installation lives. Add config_local.py to your site-packages directory with
the following::

SRC_PATH = [
"~/src/invenio",
"~/src/inspire", # (only needed if you have several project)
]
INSTALL_PATH = "/opt/invenio"

If you don't specify ``SRC_PATH'' or ``INSTALL_PATH'' they will be guessed:

* If you are in an activated virtualenv the ``INSTALL_PATH'' is set to
``VIRTUAL_ENV'' environment variable.
* ``SRC_PATH'' defaults to ``~/src/invenio/''.
* If you are using ``invenio-devscripts'', ``SRC_PATH'' and ``INSTALL_PATH''
will be set to the environment variables ``CFG_INVENIO_SRC'' and
``CFG_INVENIO_PREFIX' respectively.

Please see ``src/invenio_devserver/config.py'' for further possible settings.

Usage ``serve''
---------------
If the Invenio installation is in a virtualenv, activate it and run::

$ serve
HTTP Server mode with reload mode
* Running on http://localhost:4000/
* Spawning worker
* Ready

If the Invenio installation is under your user run::

$ python serve.py

If the Invenio installation is under another user (e.g wwww), you can use

$ sudo -u www python serve.py

The following options for ``serve'' are available::

$ serve --help
Usage: python serve.py [-bp]

Invenio web server for development

Options:
-h, --help show this help message and exit
-b BIND_ADDRESS Address to bind to
-p BIND_PORT Port to bind to
--no-reload Disable automatic reloading when a source file is changed
--no-http Disable http server, only update invenio install
--buffer-output Buffer output to display to display debug pages
--pdb Drop to python debugger on errors
-s SRC_PATH Source folder (one or more)
-o INSTALL_PATH Path to Invenio installation.


Usage ``mailserve''
-------------------
If the Invenio installation is in a virtualenv, activate it and run::

$ mailserve
Remember to set the two following settings in invenio-local.conf:

CFG_MISCUTIL_SMTP_HOST=127.0.0.1
CFG_MISCUTIL_SMTP_PORT=1025

Now accepting mail at 127.0.0.1:1025 (hit CONTROL-C to stop)


The following options for ``mailserve'' are available::
Usage: mailserve [-bp]

Invenio mail server for development

Options:
-h, --help show this help message and exit
-b BIND_ADDRESS Address to bind to
-p BIND_PORT Port to bind to

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invenio-devserver-0.2.tar.gz (13.9 kB view details)

Uploaded Source

File details

Details for the file invenio-devserver-0.2.tar.gz.

File metadata

File hashes

Hashes for invenio-devserver-0.2.tar.gz
Algorithm Hash digest
SHA256 9d2be4de23b76fbd084fdfaeeac42bb9cffa5e59d6600008a0cff401a4024f69
MD5 6ab5b0aaffaab16a695d630582024e79
BLAKE2b-256 bda8ce8ecdf17dfd93d6e1bc2f5b3988bcac12ba8771dd5666af5f86cbbe9a3b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page