Skip to main content

A very small module to add Linked Data API functionality to a Python Flask installation

Project description

pyLDAPI-250.png

Welcome to pyLDAPI

The Python Linked Data API (pyLDAPI) is:

A very small module to add Linked Data API functionality to a Python Flask installation.

PyPI version

What is it?

This module contains a small Python module which is intended to be added (imported) into a Python Flask installation to add a small library of Renderer classes which can be used to handle requests and return responses in a manner consistent with Linked Data principles of operation.

The intention is to make it easy to “Linked Data-enable” web APIs.

An API using this module will get:

  • an alt profile for each endpoint that uses a Renderer class to return responses that the API delivers
    • this is a profile, or view of the resource that lists all other available profiles

  • a Register of Registers
    • a start-up function that auto-generates a Register of Registers is run when the API is launched.

  • a basic, over-writeable template for Registers’ HTML & RDF

  • all of the functionality defined by the W3C’s Content Negotiation by Profile specification
    • to allow for requests of content that conform to data specifications and profiles

The main parts of pyLDAPI are as follows:

Block diagram of pyLDAPI's main parts

Web requests arrive at a Web Server, such as Apache or nginx, which then forwards (some of) them on to Flask, a Python web framework. Flask calls Python functions for web requests defined in a request/function mapping and may call pyLDAPI elements. Flask need not call pyLDAPI for all requests, just as Apache/nginx need not forward all web request to flask. pyLDAPI may then draw on any Python data source, such as database APIs, and uses the rdflib Python module to formulate RDF responses.

Definitions

Alt Profile

The model view that lists all other views. This API uses the definition of alternates profile presented at https://promsns.org/def/alt.

Linked Data Principles

The principles of making things available over the internet in both human and machine-readable forms. Codified by the World Wide Web Consortium. See https://www.w3.org/standards/semanticweb/data.

Model View

A set of properties of a Linked Data object codified according to a standard or profile of a standard.

Object

Any individual thing delivered according to Linked Data principles.

Register

A simple listing of URIs of objects, delivered according to Linked Data principles.

Register of Registers

A register that lists all other registers which this API provides.

pyLDAPI in action

Block diagram of the GNAF implementation

Parts of the GNAF implementation

Block diagram of the ASGS implementation

Parts of the ASGS implementation

Documentation

Detailed documentation can be found at https://pyldapi.readthedocs.io/

Licence

This is licensed under GNU General Public License (GPL) v3.0. See the LICENSE deed for more details.

Contact

Dr Nicholas Car (lead)

Ashley Sommer (senior developer)

Informatics Software Engineer

Changelog

3.0

  • Content Negotiation specification by Profile supported

  • replaced all references to “format” with “Media Type” and “view” with “profile”

  • renamed class View to Profile

  • added unit tests for all profile functions

  • added unit tests for main ConnegP functions

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

pyldapi-3.9.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

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

pyldapi-3.9-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

File details

Details for the file pyldapi-3.9.tar.gz.

File metadata

  • Download URL: pyldapi-3.9.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for pyldapi-3.9.tar.gz
Algorithm Hash digest
SHA256 8b2c48cbfcc53346833572577536f3013e41960a5695bb1f3c7820beb185a9df
MD5 162fa4e740dd3c7b3353e193cb21a9aa
BLAKE2b-256 1c7adcdb0a47e38e662356514abc6eccd1068df132a185f163882d032ff7c494

See more details on using hashes here.

File details

Details for the file pyldapi-3.9-py3-none-any.whl.

File metadata

  • Download URL: pyldapi-3.9-py3-none-any.whl
  • Upload date:
  • Size: 29.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3

File hashes

Hashes for pyldapi-3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 00a1cc46df056e8b3574fb8ee3ec0b3639c45c3359fb22f492092513013a660b
MD5 b4993f1d89101eb7440b5fd80f449040
BLAKE2b-256 7e20d00906b8d00201cbea8e717578dfc3aedcaf120b8b2d3422ee5ccbd6c5e2

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