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

Uploaded Source

File details

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

File metadata

File hashes

Hashes for invenio-devserver-0.4.tar.gz
Algorithm Hash digest
SHA256 acb49ac87f8a1aac26e2ace507309f27e847e0ee6a4b00ddfb70f91954f0136a
MD5 76a58d070f0fb888224623fda033e3f5
BLAKE2b-256 b4689e8afcfd4963e25f94745420d0b6bbb22f38b31e92fbb7a4d8097af2622f

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