Skip to main content

oidfed-collector: The OpenID Federation Entity Collection Service

This project implements the OpenID Federation Entity Collection specification.

Installation

To install the oidfed-collector, you can use pip or Docker.

Using pip

pip install oidfed_collector

Using Docker

docker pull ddgu/oidfed-collector:latest

Configuration

The service accepts a configuration file in JSON format. You can specify the configuration file using the CONFIG environment variable. By default, it looks for config.json in the current directory. The repository includes an example configuration file config.json. You can modify it according to your needs. Here is an example configuration with the default values:

{
    "port": 12345,
    "log_level": "info",
    "api_base_url": "/collection",
    "cache": {
        "ttl": 300,
        "max_size": 1000,
        "cleanup_interval": 60
    },
    "session": {
        "max_concurrent_requests": 100,
        "ttl": 30
    }
}
  • The port specifies the port on which the service will run.
  • The log_level can be set to debug, info, warning, error, or critical.
  • The api_base_url is the base URL for the API endpoints.
  • The cache section configures the caching behavior, including time-to-live (ttl), maximum size in items, and cleanup interval.
  • The session section configures HTTP session management, including maximum concurrent requests and session time-to-live (ttl).

Running the Service

To run the service, you can run it directly as a Python module or from a Docker container.

Using Python

python -m oidfed_collector

Using Docker

docker run -d -p 12345:12345 -v $(pwd)/config.json:/config.json ddgu/oidfed-collector:latest

We also provide a docker-compose.yaml file for easier deployment, which mounts the configuration file from the current directory. Modify to your needs and use it as follows:

docker-compose up -d

Usage

Once the service is running, you can access the API at http://localhost:12345/collection. The service supports a single endpoint for entity collection as defined in the OpenID Federation Entity Collection specification.

Development

To contribute to the development of oidfed-collector, you can clone the repository and install the dependencies using poetry:

git clone https://github.com/dianagudu/oidfed-collector.git
cd oidfed-collector
poetry install

You can then run the service locally:

poetry run oidfed-collector

If you wish to build the Docker image locally, note that we provide a multi-stage Dockerfile, with separate targets for development and production. You can build it with:

docker build --target development -t oidfed-collector:dev .
docker build --target production -t oidfed-collector:latest .

License

This project is licensed under the MIT License.

This project includes code from fedservice (https://github.com/SUNET/fedservice), licensed under the Apache License, Version 2.0. Modifications were made to adapt it for this project.


This work was started in and supported by the Geant Trust & Identity Incubator.

Trust & Identity Incubator logo

Metadata

Release files for oidfed-collector 0.3.1

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

Source distribution (sdist)

Source distribution for oidfed-collector 0.3.1
File Size Uploaded Provenance Actions
oidfed_collector-0.3.1.tar.gz 19.5 kB Without provenance Details for oidfed_collector-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oidfed-collector 0.3.1
File Interpreter ABI Platform Actions
oidfed_collector-0.3.1-py3-none-any.whl Python 3 none any Details for oidfed_collector-0.3.1-py3-none-any.whl

Total release size: 43.3 kB

Release files / oidfed_collector-0.3.1.tar.gz

Download URL oidfed_collector-0.3.1.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0b04f8c55c8f49cb8108d61b1d7eb5ac4a82b5c0a63c3e4528b191f947feb0ce
BLAKE2b-256 checksum
How to use checksums
154e693507affb936b602130bb19f492ac63cfe7a8815180aa93cca9939941e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.11.13 Linux/6.11.0-1018-azure

Release files / oidfed_collector-0.3.1-py3-none-any.whl

Download URL oidfed_collector-0.3.1-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfeec2eb7366aaf5effd6cf8cff371beb0946955f1121ff7c757b9f69e3a7600
BLAKE2b-256 checksum
How to use checksums
906e41f1aba50a5832e94d796dd7c7d90ce3b7289f28fe6b655eabdd7e2eac34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.11.13 Linux/6.11.0-1018-azure

Security for oidfed-collector 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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