senpy


Namesenpy JSON
Version 1.0.7 PyPI version JSON
download
home_pagehttps://github.com/gsi-upm/senpy
SummaryA sentiment analysis server implementation. Designed to be extensible, so new algorithms and sources can be used.
upload_time2023-09-27 10:52:59
maintainer
docs_urlNone
authorJ. Fernando Sanchez
requires_python>3.6
license
keywords eurosentiment sentiment emotions nif
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            .. image:: img/header.png
   :width: 100%
   :target: http://senpy.gsi.upm.es

.. image:: https://readthedocs.org/projects/senpy/badge/?version=latest
  :target: http://senpy.readthedocs.io/en/latest/
.. image:: https://badge.fury.io/py/senpy.svg
  :target: https://badge.fury.io/py/senpy
.. image:: https://travis-ci.org/gsi-upm/senpy.svg
  :target: https://github.com/gsi-upm/senpy/senpy/tree/master
.. image:: https://img.shields.io/pypi/l/requests.svg
  :target: https://lab.gsi.upm.es/senpy/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.upm.es/ontologies/marl>`_, `Onyx <http://www.gsi.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.gsi.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``.

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 -f /plugins``


Compatibility
-------------

Senpy should run on any major operating system.
Its code is pure Python, and the only limitations are imposed by its dependencies (e.g., nltk, pandas).

Currently, the CI/CD pipeline tests the code on:

* GNU/Linux with Python versions 3.7+ (3.10+ recommended for all plugins)
* MacOS and homebrew's python3
* Windows 10 and chocolatey's python3

The latest PyPI package is verified to install on Ubuntu, Debian and Arch Linux.

If you have trouble installing Senpy on your platform, see `Having problems?`_.

Developing
----------

Running/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.


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


Python 2.x compatibility
------------------------

Keeping compatibility between python 2.7 and 3.x is not always easy, especially for a framework that deals both with text and web requests.
Hence, starting February 2019, this project will no longer make efforts to support python 2.7, which will reach its end of life in 2020.
Most of the functionality should still work, and the compatibility shims will remain for now, but we cannot make any guarantees at this point.
Instead, the maintainers will focus their efforts on keeping the codebase compatible across different Python 3.3+ versions, including upcoming ones.
We apologize for the inconvenience.


Having problems?
----------------

Please, file a new issue `on GitHub <https://github.com/gsi-upm/senpy/issues>`_ including enough details to reproduce the bug, including:

