Skip to main content

No project description provided

Project description

Python NLIP Repositories

This repository contains one component of the various python repositories for NLIP Proof of Concept implementation. The various repositories are:

  • nlip_sdk: this provides a software development kit in python that implements the abstractions of NLIP message, submessages along with a factory to ease the creation of NLIP messages and submessages
  • nlip_client: this provides a package that simplifies the task of sending NLIP messages using the base underlying protocol. The current implementation uses httpx as the base transfer package.
  • nlip_server: this provides a paclage that simplifies the task of writing a server-side NLIP application. This provides the abstractions of a NLIPApplication and a NLIP Session. An application consists of multiple sessions.

The above three are the components needed to write a client or a server. To write a client, you need to use nlip_sdk and nlip_client. To write a server side application, you need to use nlip_sdk and nlip_server.

The following repositories contain a few simple clients and server side applications:

  • nlip_soln: this provides a few simple prototype server side solutions using the nlip_server package
  • text_client: this provides a simple text based chatbot to interface with a NLIP server
  • kivy_client: this provides a python kivy based visual client to interact with an NLIP server

NLIP Server

Welcome to the NLIP Server! This project is a basic implementation of NLIP server side protocol.

This package provides a library that can easily be customized to create your own NLIP based Solution.

The package depends on the NLIP SDK package.

Installation

This project uses Poetry for dependency management. First, please install Poetry.

To set up the Python project, create a virtual environment using the following commands.

  1. Create the virtual environment:
poetry env use python
  1. Install the application dependencies
poetry install

Publishing the Package

To publish the package to PyPI, ensure that your changes are committed and then create a version tag. You can do this with the following commands:

git tag v0.1.0  # Replace with new version
git push origin v0.1.0

Defining a new Server Side Solution

To define a new solution, you need to provide two subclasses of the provided abstract classes: NLIPApplicaiton and NLIPSession.

These two classes are defined in module server

The main routine of the solution should call the start_server routine in module server to create an instance of the solution server-side application. start_server takes a subclass of NLIP_Application as an argument.

An example simple echo application is included in the file echo.py

To run the echo server, use the following command

poetry run fastapi dev nlip_server/echo.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nlip_server-0.1.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nlip_server-0.1.2-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file nlip_server-0.1.2.tar.gz.

File metadata

  • Download URL: nlip_server-0.1.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.10 Darwin/23.3.0

File hashes

Hashes for nlip_server-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a2180500bb6878dcc3df1232e36e6396dddaa0e132e41472e4fd91e0d68d218f
MD5 3f6232310a99d8e84fe72828658093e7
BLAKE2b-256 e5e7a0b8eef58ac8b11524262c5227acdeea61aa3a7a5f5b053d3c6f246dd2ba

See more details on using hashes here.

File details

Details for the file nlip_server-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: nlip_server-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.0.1 CPython/3.12.10 Darwin/23.3.0

File hashes

Hashes for nlip_server-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 11ed6b3603be2e3a342384b6e101500c132d8c9d4326a6c7c44639414047fd17
MD5 e5f07a1cac2f1d2431d8f862aeca9339
BLAKE2b-256 a06a2f542df61ddd72d20558f15d915426e5215ed441386d857af07952cbf1cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page