python-intercoop
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 portalapiexample: Flask based example of a target entity api
-
Fully reusable modules:
catalog: functions to manage a service catalog in a portalapiclient: encapsulates remote acces to the target APIpackage: encapsulates package marshalling/umarshalling, signing/verificationcrypto: 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 targetsuserinfo: access source user personal data
-
Target API:
keyring: gives access to peers public keys (relies onpeerinfo)remoteuserinfo: temporary stores the transferred data
-
-
Utilities:
translator: rewrites yamls by picking language on translatable stringsperfume: a Flask wrapper to enable dependency injection on Flask apps
Example scripts
portal-example-somillusio.py: somillusio portalapi-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)
| File | Size | Uploaded | |
|---|---|---|---|
| intercoop-0.2.2.tar.gz | 28.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|