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 virtualenvwrapper but any virtual env tool should work the same.

In the example below we will create a new objstorage using the pathslicer backend.

~/swh$ mkvirtualenv -p /usr/bin/python3 swh-objstorage
[...]
(swh-objstorage) ~/swh$ pip install swh.objstorage
[...]
(swh-objstorage) ~/swh$ cat >local.yml <<EOF
objstorage:
  cls: pathslicing
  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 rpc-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. In an other terminal, you can import all the files from a local directory in this objstorage:

~/swh$ workon swh-objstorage
(swh-objstorage) ~/swh$ cat >remote.yml <<EOF
objstorage:
  cls: remote
  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:

    ~/swh$ npm install -g azurite

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

    ~/swh$ 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-6.0.1.tar.gz (126.6 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-6.0.1-py3-none-any.whl (128.6 kB view details)

Uploaded Python 3

File details

Details for the file swh_objstorage-6.0.1.tar.gz.

File metadata

  • Download URL: swh_objstorage-6.0.1.tar.gz
  • Upload date:
  • Size: 126.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for swh_objstorage-6.0.1.tar.gz
Algorithm Hash digest
SHA256 c6a0f8a961b5c492bb6c1bf60dd7f5cb664c95ba3ed61d6a4e9056e56f333d31
MD5 85ad9f0b3469a2cc6c3367eda33485f7
BLAKE2b-256 decc9268fa4a401d413576f916b8ecc6785b286bf74498482f6b1cff5030e70b

See more details on using hashes here.

File details

Details for the file swh_objstorage-6.0.1-py3-none-any.whl.

File metadata

  • Download URL: swh_objstorage-6.0.1-py3-none-any.whl
  • Upload date:
  • Size: 128.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for swh_objstorage-6.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1f836ebe80b4bfca682e8ea829d6140035f00a33529300ba62354784112e37c
MD5 533d8c8d5f9a0a00695376a98410ee1c
BLAKE2b-256 b087e6e89ba23702ccc8b537dfc1dc3842ea7a82bd5c083bb92b4569744e9c44

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