Skip to main content

Software Heritage Deposit Server

Project description

Software Heritage - Deposit

Simple Web-Service Offering Repository Deposit (S.W.O.R.D) is an interoperability standard for digital file deposit.

This repository is both the SWORD v2_ Server and a deposit command-line client implementations.

This implementation allows interaction between a client (a repository) and a server (SWH repository) to deposit software source code archives and associated metadata.

Description

Most of the software source code artifacts present in the SWH Archive are gathered by the mean of :term:loader <loader> workers run by the SWH project from sourve code origins identified by :term:lister <lister> workers. This is a pull mechanism: it's the responsibility of the SWH project to gather and collect source code artifacts that way.

Alternatively, SWH allows its partners to push source code artifacts and metadata directly into the Archive with a push-based mechanism. By using this possibility different actors, holding software artifacts or metadata, can preserve their assets without having to pass through an intermediate collaborative development platform, which is already harvested by SWH (e.g GitHub, Gitlab, etc.).

This mechanism is the deposit.

The main idea is the deposit is an authenticated access to an API allowing the user to provide source code artifacts -- with metadata -- to be ingested in the SWH Archive. The result of that is a :ref:SWHID <persistent-identifiers> that can be used to uniquely and persistently identify that very piece of source code.

This unique identifier can then be used to reference the source code <https://hal.archives-ouvertes.fr/hal-02446202>_ (e.g. in a scientific paper <https://www.softwareheritage.org/2020/05/26/citing-software-with-style/>_) and retrieve it using the :ref:vault <swh-vault> feature of the SWH Archive platform.

The differences between a piece of code uploaded using the deposit rather than simply asking SWH to archive a repository using the :swh_web:save code now <save/> feature are:

  • a deposited artifact is provided from one of the SWH partners which is regarded as a trusted authority,
  • a deposited artifact requires metadata properties describing the source code artifact,
  • a deposited artifact has a codemeta_ metadata entry attached to it,
  • a deposited artifact has the same visibility on the SWH Archive than a collected repository,
  • a deposited artifact can be searched with its provided url property on the SWH Archive,
  • the deposit API uses the SWORD v2_ API, thus requires some tooling to send deposits to SWH. These tools are provided with this repository.

See the :ref:deposit-user-manual page for more details on how to use the deposit client command line tools to push a deposit in the SWH Archive.

See the :ref:deposit-api-specifications reference pages of the SWORDv2 API implementation in swh.deposit if you want to do upload deposits using HTTP requests.

Read the :ref:deposit-metadata chapter to get more details on what metadata are supported when doing a deposit.

See :ref:swh-deposit-dev-env if you want to hack the code of the swh.deposit module.

See :ref:swh-deposit-prod-env if you want to deploy your own copy of the swh.deposit stack.

.. _codemeta: https://codemeta.github.io/ .. _SWORD v2: http://swordapp.org/sword-v2/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swh.deposit-0.17.1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

swh.deposit-0.17.1-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file swh.deposit-0.17.1.tar.gz.

File metadata

  • Download URL: swh.deposit-0.17.1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/17.1.1 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.3

File hashes

Hashes for swh.deposit-0.17.1.tar.gz
Algorithm Hash digest
SHA256 fedd7d8ebb7a0dcea3f3afa180d514d6f4439af2e30d94733c9ed01fb425f23d
MD5 57e695b408651a163926c0995423c30d
BLAKE2b-256 361161d1a6f7ccb2e100467ddd11d8ad6af20b935d490a00b94fdd0da32d9a0d

See more details on using hashes here.

File details

Details for the file swh.deposit-0.17.1-py3-none-any.whl.

File metadata

  • Download URL: swh.deposit-0.17.1-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/17.1.1 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.3

File hashes

Hashes for swh.deposit-0.17.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9584794e0d355591dc6c8dcd7667fe7d336b298256733a53bcc1d93d231b65b3
MD5 fb399095b67ec31d776c048d29bd9c99
BLAKE2b-256 f44c1fc0a35edaff1b67bc822d3442612e2ee8acd873169a241a4b22b7de613d

See more details on using hashes here.

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