Skip to main content

HTTP Discipline and Server for GEMSEO

Project description

gemseo-http

PyPI - License PyPI - Python Version PyPI Codecov branch

Overview

gemseo-http is a GEMSEO plugin that exposes GEMSEO disciplines as RESTful web services. It bridges the gap between local MDO processes and remote computing resources by providing a seamless client-server interface.

Main Capabilities

  1. Expose GEMSEO Disciplines as Web Services:
    • Make existing GEMSEO disciplines into accessible HTTP endpoints.
    • Execute and linearize disciplines remotely with support for both synchronous and asynchronous modes.
  2. Use Remote Disciplines Locally:
    • Use the HTTPDiscipline class as a local proxy for remote services.
    • Automatic configuration via service discovery (the proxy queries the remote service for its grammars).

Installation

Client Installation

The HTTPDiscipline acts as a remote discipline proxy, allowing you to connect to a GEMSEO HTTP service.

To install the latest stable version of the client:

pip install gemseo-http

Server Installation

If you intend to host GEMSEO disciplines as services, you need to install the server-side dependencies:

pip install gemseo-http[server]

Key Features

  • Secure Authentication: Built-in support for OAuth2 with JWT (JSON Web Tokens) to ensure secure access.
  • Interactive API Documentation: Automatically generated Swagger UI (available at /docs) for exploring and testing the API.
  • Automated File Handling: Transparent management of file transfers between client and server during discipline execution.
  • Scalable Asynchronous Execution: Integration with Huey for background job processing, allowing for long-running tasks without blocking the web service.
  • Efficient Data Retrieval: Support for long-polling to retrieve results from asynchronous executions.

Documentation

For detailed installation instructions, user guides, and API reference, please visit the official documentation.

Bugs and questions

Please use the gitlab issue tracker to submit bugs or questions.

Contributing

See the contributing section of GEMSEO.

Contributors

  • Jean-Christophe Giret
  • Antoine Dechaume

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

gemseo_http-3.0.0.tar.gz (710.6 kB view details)

Uploaded Source

Built Distribution

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

gemseo_http-3.0.0-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file gemseo_http-3.0.0.tar.gz.

File metadata

  • Download URL: gemseo_http-3.0.0.tar.gz
  • Upload date:
  • Size: 710.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.22.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gemseo_http-3.0.0.tar.gz
Algorithm Hash digest
SHA256 d4bfe3695a8048358606103f4f26ceea315e41d7584642830614034006b71662
MD5 593f688e5aa0578a1add117222c09c11
BLAKE2b-256 772732b6c512d42f3df15530874bfb1a247dbd09a8b7c2c199af8db7b137caba

See more details on using hashes here.

File details

Details for the file gemseo_http-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: gemseo_http-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Alpine Linux","version":"3.22.1","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gemseo_http-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8cb590fd33d6fbb8785e731e6b773454f924762ab854c0e62aa983698e132669
MD5 36346c1b91ada5b4c6219ea0426c9e70
BLAKE2b-256 d443127773d0ab4421b3dfb2174187066ba5f27e21897fdd0698bd9c58f89d0c

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