diff --git a/.travis.yml b/.travis.yml
index b6e463362..47a8df661 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,92 +1,92 @@
# -*- coding: utf-8 -*-
##
## This file is part of Invenio.
## Copyright (C) 2013, 2014 CERN.
##
## Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
notifications:
email: false
services:
- mysql
- redis
- mongodb
language: python
env:
- REQUIREMENTS=lowest
- REQUIREMENTS=release
- REQUIREMENTS=devel
python:
# FIXME: the build times out on Python 2.6 (inveniosoftware/invenio#1789)
# - "2.6"
- "2.7"
before_install:
- "sudo add-apt-repository -y ppa:chris-lea/node.js"
- "sudo apt-get update"
- "python requirements.py > .travis-lowest-requirements.txt"
- "touch .travis-release-requirements.txt"
install:
- "sudo apt-get -qy install apache2 libapache2-mod-wsgi ssl-cert poppler-utils git subversion nodejs --fix-missing"
- "sudo a2enmod actions"
- "sudo a2enmod version || echo ':('"
- "sudo a2enmod rewrite"
- "sudo mkdir /etc/apache2/ssl"
- "sudo /usr/sbin/make-ssl-cert generate-default-snakeoil /etc/apache2/ssl/apache.pem"
- "travis_retry pip install -r requirements.txt --quiet"
- "travis_retry pip install -r .travis-$REQUIREMENTS-requirements.txt --allow-all-external --quiet"
- "travis_retry pip install -e .[docs] --quiet --process-dependency-links"
- "python setup.py compile_catalog"
- "inveniomanage config create secret-key"
- "inveniomanage config set CFG_EMAIL_BACKEND flask.ext.email.backends.console.Mail"
- "inveniomanage config set CFG_BIBSCHED_PROCESS_USER `whoami`"
- "inveniomanage config set PACKAGES_EXCLUDE []" # test all packages
- "inveniomanage config set CFG_TMPDIR /tmp"
- "sudo su -c \"npm update\""
- "sudo su -c \"npm install --silent -g bower less clean-css uglify-js requirejs\""
# All the step below this points are solely for test purposes, don't use them
# to setup your invenio installation. Please do RTFM instead (INSTALL.rst).
- "inveniomanage bower -i bower-base.json > bower.json"
- "bower install --silent"
- - "inveniomanage config set COLLECT_STORAGE invenio.ext.collect.storage.link"
+ - "inveniomanage config set COLLECT_STORAGE flask.ext.collect.storage.link"
- "inveniomanage collect > /dev/null"
- "inveniomanage assets build"
- "inveniomanage config set CLEANCSS_BIN false" # deactivate all the things
- "inveniomanage config set LESS_BIN false" # false is /usr/bin/false
- "inveniomanage config set REQUIREJS_BIN false"
- "inveniomanage config set UGLIFYJS_BIN false"
- "inveniomanage config set ASSETS_AUTO_BUILD False"
before_script:
- "inveniomanage apache create-config"
- "sudo ln -s $VIRTUAL_ENV/var/invenio.base-instance/apache/invenio-apache-vhost.conf /etc/apache2/sites-enabled/invenio.conf"
- "sudo ln -s $VIRTUAL_ENV/var/invenio.base-instance/apache/invenio-apache-vhost-ssl.conf /etc/apache2/sites-enabled/invenio-ssl.conf"
- "sudo /usr/sbin/a2dissite *default* || echo ':('"
- "sudo /usr/sbin/a2enmod ssl" # enable SSL module
- "sudo /usr/sbin/a2enmod xsendfile || echo ':('"
- "sudo apachectl configtest && sudo service apache2 restart || echo 'Apache failed ...'"
- "inveniomanage database init --yes-i-know || echo ':('"
- "inveniomanage database create --quiet || echo ':('"
# - "inveniomanage demosite populate"
script:
- "sphinx-build -qnNW docs docs/_build/html"
- "python setup.py test"
# - "wget -O /dev/null http://localhost"
diff --git a/INSTALL.rst b/INSTALL.rst
index aabe7be55..1ecef1452 100644
--- a/INSTALL.rst
+++ b/INSTALL.rst
@@ -1,410 +1,410 @@
Invenio installation
====================
1. About
--------
This document specifies how to quickly install Invenio v2.0.0 for the first
time. See RELEASE-NOTES if you are upgrading from a previous Invenio release.
2. Prerequisites
----------------
Here is the software you need to have around before you start installing
Invenio for development.
Unix-like operating system. The main development and production platforms for
Invenio at CERN are GNU/Linux distributions Debian, Gentoo, Scientific Linux
(RHEL-based), Ubuntu, but we also develop on Mac OS X. Basically any Unix
system supporting the software listed below should do.
2.1. Debian / Ubuntu LTS
~~~~~~~~~~~~~~~~~~~~~~~~
If you are using Ubuntu 13.10 or later, then you can install Invenio by
following this tutorial. **Note:** the recommended Python version is 2.7.5+
.. code-block:: console
$ python --version
Python 2.7.5+
$ sudo apt-get update
$ sudo apt-get install build-essential git redis-server \
libmysqlclient-dev libxml2-dev libxslt-dev \
libjpeg-dev libfreetype6-dev libtiff-dev \
software-properties-common python-dev \
virtualenvwrapper subversion
$ sudo pip install -U virtualenvwrapper pip
$ source .bashrc
2.1.1. MySQL
++++++++++++
MySQL Server will ask you for a password, you will need it later and we will
refer to it as ``$MYSQL_ROOT``.
.. code-block:: console
$ sudo apt-get install mysql-server
2.1.2. Node.js
++++++++++++++
`node.js `_ and `npm `_ from Ubuntu
are troublesome so we recommend you to install them from Chris Lea's PPA.
.. code-block:: console
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs
2.2. Centos / RHEL
~~~~~~~~~~~~~~~~~~
If you are using Redhat, Centos or Scientific Linux this will setup everything
you need. We are assuming that sudo has been installed and configured nicely.
.. code-block:: console
$ python --version
2.6.6
$ sudo yum update
$ sudo rpm -Uvh http://mirror.switch.ch/ftp/mirror/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo yum -q -y groupinstall "Development Tools"
$ sudo yum install git wget redis python-devel \
mysql-devel libxml2-devel libxslt-devel \
python-pip python-virtualenvwrapper
$ sudo service redis start
$ sudo pip install -U virtualenvwrapper pip
$ source /usr/bin/virtualenvwrapper.sh
2.2.1. MySQL
++++++++++++
Setting up MySQL Server requires you to give some credentials for the root
user. You will need the root password later on and we will refer to it as
``$MYSQL_ROOT``.
.. code-block:: console
$ sudo yum install mysql-server
$ sudo service mysqld status
mysqld is stopped
$ sudo service mysqld start
$ sudo mysql_secure_installation
# follow the instructions
2.2.2. Node.js
++++++++++++++
Node.js requires a bit more manual work to install it from the sources. We are
following the tutorial: `digital ocean: tutorial on how to install node.js on
centor
`_
.. code-block:: console
$ mkdir opt
$ cd opt
$ wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
$ tar xvf node-v0.10.29.tar.gz
$ cd node-v0.10.29
$ ./configure
$ make
$ sudo make install
$ node --version
v0.10.29
$ npm --version
1.4.14
2.3. Extra tools
~~~~~~~~~~~~~~~~
2.3.1. Bower
++++++++++++
Bower is used to manage the static assets such as JavaScript libraries (e.g.,
jQuery) and CSS stylesheets (e.g., Bootstrap). It's much easier to install them
globally (``-g``) but you're free to choose your preferred way.
.. code-block:: console
# global installation
$ sudo su -c "npm install -g bower"
# user installation
$ npm install bower
2.3.2 ``git-new-workdir`` (optional)
++++++++++++++++++++++++++++++++++++
For the rest of the tutorial you may want to use ``git-new-workdir``. It's a
tool that will let you working on the same repository from different locations.
Just like you would do with subversion branches.
.. code-block:: console
$ mkdir -p $HOME/bin
$ which git-new-workdir || { \
wget https://raw.github.com/git/git/master/contrib/workdir/git-new-workdir \
-O $HOME/bin/git-new-workdir; chmod +x $HOME/bin/git-new-workdir; }
**NOTE:** Check that ``~/bin`` is in your ``$PATH``.
.. code-block:: console
$ export PATH+=:$HOME/bin
3. Quick instructions for the impatient Invenio developer
---------------------------------------------------------
This installation process is tailored for running the development version of
Invenio, check out the :py:ref:`overlay` documentation for the production
setup.
3.1. Installation
~~~~~~~~~~~~~~~~~
The first step of the installation is to download the development version of
Invenio and the Invenio Demosite. This development is done in the ``pu``
branch.
.. code-block:: console
$ mkdir -p $HOME/src
$ cd $HOME/src/
$ export BRANCH=pu
$ git clone --branch $BRANCH git://github.com/inveniosoftware/invenio.git
$ git clone --branch $BRANCH git://github.com/inveniosoftware/invenio-demosite.git
We recommend to work using
`virtual environments `_ so packages are installed
locally and it will make your live easier. ``(invenio)$`` tells your that the
*invenio* environment is the active one.
.. code-block:: console
$ mkvirtualenv invenio
(invenio)$ # we are in the invenio environment now and
(invenio)$ # can leave it using the deactivate command.
(invenio)$ deactivate
$ # Now join it back, recreating it would fail.
$ workon invenio
(invenio)$ # That's all there is to know about it.
Let's put Invenio and the Invenio Demosite in the environment just created.
.. code-block:: console
(invenio)$ cdvirtualenv
(invenio)$ mkdir src
(invenio)$ cd src
(invenio)$ git-new-workdir $HOME/src/invenio/ invenio $BRANCH
(invenio)$ git-new-workdir $HOME/src/invenio-demosite/ invenio-demosite $BRANCH
If you don't want to use the ``git-new-workdir`` way, you can either:
- create a symbolic link,
- or clone the repository directly into the virtualenv.
Installing Invenio.
.. code-block:: console
(invenio)$ cdvirtualenv src/invenio
(invenio)$ pip install --process-dependency-links -e .[development]
Some modules may require specific dependencies listed as ``extras``. Pick the
ones you need. E.g. to add `images` support, we can do as follow:
.. code-block:: console
(invenio)$ pip install -e .[img]
If the Invenio is installed in development mode, you will need to compile the
translations manually.
.. code-block:: console
(invenio)$ python setup.py compile_catalog
.. note:: Translation catalog is compiled automatically if you install
using `python setup.py install`.
Installing Invenio Demosite. ``exists-action i`` stands for `ignore`, it means
that it'll will skip any previous installation found. Because the Invenio
Demosite depends on Invenio, it would have tried to reinstall it without this
option. If you omit it, ``pip`` will ask you what action you want to take.
.. code-block:: console
(invenio)$ cdvirtualenv src/invenio-demosite
(invenio)$ pip install -r requirements.txt --exists-action i
Installing the required assets (JavaScript, CSS, etc.) via bower. The file
``.bowerrc`` is configuring where bower will download the files and
``bower.json`` what libraries to download.
.. code-block:: console
(invenio)$ inveniomanage bower -i bower-base.json > bower.json
Generates or update bower.json for you.
(invenio)$ cat .bowerrc
{
"directory": "invenio_demosite/base/static/vendors"
}
(invenio)$ bower install
(invenio)$ ls invenio_demosite/base/static/vendors
bootstrap
ckeditor
hogan
jquery
jquery-tokeninput
jquery-ui
plupload
...
We recommend you to only alter ``bower-base.json`` and regenerate
``bower.json`` with it as needed. The
:py:class:`invenio.ext.assets.commands.BowerCommand` is aggregating all the
dependencies defined by each bundle.
The last step, which is very important will be to collect all the assets, but
it will be done after the configuration step.
3.2. Configuration
~~~~~~~~~~~~~~~~~~
Generate the secret key for your installation.
.. code-block:: console
(invenio)$ inveniomanage config create secret-key
If you are planning to develop locally in multiple environments please run
the following commands.
.. code-block:: console
(invenio)$ inveniomanage config set CFG_EMAIL_BACKEND flask.ext.email.backends.console.Mail
(invenio)$ inveniomanage config set CFG_BIBSCHED_PROCESS_USER $USER
(invenio)$ inveniomanage config set CFG_DATABASE_NAME $BRANCH
(invenio)$ inveniomanage config set CFG_DATABASE_USER $BRANCH
(invenio)$ inveniomanage config set CFG_SITE_URL http://0.0.0.0:4000
(invenio)$ inveniomanage config set CFG_SITE_SECURE_URL http://0.0.0.0:4000
Assets in non-development mode may be combined and minified using various
filters (see :ref:`ext_assets`). We need to set the path to the binaries if
they are not in the environment ``$PATH`` already.
.. code-block:: console
# Global installation
$ sudo su -c "npm install -g less clean-css requirejs uglify-js"
# or
# Local installation
(invenio)$ npm install less clean-css requirejs uglify-js
(invenio)$ inveniomanage config set LESS_BIN `find $PWD/node_modules -iname lessc | head -1`
(invenio)$ inveniomanage config set CLEANCSS_BIN `find $PWD/node_modules -iname cleancss | head -1`
(invenio)$ inveniomanage config set REQUIREJS_BIN `find $PWD/node_modules -iname r.js | head -1`
(invenio)$ inveniomanage config set UGLIFYJS_BIN `find $PWD/node_modules -iname uglifyjs | head -1`
All the assets that are spread among every invenio module or external libraries
will be collected into the instance directory. By default, it create copies of
the original files. As a developer you may want to have symbolic links instead.
.. code-block:: console
# Developer only
- (invenio)$ inveniomanage config set COLLECT_STORAGE invenio.ext.collect.storage.link
+ (invenio)$ inveniomanage config set COLLECT_STORAGE flask.ext.collect.storage.link
(invenio)$ inveniomanage collect
...
Done collecting.
(invenio)$ cdvirtualenv var/invenio.base-instance/static
(invenio)$ ls -l
css
js
vendors
...
3.3. Development
~~~~~~~~~~~~~~~~
Once you have everything installed, you can create the database and populate it
with demo records.
.. code-block:: console
(invenio)$ inveniomanage database init --user=root --password=$MYSQL_ROOT --yes-i-know
(invenio)$ inveniomanage database create
Now you should be able to run the development server. Invenio uses
`Celery `_ and `Redis `_
which must be running alongside with the web server.
.. code-block:: console
# make sure that redis is running
$ sudo service redis-server status
redis-server is running
# or start it with start
$ sudo service redis-start start
# launch celery
$ workon invenio
(invenio)$ celeryd -E -A invenio.celery.celery --workdir=$VIRTUAL_ENV
# in a new terminal
$ workon invenio
(invenio)$ inveniomanage runserver
* Running on http://0.0.0.0:4000/
* Restarting with reloader
**Troubleshooting:** As a developer, you may want to use the provided
``Procfile`` with `honcho `_. It
starts all the services at once with nice colors. By default, it also runs
`flower `_ which offers a web interface
to monitor the *Celery* tasks.
.. code-block:: console
(invenio)$ pip install honcho flower
(invenio)$ cdvirtualenv src/invenio
(invenio)$ honcho start
When all the servers are running, it is possible to upload the demo records.
.. code-block:: console
$ # in a new terminal
$ workon invenio
(invenio)$ inveniomanage demosite populate --packages=invenio_demosite.base
And you may now open your favourite web browser on
`http://0.0.0.0:4000/ `_
Optionally, if you are using Bash shell completion, then you may want to
register python argcomplete for inveniomanage.
.. code-block:: bash
eval "$(register-python-argcomplete inveniomanage)"
4. Final words
--------------
Good luck, and thanks for choosing Invenio.
- Invenio Development Team
diff --git a/invenio/ext/collect/storage/__init__.py b/invenio/ext/collect/storage/__init__.py
index 4963583b4..c6deb6d9c 100644
--- a/invenio/ext/collect/storage/__init__.py
+++ b/invenio/ext/collect/storage/__init__.py
@@ -1,20 +1,26 @@
# -*- coding: utf8 -*-
##
## This file is part of Invenio.
## Copyright (C) 2014 CERN.
##
## Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
"""Custom *Flask-Collect* storages."""
+
+import warnings
+
+warnings.warn("Use of custom Invenio link storage has been deprecated."
+ " Please use flask.ext.collect.storage.link instead.",
+ DeprecationWarning)
diff --git a/setup.py b/setup.py
index 2a641b236..b6c14a687 100644
--- a/setup.py
+++ b/setup.py
@@ -1,311 +1,311 @@
# -*- coding: utf-8 -*-
## This file is part of Invenio.
## Copyright (C) 2013, 2014 CERN.
##
## Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
"""
Invenio is Fun.
Links
-----
* `website `_
* `documentation `_
* `development version `_
"""
import os
import sys
from setuptools import setup, find_packages
from setuptools.command.install_lib import install_lib
from distutils.command.build import build
class _build(build):
"""Compile catalog before building the package."""
sub_commands = [('compile_catalog', None)] + build.sub_commands
class _install_lib(install_lib):
"""Custom install_lib command."""
def run(self):
"""Compile catalog before running installation command."""
self.run_command('compile_catalog')
install_lib.run(self)
dependency_links = [
"git+git://github.com/mrjoes/flask-admin.git#egg=Flask-Admin-1.0.9.dev0",
"git+git://github.com/inveniosoftware/workflow.git@e41299579501704b1486c72cc2509a9f82e63ea6#egg=workflow",
]
install_requires = [
"alembic>=0.6.6",
"Babel>=1.3",
"bagit>=1.5.1",
"BeautifulSoup>=3.2.1",
"BeautifulSoup4>=4.3.2",
"celery>=3.1.8",
# Cerberus>=0.7.1 api changes and is not yet supported
"Cerberus>=0.7,<0.7.1",
"dictdiffer>=0.0.3",
"feedparser>=5.1",
"fixture>=1.5",
"Flask>=0.10.1",
# Development version is used, will switch to >=1.0.9 once released.
"Flask-Admin>=1.0.9.dev0",
"Flask-Assets>=0.10",
"Flask-Babel>=0.9",
"Flask-Breadcrumbs>=0.1",
"Flask-Cache>=0.12",
- "Flask-Collect>=0.2.3",
+ "Flask-Collect>=1.1.1",
"Flask-Email>=1.4.4",
"Flask-Gravatar>=0.4",
"Flask-Login>=0.2.7",
"Flask-Menu>=0.1",
"Flask-OAuthlib>=0.6.0,<0.7", # quick fix for issue #2158
"Flask-Principal>=0.4",
"Flask-Registry>=0.2",
"Flask-RESTful>=0.2.12",
"Flask-Script>=2.0.5",
# Development version is used, will switch to >=2.0 once released.
"Flask-SQLAlchemy>=2.0",
"Flask-WTF>=0.9.5",
"fs>=0.4",
"intbitset>=2.0",
"jellyfish>=0.3.2",
"Jinja2>=2.7",
"libmagic>=1.0",
"lxml>=3.3",
"mechanize>=0.2.5",
"msgpack-python>=0.3",
"MySQL-python>=1.2.5",
"numpy>=1.7",
"nydus>=0.10.8",
# pyparsing>=2.0.2 has a new api and is not compatible yet
"pycrypto>=2.0.1",
"pyparsing>=2.0.1,<2.0.2",
"python-twitter>=0.8.7",
"pyPDF>=1.13",
"pyPDF2",
"PyLD>=0.5.2",
"pyStemmer>=1.3",
# python-dateutil>=2.0 is only for Python3
"python-dateutil>=1.5,<2.0",
"python-magic>=0.4.6",
"pytz",
"rauth",
"raven>=5.0.0",
"rdflib>=4.1.2",
"redis==2.8.0", # Is it explicitly required?
"reportlab>=2.7,<3.2",
"requests>=2.3,<2.4",
"setuptools>=2.2",
"six>=1.7.2",
"Sphinx",
# SQLAlchemy 0.9 is not compatible yet
"SQLAlchemy>=0.8.3,<0.9",
# SQLAlchemy-Utils>0.24 depends on SQLAlchemy>=0.9.3
"SQLAlchemy-Utils>=0.23.5,<0.24",
"unidecode",
"workflow>=1.1.0",
# Flask-WTF 0.9.5 doesn't support WTForms 2.0 as of yet.
"WTForms>=1.0.5,<2.0",
"wtforms-alchemy>=0.12.6"
]
extras_require = {
"docs": [
"sphinx_rtd_theme"
],
"development": [
"Flask-DebugToolbar==0.9.0",
],
"elasticsearch": [
"pyelasticsearch>=0.6.1"
],
"img": [
"qrcode",
"Pillow"
],
"mongo": [
"pymongo"
],
"misc": [ # was requirements-extras
"apiclient", # extra=cloud?
"dropbox", # extra=cloud?
"gnuplot-py==1.8",
"flake8", # extra=kwalitee?
"pep8", # extra=kwalitee?
"pychecker==0.8.19", # extra=kwalitee?
"pylint", # extra=kwalitee?
"nosexcover", # test?
"oauth2client", # extra=cloud?
"python-onedrive", # extra=cloud?
"python-openid", # extra=sso?
"urllib3", # extra=cloud?
],
"mixer": [
"mixer",
],
"sso": [
"Flask-SSO>=0.1"
],
"postgresql": [
"psycopg2>=2.5",
],
# Alternative XML parser
#
# For pyRXP, the version on PyPI many not be the right one.
#
# $ pip install
# > https://www.reportlab.com/ftp/pyRXP-1.16-daily-unix.tar.gz#egg=pyRXP
#
"pyrxp": [
# Any other versions are not supported.
"pyRXP==1.16-daily-unix"
],
"github": [
"github3.py>=0.9"
],
}
extras_require["docs"] += extras_require["elasticsearch"]
extras_require["docs"] += extras_require["img"]
extras_require["docs"] += extras_require["mongo"]
extras_require["docs"] += extras_require["sso"]
extras_require["docs"] += extras_require["github"]
tests_require = [
"httpretty>=0.8",
"Flask-Testing>=0.4.1",
"mock",
"nose",
"selenium",
"unittest2>=0.5",
]
# Compatibility with Python 2.6
if sys.version_info < (2, 7):
install_requires += [
"argparse",
"importlib"
]
# Get the version string. Cannot be done with import!
g = {}
with open(os.path.join("invenio", "version.py"), "rt") as fp:
exec(fp.read(), g)
version = g["__version__"]
packages = find_packages(exclude=['docs'])
packages.append('invenio_docs')
setup(
name='Invenio',
version=version,
url='https://github.com/inveniosoftware/invenio',
license='GPLv2',
author='CERN',
author_email='info@invenio-software.org',
description='Digital library software',
long_description=__doc__,
packages=packages,
package_dir={'invenio_docs': 'docs'},
include_package_data=True,
zip_safe=False,
platforms='any',
entry_points={
'console_scripts': [
'inveniomanage = invenio.base.manage:main',
'plotextractor = invenio.utils.scripts.plotextractor:main',
# Legacy
'alertengine = invenio.legacy.webalert.scripts.alertengine:main',
'batchuploader = invenio.legacy.bibupload.scripts.batchuploader',
'bibcircd = invenio.legacy.bibcirculation.scripts.bibcircd:main',
'bibauthorid = invenio.legacy.bibauthorid.scripts.bibauthorid:main',
'bibclassify = invenio.modules.classifier.scripts.classifier:main',
'bibconvert = invenio.legacy.bibconvert.scripts.bibconvert:main',
'bibdocfile = invenio.legacy.bibdocfile.scripts.bibdocfile:main',
'bibedit = invenio.legacy.bibedit.scripts.bibedit:main',
'bibencode = invenio.modules.encoder.scripts.encoder:main',
'bibindex = invenio.legacy.bibindex.scripts.bibindex:main',
'bibmatch = invenio.legacy.bibmatch.scripts.bibmatch:main',
'bibrank = invenio.legacy.bibrank.scripts.bibrank:main',
'bibrankgkb = invenio.legacy.bibrank.scripts.bibrankgkb:main',
'bibreformat = invenio.legacy.bibformat.scripts.bibreformat:main',
'bibsort = invenio.legacy.bibsort.scripts.bibsort:main',
'bibsched = invenio.legacy.bibsched.scripts.bibsched:main',
'bibstat = invenio.legacy.bibindex.scripts.bibstat:main',
'bibtaskex = invenio.legacy.bibsched.scripts.bibtaskex:main',
'bibtasklet = invenio.legacy.bibsched.scripts.bibtasklet:main',
'bibupload = invenio.legacy.bibupload.scripts.bibupload:main',
'dbexec = invenio.legacy.miscutil.scripts.dbexec:main',
'dbdump = invenio.legacy.miscutil.scripts.dbdump:main',
'docextract = invenio.legacy.docextract.scripts.docextract:main',
'elmsubmit = invenio.legacy.elmsubmit.scripts.elmsubmit:main',
'gotoadmin = invenio.modules.redirector.scripts.redirector:main',
'inveniocfg = invenio.legacy.inveniocfg:main',
'inveniogc = invenio.legacy.websession.scripts.inveniogc:main',
'inveniounoconv = invenio.legacy.websubmit.scripts.inveniounoconv:main',
'oaiharvest = invenio.legacy.oaiharvest.scripts.oaiharvest:main',
'oairepositoryupdater = invenio.legacy.oairepository.scripts.oairepositoryupdater:main',
'arxiv-pdf-checker = invenio.legacy.pdfchecker:main',
'refextract = invenio.legacy.refextract.scripts.refextract:main',
'textmarc2xmlmarc = invenio.legacy.bibrecord.scripts.textmarc2xmlmarc:main',
'webaccessadmin = invenio.modules.access.scripts.webaccessadmin:main',
'webauthorprofile = invenio.legacy.webauthorprofile.scripts.webauthorprofile:main',
'webcoll = invenio.legacy.websearch.scripts.webcoll:main',
'webmessageadmin = invenio.legacy.webmessage.scripts.webmessageadmin:main',
'webstatadmin = invenio.legacy.webstat.scripts.webstatadmin:main',
'websubmitadmin = invenio.legacy.websubmit.scripts.websubmitadmin:main',
'xmlmarc2textmarc = invenio.legacy.bibrecord.scripts.xmlmarc2textmarc:main',
'xmlmarclint = invenio.legacy.bibrecord.scripts.xmlmarclint:main',
],
"distutils.commands": [
"inveniomanage = invenio.base.setuptools:InvenioManageCommand",
]
},
install_requires=install_requires,
dependency_links=dependency_links,
extras_require=extras_require,
classifiers=[
'Development Status :: 4 - Beta',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: GPLv2 License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
],
test_suite='invenio.testsuite.suite',
tests_require=tests_require,
cmdclass={
'build': _build,
'install_lib': _install_lib,
},
)