All Projects → proycon → Clam

proycon / Clam

Licence: gpl-3.0
Quickly turn command-line applications into RESTful webservices with a web-application front-end. You provide a specification of your command line application, its input, output and parameters, and CLAM wraps around your application to form a fully fledged RESTful webservice.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Clam

Atlassian Python Api
Atlassian Python REST API wrapper
Stars: ✭ 564 (+447.57%)
Mutual labels:  rest, wrapper
Webcc
Lightweight C++ HTTP client and server library based on Asio for embedding purpose.
Stars: ✭ 167 (+62.14%)
Mutual labels:  rest, webservice
Twitchcsharp
Twitch C# Wrapper for the Twitch v3 REST API
Stars: ✭ 36 (-65.05%)
Mutual labels:  rest, wrapper
Cppwebframework
​The C++ Web Framework (CWF) is a MVC web framework, Open Source, under MIT License, using C++ with Qt to be used in the development of web applications.
Stars: ✭ 348 (+237.86%)
Mutual labels:  rest, webservice
Restheart
RESTHeart - The REST API for MongoDB
Stars: ✭ 659 (+539.81%)
Mutual labels:  rest, webservice
Just Api
💥 Test REST, GraphQL APIs
Stars: ✭ 768 (+645.63%)
Mutual labels:  rest, webservice
Sdmx Rest
This repository is used for maintaining the SDMX RESTful web services specification.
Stars: ✭ 50 (-51.46%)
Mutual labels:  rest, webservice
Min
A minimalistic web framework with route grouping and middleware chaining
Stars: ✭ 95 (-7.77%)
Mutual labels:  rest
Pokebase
Python 3 wrapper for Pokéapi v2
Stars: ✭ 99 (-3.88%)
Mutual labels:  wrapper
Expressvpn Python
ExpressVPN - Python Wrapper (public IP auto fetch).
Stars: ✭ 94 (-8.74%)
Mutual labels:  wrapper
Restson Rust
Easy-to-use REST client for Rust programming language
Stars: ✭ 93 (-9.71%)
Mutual labels:  rest
Flask Rest Template
template for a rest app with flask, flask-rest and more...
Stars: ✭ 95 (-7.77%)
Mutual labels:  rest
Hsac Fitnesse Fixtures
An environment to define and run integration tests. It contains Fitnesse fixture (base) classes and a baseline FitNesse installation.
Stars: ✭ 99 (-3.88%)
Mutual labels:  rest
Pokepy
A Python wrapper for PokéAPI
Stars: ✭ 94 (-8.74%)
Mutual labels:  wrapper
Com api
API framework for Joomla
Stars: ✭ 102 (-0.97%)
Mutual labels:  rest
Taffy
Test Automation Framework Based On Nosetests. ✨🍰✨
Stars: ✭ 94 (-8.74%)
Mutual labels:  webservice
Tcases
A model-based test case generator
Stars: ✭ 103 (+0%)
Mutual labels:  rest
Binancedotnet
Official C# Wrapper for the Binance exchange API, with REST and WebSocket endpoints
Stars: ✭ 102 (-0.97%)
Mutual labels:  wrapper
Recurring Integrations Scheduler
Recurring Integrations Scheduler (RIS) is a solution that can be used in file-based integration scenarios for Dynamics 365 Finance and Dynamics 365 Supply Chain Management.
Stars: ✭ 96 (-6.8%)
Mutual labels:  rest
Binance.api.csharp.client
C#.NET client for Binance Exchange API.
Stars: ✭ 98 (-4.85%)
Mutual labels:  wrapper

======================================================= CLAM: Computational Linguistics Application Mediator

.. image:: https://travis-ci.org/proycon/clam.svg?branch=master :target: https://travis-ci.org/proycon/clam

.. image:: https://readthedocs.org/projects/clam/badge/?version=latest :target: http://clam.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

.. image:: https://api.codacy.com/project/badge/grade/860767a6b995425bbb607fc852c418b7 :target: https://www.codacy.com/app/proycon/clam

.. image:: https://zenodo.org/badge/760072.svg :target: https://zenodo.org/badge/latestdoi/760072

