Skip to main content

aboutcode.federated

This is a library of utilities to compute ids and file paths for AboutCode federated data based on Package URL

Federated data utilities goal is to handle content-defined and hash-addressable Package data keyed by PURL stored in many Git repositories. This approach to federate decentralized data is called FederatedCode.

Overview

The main design elements for these utilities are:

1. Data Federation: A Data Federation is a database, representing a consistent, non-overlapping set of data kind clusters (like scans, vulnerabilities or SBOMs) across many package ecosystems, aka. PURL types. A Federation is similar to a traditional database.

2. Data Cluster: A Data Federation contains Data Clusters, where a Data Cluster purpose is to store the data of a single kind (like scans) across multiple PURL types. The cluster name is the data kind name and is used as the prefix for repository names. A Data Cluster is akin to a table in a traditional database.

3. Data Repository: A DataCluster contains of one or more Git Data Repository, each storing datafiles of the cluster data kind and a one PURL type, spreading the datafiles in multiple Data Directories. The name is data-kind +PURL- type+hashid. A Repository is similar to a shard or tablespace in a traditionale database.

4. Data Directory: In a Repository, a Data Directory contains the datafiles for PURLs. The directory name PURL-type+hashid

5. Data File: This is a Data File of the DataCluster’s Data Kind that is stored in subdirectories structured after the PURL components:

namespace/name/version/qualifiers/subpath:
  • Either at the level of a PURL name: namespace/name,

  • Or at the PURL version level namespace/name/version,

  • Or at the PURL qualifiers+PURL subpath level.

A Data File can be for instance a JSON scan results file, or a list of PURLs in YAML.

For example, a list of PURLs as a Data Kind would stored at the name subdirectory level:

gem-0107/gem/random_password_generator/purls.yml

Or a ScanCode scan as a Data Kind at the version subdirectory level:

gem-0107/npm/file/3.24.3/scancode.yml

License

Copyright (c) AboutCode and others. All rights reserved.

SPDX-License-Identifier: Apache-2.0

See https://github.com/aboutcode-org/vulnerablecode for support or download.

See https://aboutcode.org for more information about AboutCode OSS projects.

Metadata

Release files for aboutcode.federated 1.0.4

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

Source distribution (sdist)

Source distribution for aboutcode.federated 1.0.4
File Size Uploaded
aboutcode_federated-1.0.4.tar.gz 34.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aboutcode.federated 1.0.4
File Interpreter ABI Platform
aboutcode_federated-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 56.5 kB

Release files / aboutcode_federated-1.0.4.tar.gz

Download URL aboutcode_federated-1.0.4.tar.gz
Size 34.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3999244301fabd8a4fcc69c5015251b183983a090a2bfdbfe114bf97f2f05099
BLAKE2b-256 checksum
How to use checksums
dd61c803f75b5f7b1d3c43fb52085527980f012dd46ee2fd52c6f18f06b2dae6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 3, 2026.

Transparency log

Release files / aboutcode_federated-1.0.4-py3-none-any.whl

Download URL aboutcode_federated-1.0.4-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5fe1a709d620fd53864a7ec5dab1311cd50a392e627dfa9354d236c1c2b2387
BLAKE2b-256 checksum
How to use checksums
68b272af1562cdceb780dacbd4adb5891b19f89b3a7dd4da4d7ce2df7a76241b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.1.0

2 release files

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