Skip to main content

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

Release files for intercoop 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intercoop 0.2.2
File Size Uploaded
intercoop-0.2.2.tar.gz 28.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intercoop 0.2.2
File Interpreter ABI Platform
intercoop-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 67.3 kB

Release files / intercoop-0.2.2.tar.gz

Download URL intercoop-0.2.2.tar.gz
Size 28.2 kB
Tags Source
SHA-256 checksum
How to use checksums
5efe431df088414094a4d111058d751f60326645ac23ac85f768843468798f8e
BLAKE2b-256 checksum
How to use checksums
1b8f2a173de4718674d1e84e12e365b08db7199c5a510d7a905dd8ef670be164
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / intercoop-0.2.2-py3-none-any.whl

Download URL intercoop-0.2.2-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
048f83549936ff0b261c6ebbb08b0055ce55b391cef37cb111db49fa4d8a239b
BLAKE2b-256 checksum
How to use checksums
bbea59cc7e24c363a6df863d6c97cb3e3e5873704063e0338152d4daf9286f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page