Skip to main content

Intercooperation library

Project description

python-intercoop

CI Status Coverage Status

A Python implementation of the intercoop protocol.

Purpose

In the context of intercooperation among social economy entities, these libraries implement a protocol to enable a user of a given entity to use services provided by other entities having a bilateral agreement. This is done keeping the users in control of which are the enabled services and, most important, which entities will be transferred their personal data to.

Some intended goals:

  • Ease extending intercooperation to new entities by sharing a common protocol,
    • single implementation for our users to use services from many other entities,
    • single implementation to offer our services to users of many other entities
  • Be certain that the services request comes from the source entity
  • Users control how and whom their personal data is transferred to
  • Still avoid the user from having to type personal data again and again

Install

$ pip install .

Modules

  • Examples:

    • portalexample: Flask based example of a source entity portal
    • apiexample: Flask based example of a target entity api
  • Fully reusable modules:

    • catalog: functions to manage a service catalog in a portal
    • apiclient: encapsulates remote acces to the target API
    • package: encapsulates package marshalling/umarshalling, signing/verification
    • crypto: cryptography primitives:
      • hides actual algorithms compexity under simple action names
  • Data sources: You normally want to rewrite those, for example to take data from a database or similar. Reference implementation use a directory full of YAML files.

    • Source Portal:

      • peerinfo: access yaml info provided by the available targets
      • userinfo: access source user personal data
    • Target API:

      • keyring: gives access to peers public keys (relies on peerinfo)
      • remoteuserinfo: temporary stores the transferred data
  • Utilities:

    • translator: rewrites yamls by picking language on translatable strings
    • perfume: a Flask wrapper to enable dependency injection on Flask apps

Example scripts

  • portal-example-somillusio.py: somillusio portal
  • api-example-somacme.py: somacme api and service form

Other scripts

  • validate-intercoop.py: Validates a peer info yaml

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

intercoop-0.2.2.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

intercoop-0.2.2-py3-none-any.whl (39.2 kB view details)

Uploaded Python 3

File details

Details for the file intercoop-0.2.2.tar.gz.

File metadata

  • Download URL: intercoop-0.2.2.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for intercoop-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5efe431df088414094a4d111058d751f60326645ac23ac85f768843468798f8e
MD5 d1f44a13dbf05ed1150c45eb73828bc4
BLAKE2b-256 1b8f2a173de4718674d1e84e12e365b08db7199c5a510d7a905dd8ef670be164

See more details on using hashes here.

File details

Details for the file intercoop-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: intercoop-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 39.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for intercoop-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 048f83549936ff0b261c6ebbb08b0055ce55b391cef37cb111db49fa4d8a239b
MD5 f89db8fd919b980e6bf9bdb7f80b84fb
BLAKE2b-256 bbea59cc7e24c363a6df863d6c97cb3e3e5873704063e0338152d4daf9286f18

See more details on using hashes here.

Supported by

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