1
0
mirror of https://github.com/gsi-upm/senpy synced 2024-11-21 15:52:28 +00:00
Go to file
J. Fernando Sánchez 3e3f5555ff Fixed py2 problems and other improvements
We've changed the way plugins are activated, and removed the notion of
deactivated plugins.
Now plugins activate asynchronously.
When calling a plugin, it will be activated if it wasn't, and the call will wait
for the plugin to be fully activated.
2017-08-27 20:00:29 +02:00
docs Fixed test for failed validation 2017-08-19 21:55:48 +02:00
img Started readthedocs and improved README 2015-10-28 21:25:56 +01:00
k8s Add pull policy to k8s deployment 2017-06-12 20:43:39 +02:00
senpy Fixed py2 problems and other improvements 2017-08-27 20:00:29 +02:00
tests Fixed py2 problems and other improvements 2017-08-27 20:00:29 +02:00
.drone.yml Improved plugins API and loading 2016-02-20 18:19:52 +01:00
.gitignore Deployment changes 2017-02-27 19:16:43 +01:00
.gitlab-ci.yml Fixed py2 problems and other improvements 2017-08-27 20:00:29 +02:00
.pre-commit-config.yaml Fixed CI problem 2017-02-27 19:31:52 +01:00
.travis.yml Removed python 3.4 from travis versions 2017-06-12 20:18:56 +02:00
config.py Simple server 2014-07-13 15:39:31 +02:00
dev-requirements.txt PEP8 compliance 2014-11-20 19:29:49 +01:00
Dockerfile.template Pip install editable 2017-05-05 17:27:12 +02:00
LICENSE.txt Refactoring, name change 2014-09-16 16:45:06 +02:00
Makefile Fixed py2 problems and other improvements 2017-08-27 20:00:29 +02:00
MANIFEST.in Added gitlab CI 2017-02-13 12:04:29 +01:00
NOTICE Refactoring, name change 2014-09-16 16:45:06 +02:00
Procfile Fix for heroku 2016-03-02 08:02:09 +01:00
README.rst Added instructions for developers 2017-03-09 00:04:02 +01:00
requirements.txt Fixed py2 problems and other improvements 2017-08-27 20:00:29 +02:00
setup.cfg Removed __main__ from test coverage reports 2017-06-12 20:29:29 +02:00
setup.py Loads of changes! 2017-02-27 12:01:19 +01:00
supervisord.conf Files for deployment 2014-11-05 19:17:27 +01:00
test-requirements.txt Deployment changes 2017-02-27 19:16:43 +01:00

.. image:: img/header.png
   :height: 6em
   :target: http://demos.gsi.dit.upm.es/senpy

.. image:: https://travis-ci.org/gsi-upm/senpy.svg?branch=master
   :target: https://travis-ci.org/gsi-upm/senpy

Senpy lets you create sentiment analysis web services easily, fast and using a well known API.
As a bonus, senpy services use semantic vocabularies (e.g. `NIF <http://persistence.uni-leipzig.org/nlp2rdf/>`_, `Marl <http://www.gsi.dit.upm.es/ontologies/marl>`_, `Onyx <http://www.gsi.dit.upm.es/ontologies/onyx>`_) and formats (turtle, JSON-LD, xml-rdf).

Have you ever wanted to turn your sentiment analysis algorithms into a service?
With senpy, now you can.
It provides all the tools so you just have to worry about improving your algorithms:

`See it in action. <http://senpy.cluster.gsi.dit.upm.es/>`_

Installation
------------
The stable version can be installed in three ways.

Through PIP
***********

.. code:: bash

   pip install -U --user senpy

   
Alternatively, you can use the development version:
 
.. code:: bash

   git clone http://github.com/gsi-upm/senpy
   cd senpy
   pip install --user .

If you want to install senpy globally, use sudo instead of the ``--user`` flag.

Docker Image
************
Build the image or use the pre-built one: ``docker run -ti -p 5000:5000 gsiupm/senpy --default-plugins``.

To add custom plugins, add a volume and tell senpy where to find the plugins: ``docker run -ti -p 5000:5000 -v <PATH OF PLUGINS>:/plugins gsiupm/senpy --default-plugins -f /plugins``


Developing
----------

Developing/debugging
********************
This command will run the senpy container using the latest image available, mounting your current folder so you get your latest code:

.. code:: bash


    # Python 3.5
    make dev
    # Python 2.7
    make dev-2.7

Building a docker image
***********************

.. code:: bash


    # Python 3.5
    make build-3.5
    # Python 2.7
    make build-2.7

Testing
*******

.. code:: bash


    make test

Running
*******
This command will run the senpy server listening on localhost:5000

.. code:: bash


    # Python 3.5
    make run-3.5
    # Python 2.7
    make run-2.7

Usage
-----

However, the easiest and recommended way is to just use the command-line tool to load your plugins and launch the server.

.. code:: bash


   senpy

or, alternatively:

.. code:: bash


    python -m senpy


This will create a server with any modules found in the current path.
For more options, see the `--help` page.

Alternatively, you can use the modules included in senpy to build your own application.

Deploying on Heroku
-------------------
Use a free heroku instance to share your service with the world.
Just use the example Procfile in this repository, or build your own.


`DEMO on heroku <http://senpy.herokuapp.com>`_


For more information, check out the `documentation <http://senpy.readthedocs.org>`_.
------------------------------------------------------------------------------------


Acknowledgement
---------------
This development has been partially funded by the European Union through the MixedEmotions Project (project number H2020 655632), as part of the `RIA ICT 15 Big data and Open Data Innovation and take-up` programme.


.. image:: img/me.png
    :target: http://mixedemotions-project.eu
    :height: 100px
    :alt: MixedEmotions Logo

.. image:: img/eu-flag.jpg
    :height: 100px
    :target: http://ec.europa.eu/research/participants/portal/desktop/en/opportunities/index.html