1
0
mirror of https://github.com/gsi-upm/senpy synced 2024-11-14 12:42:27 +00:00
Go to file
2017-06-13 14:00:40 +02:00
docs Merge branch '34-document-plugin-repo-creation' into 24-improve-docs 2017-06-12 12:53:24 +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 Added chunker plugin to tokenize texts 2017-06-13 14:00:40 +02:00
tests Better centroid conversion 2017-06-12 19:52:00 +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 Avoid python temporary files in pip tests 2017-06-12 21:50:51 +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 Avoid python temporary files in pip tests 2017-06-12 21:50:51 +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 Replace gevent with tornado 2017-04-10 18:16:45 +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