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.1.tar.gz (15.0 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for invenio-devserver-0.1.tar.gz
Algorithm Hash digest
SHA256 d3c1ebe19a2c0b7747c75eb2e1c4c2ea6c2b0f6f6232573f3148e35cd92c3096
MD5 54caceb681eac60495ed0732cd011402
BLAKE2b-256 33541cc802fab7881c72479b477aca367bb5921ca7adf32c3efca4a2c96e7616

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