.. image:: https://img.shields.io/pypi/v/clam :alt: Latest release in the Python Package Index :target: https://pypi.org/project/clam/

.. image:: http://applejack.science.ru.nl/lamabadge.php/clam :target: http://applejack.science.ru.nl/languagemachines/

.. image:: https://www.repostatus.org/badges/latest/active.svg :alt: Project Status: Active – The project has reached a stable, usable state and is being actively developed. :target: https://www.repostatus.org/#active

by Maarten van Gompel Centre for Language and Speech Technology, Radboud University Nijmegen & KNAW Humanities Cluster

Licensed under GPLv3

Website: https://proycon.github.io/clam Source repository: https://github.com/proycon/clam/ Documentation: https://clam.readthedocs.io Installation: pip install clam

CLAM allows you to quickly and transparently transform your Natural Language Processing application into a RESTful webservice, with which both human end-users as well as automated clients can interact. CLAM takes a description of your system and wraps itself around the system, allowing end-users or automated clients to upload input files to your application, start your application with specific parameters of their choice, and download and view the output of the application once it is completed.

CLAM is set up in a universal fashion, requiring minimal effort on the part of the service developer. Your actual NLP application is treated as a black box, of which only the parameters, input formats and output formats need to be described. Your application itself needs not be network aware in any way, nor aware of CLAM, and the handling and validation of input can be taken care of by CLAM.

CLAM is entirely written in Python, runs on UNIX-derived systems, and is available as open source under the GNU Public License (v3). It is set up in a modular fashion, and offers an API, and as such is easily extendable. CLAM communicates in a transparent XML format, and using XSL transformation offers a modern client-side generated web-interface for human end users.

Documentation

Documentation is available on https://clam.readthedocs.io

Some screenshots of the web user interface can be found below:

.. image:: https://raw.githubusercontent.com/proycon/clam/master/docs/screenshot.png :alt: the clam project list

.. image:: https://raw.githubusercontent.com/proycon/clam/master/docs/screenshot2.png :alt: the clam project page during staging

.. image:: https://raw.githubusercontent.com/proycon/clam/master/docs/screenshot3.png :alt: the clam project page when done

Installation

It's discouraged to download the zip packages or tarballs from github, install CLAM from the Python Package Index <http://pypi.python.org/pypi/CLAM>_ or use git properly.

Installation On Linux


Installation from the Python Package Index using the  package manager *pip* it the recommended way to
intall CLAM. This is the easiest method
of installing CLAM, as it will automatically fetch and install any
dependencies. We recommend to use a virtual environment (``virtualenv``) if you
want to install CLAM locally as a user, if you want to install globally,
prepend the following commands with ``sudo``:

CLAM can be installed from the Python Package Index using pip. Pip is usually
part of the ``python3-pip`` package (Debian/Ubuntu) or similar. It downloads CLAM and all dependencies
automatically:::

  $ pip3 install clam

If you already downloaded CLAM manually (from github), you can do::

  $ python3 setup.py install

If pip3 is not yet installed on your system, install it using:
 on debian-based linux systems (including Ubuntu)::

  $ apt-get install python3-pip

on RPM-based linux systems::

  $ yum install python3-pip

Note that sudo/root access is needed to install globally. Ask your system administrator
to install it if you do not own the system. Alternatively, you can install it locally in a Python virtual
environment:

  $ virtualenv --python=python3 clamenv

  $ . clamenv/bin/activate

  (clamenv)$ pip3 install clam

CLAM also has some optional dependencies. For MySQL support, install
``mysqlclient`` using pip. For `FoLiA <https://proycon.github.io/folia>`_
support, install ``FoLiA-Tools`` using pip.



Running a test webservice

If you installed CLAM using the above method, then you can launch a clam test webservice using the development server as follows::

$ clamservice -H localhost -p 8080 clam.config.textstats

Navigate your browser to http://localhost:8080 and verify everything works

Note: It is important to regularly keep CLAM up to date as fixes and improvements are implemented on a regular basis. Update CLAM using::

$ pip install -U clam

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].