* Operating system
* Version of Senpy (or docker tag)
* Installed libraries
* Relevant logs
* A simple code example

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/gsi-upm/senpy",
    "name": "senpy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">3.6",
    "maintainer_email": "",
    "keywords": "eurosentiment,sentiment,emotions,nif",
    "author": "J. Fernando Sanchez",
    "author_email": "balkian@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/00/d1/46cfed829244b8a26716b0687e23e050e9204b7e42d3686e1660c7cfd589/senpy-1.0.7.tar.gz",
    "platform": null,
    "description": ".. image:: img/header.png\n   :width: 100%\n   :target: http://senpy.gsi.upm.es\n\n.. image:: https://readthedocs.org/projects/senpy/badge/?version=latest\n  :target: http://senpy.readthedocs.io/en/latest/\n.. image:: https://badge.fury.io/py/senpy.svg\n  :target: https://badge.fury.io/py/senpy\n.. image:: https://travis-ci.org/gsi-upm/senpy.svg\n  :target: https://github.com/gsi-upm/senpy/senpy/tree/master\n.. image:: https://img.shields.io/pypi/l/requests.svg\n  :target: https://lab.gsi.upm.es/senpy/senpy/\n\n     \nSenpy lets you create sentiment analysis web services easily, fast and using a well known API.\nAs a bonus, Senpy services use semantic vocabularies (e.g. `NIF <http://persistence.uni-leipzig.org/nlp2rdf/>`_, `Marl <http://www.gsi.upm.es/ontologies/marl>`_, `Onyx <http://www.gsi.upm.es/ontologies/onyx>`_) and formats (turtle, JSON-LD, xml-rdf).\n\nHave you ever wanted to turn your sentiment analysis algorithms into a service?\nWith Senpy, now you can.\nIt provides all the tools so you just have to worry about improving your algorithms:\n\n`See it in action. <http://senpy.gsi.upm.es/>`_\n\nInstallation\n------------\nThe stable version can be installed in three ways.\n\nThrough PIP\n***********\n\n.. code:: bash\n\n   pip install -U --user senpy\n\n   \nAlternatively, you can use the development version:\n \n.. code:: bash\n\n   git clone http://github.com/gsi-upm/senpy\n   cd senpy\n   pip install --user .\n\nIf you want to install Senpy globally, use sudo instead of the ``--user`` flag.\n\nDocker Image\n************\nBuild the image or use the pre-built one: ``docker run -ti -p 5000:5000 gsiupm/senpy``.\n\nTo 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 -f /plugins``\n\n\nCompatibility\n-------------\n\nSenpy should run on any major operating system.\nIts code is pure Python, and the only limitations are imposed by its dependencies (e.g., nltk, pandas).\n\nCurrently, the CI/CD pipeline tests the code on:\n\n* GNU/Linux with Python versions 3.7+ (3.10+ recommended for all plugins)\n* MacOS and homebrew's python3\n* Windows 10 and chocolatey's python3\n\nThe latest PyPI package is verified to install on Ubuntu, Debian and Arch Linux.\n\nIf you have trouble installing Senpy on your platform, see `Having problems?`_.\n\nDeveloping\n----------\n\nRunning/debugging\n*****************\nThis command will run the senpy container using the latest image available, mounting your current folder so you get your latest code:\n\n.. code:: bash\n\n\n    # Python 3.5\n    make dev\n    # Python 2.7\n    make dev-2.7\n\nBuilding a docker image\n***********************\n\n.. code:: bash\n\n\n    # Python 3.5\n    make build-3.5\n    # Python 2.7\n    make build-2.7\n\nTesting\n*******\n\n.. code:: bash\n\n\n    make test\n\nRunning\n*******\nThis command will run the senpy server listening on localhost:5000\n\n.. code:: bash\n\n\n    # Python 3.5\n    make run-3.5\n    # Python 2.7\n    make run-2.7\n\nUsage\n-----\n\nHowever, the easiest and recommended way is to just use the command-line tool to load your plugins and launch the server.\n\n.. code:: bash\n\n\n   senpy\n\nor, alternatively:\n\n.. code:: bash\n\n\n    python -m senpy\n\n\nThis will create a server with any modules found in the current path.\nFor more options, see the `--help` page.\n\nAlternatively, you can use the modules included in Senpy to build your own application.\n\nDeploying on Heroku\n-------------------\nUse a free heroku instance to share your service with the world.\nJust use the example Procfile in this repository, or build your own.\n\n\nFor more information, check out the `documentation <http://senpy.readthedocs.org>`_.\n------------------------------------------------------------------------------------\n\n\nPython 2.x compatibility\n------------------------\n\nKeeping compatibility between python 2.7 and 3.x is not always easy, especially for a framework that deals both with text and web requests.\nHence, starting February 2019, this project will no longer make efforts to support python 2.7, which will reach its end of life in 2020.\nMost of the functionality should still work, and the compatibility shims will remain for now, but we cannot make any guarantees at this point.\nInstead, the maintainers will focus their efforts on keeping the codebase compatible across different Python 3.3+ versions, including upcoming ones.\nWe apologize for the inconvenience.\n\n\nHaving problems?\n----------------\n\nPlease, file a new issue `on GitHub <https://github.com/gsi-upm/senpy/issues>`_ including enough details to reproduce the bug, including:\n\n* Operating system\n* Version of Senpy (or docker tag)\n* Installed libraries\n* Relevant logs\n* A simple code example\n\nAcknowledgement\n---------------\nThis 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.\n\n\n.. image:: img/me.png\n    :target: http://mixedemotions-project.eu\n    :height: 100px\n    :alt: MixedEmotions Logo\n\n.. image:: img/eu-flag.jpg\n    :height: 100px\n    :target: http://ec.europa.eu/research/participants/portal/desktop/en/opportunities/index.html\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A sentiment analysis server implementation. Designed to be extensible, so new algorithms and sources can be used.",
    "version": "1.0.7",
    "project_urls": {
        "Download": "https://github.com/gsi-upm/senpy/archive/1.0.7.tar.gz",
        "Homepage": "https://github.com/gsi-upm/senpy"
    },
    "split_keywords": [
        "eurosentiment",
        "sentiment",
        "emotions",
        "nif"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2bfe082ffba5f63a13908ff6826bada59117a390506beae0444573a0f6bee6d3",
                "md5": "233ce8ac0470ee814fd3fcdbb200b6ff",
                "sha256": "d48ef1aee769a9418512ebb2be843a12be164ad195b0ebf319476e9eb8837126"
            },
            "downloads": -1,
            "filename": "senpy-1.0.7-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "233ce8ac0470ee814fd3fcdbb200b6ff",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">3.6",
            "size": 1152702,
            "upload_time": "2023-09-27T10:52:55",
            "upload_time_iso_8601": "2023-09-27T10:52:55.261092Z",
            "url": "https://files.pythonhosted.org/packages/2b/fe/082ffba5f63a13908ff6826bada59117a390506beae0444573a0f6bee6d3/senpy-1.0.7-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00d146cfed829244b8a26716b0687e23e050e9204b7e42d3686e1660c7cfd589",
                "md5": "0a6345447f89ca4875f09f7b189fc8f6",
                "sha256": "a8283e5e0b36f583b33180a55cd1b54b34059353959a15cc999f1903e1eef8d2"
            },
            "downloads": -1,
            "filename": "senpy-1.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "0a6345447f89ca4875f09f7b189fc8f6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">3.6",
            "size": 1442784,
            "upload_time": "2023-09-27T10:52:59",
            "upload_time_iso_8601": "2023-09-27T10:52:59.063858Z",
            "url": "https://files.pythonhosted.org/packages/00/d1/46cfed829244b8a26716b0687e23e050e9204b7e42d3686e1660c7cfd589/senpy-1.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-27 10:52:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gsi-upm",
    "github_project": "senpy",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "senpy"
}
        
Elapsed time: 0.35187s