1
0
mirror of https://github.com/gsi-upm/senpy synced 2024-11-24 09:02:28 +00:00
Go to file
drevicko 19d12a74cd use plug._plain_dict() before returning from analyse()
We're experiencing significant delays when we have large objects as plugin instance variables. This edit seems to fix the problem.

It looks like the plugin instance is passed (inside the response object) as-is to flask: perhaps flask is walking through it or duplicating it in memory or some such? Not sure...

There may be a better way?
2017-02-01 17:24:55 +00:00
docs Moved to gsiupm 2016-09-21 10:10:49 +02:00
img Started readthedocs and improved README 2015-10-28 21:25:56 +01:00
senpy use plug._plain_dict() before returning from analyse() 2017-02-01 17:24:55 +00:00
tests Bumped to 0.6.0 2016-09-21 19:00:20 +02:00
.drone.yml Improved plugins API and loading 2016-02-20 18:19:52 +01:00
.gitignore Makefile for automated testing (no more drone) 2016-09-20 20:55:59 +02:00
.travis.yml Added 3.4 to travis 2016-09-20 20:58:37 +02:00
app.py Added default plugins to app.py 2015-10-06 14:39:42 +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-2.7 Dockerfiles not ignored anymore 2016-12-14 17:06:50 +01:00
Dockerfile-3.4 Dockerfiles not ignored anymore 2016-12-14 17:06:50 +01:00
Dockerfile.deps Makefile for automated testing (no more drone) 2016-09-20 20:55:59 +02:00
Dockerfile.template Added option to install dependencies in CLI 2016-09-21 20:27:30 +02:00
LICENSE.txt Refactoring, name change 2014-09-16 16:45:06 +02:00
Makefile Dockerfiles not ignored anymore 2016-12-14 17:06:50 +01:00
MANIFEST.in Makefile for automated testing (no more drone) 2016-09-20 20:55:59 +02: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 Updated links in README 2016-12-19 13:17:56 +01:00
requirements.txt Bumped to 0.6.0 2016-09-21 19:00:20 +02:00
setup.cfg Python 3 compatible 2016-02-20 16:17:37 +01:00
setup.py Makefile for automated testing (no more drone) 2016-09-20 20:55:59 +02:00
supervisord.conf Files for deployment 2014-11-05 19:17:27 +01:00
test-requirements.txt Python 3 compatible 2016-02-20 16:17:37 +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 --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 --host 0.0.0.0 --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 --host 0.0.0.0 --default-plugins -f /plugins``

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