Skip to main content

Software Heritage object storage

Project description

Content-addressable object storage for the Software Heritage project.

Quick start

The easiest way to try the swh-objstorage object storage is to install it in a virtualenv. Here, we will be using [[https://virtualenvwrapper.readthedocs.io|virtualenvwrapper]]_ but any virtual env tool should work the same.

In the example below we will create a new objstorage using the [[https://docs.softwareheritage.org/devel/apidoc/swh.objstorage.html#module-swh.objstorage.objstorage_pathslicing|pathslicer]] backend.

~/swh$ mkvirtualenv -p /usr/bin/python3 -i swh.objstorage swh-objstorage
[...]
(swh-objstorage) ~/swh$ cat >local.yml <<EOF
objstorage:
  cls: pathslicing
  args:
    root: /tmp/objstorage
    slicing: 0:2/2:4/4:6
EOF
(swh-objstorage) ~/swh$ mkdir /tmp/objstorage
(swh-objstorage) ~/swh$ swh-objstorage -C local.yml serve -p 15003
INFO:swh.core.config:Loading config file local.yml
======== Running on http://0.0.0.0:15003 ========
(Press CTRL+C to quit)

Now we have an API listening on http://0.0.0.0:15003 we can use to store and retrieve objects from. I an other terminal:

~/swh$ workon swh-objstorage
(swh-objstorage) ~/swh$ cat >remote.yml <<EOF
objstorage:
  cls: remote
  args:
    url: http://127.0.0.1:15003
EOF
(swh-objstorage) ~/swh$ swh-objstorage -C remote.yml import .
INFO:swh.core.config:Loading config file remote.yml
Imported 1369 files for a volume of 722837 bytes in 2 seconds

Test dependencies

Some tests do require non-python dependencies to be installed on the machine:

  • Ceph: the ceph executable can be used to run winery tests. When the ceph binary is available, the winery tests will try to create a real ceph Rados Block Device (rbd) pool to run.

  • Azurite: the azurite tool is needed for Azure backend tests. Since it’s a npm package, you can install it using:

    npm install -g azurite

    Note: you may want to configure your npm setup so it uses ~/.local as prefix for global installations:

    npm config set prefix '~/.local/'

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

swh.objstorage-2.8.0.tar.gz (105.7 kB view details)

Uploaded Source

Built Distribution

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

swh.objstorage-2.8.0-py3-none-any.whl (115.2 kB view details)

Uploaded Python 3

File details

Details for the file swh.objstorage-2.8.0.tar.gz.

File metadata

  • Download URL: swh.objstorage-2.8.0.tar.gz
  • Upload date:
  • Size: 105.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for swh.objstorage-2.8.0.tar.gz
Algorithm Hash digest
SHA256 59554b35a32f73da1ace18bcc4a3f72a9cf20345427adec5dfa47ddcd6123ac2
MD5 4ccb0db1e9c5ef3a2ac867e363263b38
BLAKE2b-256 f5c10f9fb067c5dac8d0fe4d28781a4185a6b0cf976c5344825c3abdb02f5960

See more details on using hashes here.

File details

Details for the file swh.objstorage-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: swh.objstorage-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 115.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for swh.objstorage-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02085edd1cd82be7682d7b444e27bed2324442af1a8c80c37d634b00909bd4e2
MD5 95a01849670d2a74cbb7f5193c05ea9c
BLAKE2b-256 bd3b8bb58c2029689860a0ed7199eeb3ffe16b948a523bbaa78900b4a37d2517

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