Skip to main content

"A library for AboutCode PURL-based federated identifiers"

Project description

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.

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

aboutcode_federated-1.0.1.tar.gz (80.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aboutcode_federated-1.0.1-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file aboutcode_federated-1.0.1.tar.gz.

File metadata

  • Download URL: aboutcode_federated-1.0.1.tar.gz
  • Upload date:
  • Size: 80.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aboutcode_federated-1.0.1.tar.gz
Algorithm Hash digest
SHA256 48cd982d2a2d204b9c14e74bb1d52f7cd49bcbf8cfcf6e269c47f25574d09668
MD5 a33f064231077c954d84ea5a11f33162
BLAKE2b-256 36e7f5d7ce409045b541c82278bd9477431e4e7efcb255a111bc0c8f790c486d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aboutcode_federated-1.0.1.tar.gz:

Publisher: pypi-release.yml on aboutcode-org/aboutcode.federated

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aboutcode_federated-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aboutcode_federated-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c5bd1e968a449b6065c0c1567cf76aff108bf0a9ca25f05a3eb638bf6ef61400
MD5 aa45f4c5c50a98a517123f2aae8be6a9
BLAKE2b-256 627be6073a67e48c1fdb4b5da9c1e4dc16e221a755d99762b45526824e211ac4

See more details on using hashes here.

Provenance

The following attestation bundles were made for aboutcode_federated-1.0.1-py3-none-any.whl:

Publisher: pypi-release.yml on aboutcode-org/aboutcode.federated

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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