Skip to main content

Large scale VCS change management

Project description

Silver-Platter makes it possible to contribute automatable changes to source code in a version control system (codemods).

It automatically creates a local checkout of a remote repository, makes user-specified changes, publishes those changes on the remote hosting site and then creates a pull request.

In addition to that, it can also perform basic maintenance on branches that have been proposed for merging - such as restarting them if they have conflicts due to upstream changes.

Silver-Platter powers the Debian Janitor (https://janitor.debian.org/) and Kali Janitor (https://kali.janitor.org/). However, it is an independent project and can be used fine as a standalone tool. The UI is still a bit rough around the edges, I’d be grateful for any feedback from people using it - please file bugs in the issue tracker at https://github.com/jelmer/silver-platter/issues/new.

Getting started

To log in to a code-hosting site, use svp login:

svp login https://github.com/

The simplest way to create a change as a merge proposal is to run something like:

svp run --mode=propose ./framwork.sh https://github.com/jelmer/dulwich

where framwork.sh makes some modifications to a working copy and prints the commit message and body for the pull request to standard out. For example:

#!/bin/sh
sed -i 's/framwork/framework/' README.rst
echo "Fix common typo: framwork ⇒ framework"

If you leave pending changes, silver-platter will automatically create a commit and use the output from the script as the commit message. Scripts also create their own commits if they prefer - this is especially useful if they would like to create multiple commits.

Recipes

To make this process a little bit easier to repeat, recipe files can be used. For the example above, we could create a framwork.yaml with the following contents:

---
name: framwork
command: |-
 sed -i 's/framwork/framework/' README.rst
 echo "Fix common typo: framwork ⇒ framework"
mode: propose
merge-request:
  commit-message: Fix a typo
  description:
    markdown: |-
      I spotted that we often mistype *framework* as *framwork*.

To execute this recipe, run:

svp run --recipe=framwork.yaml https://github.com/jelmer/dulwich

See example.yaml for an example recipe with plenty of comments.

In addition, you can run a particular recipe over a set of repositories by specifying a candidate list. For example, if candidates.yaml looked like this:

---
- url: https://github.com/dulwich/dulwich
- url: https://github.com/jelmer/xandikos

then the following command would process each repository in turn:

svp run --recipe=framwork.yaml --candidates=candidates.yaml

Batch Mode

Use batch mode when you’re going to make a large number of changes and would like to review or modify the diffs before sending them out:

svp batch generate --recipe=framwork.yaml --candidates=candidate.syml framwork

This will then create a directory called “framwork”, with a file called batch.yaml with all the pending changes:

name: framwork
work:
- url: https://github.com/dulwich/dulwich
  name: dulwich
  description: I spotted that we often mistype *framework* as *framwork*.
  commit-message: Fix a typo
  mode: propose
- url: https://github.com/jelmer/xandikos
  name: dulwich
  description: I spotted that we often mistype *framework* as *framwork*.
  commit-message: Fix a typo
  mode: propose
recipe: ../framwork.yaml

For each of the candidates, a clone with the changes is created. You can introspect and modify the clones as appropriate.

After you review the changes, edit batch.yaml as you see fit - remove entries that don’t appear to be correct, edit the details for the merge requests, etc.

Once you’re happy, you can publish the results:

svp batch publish framwork

This will publish all the changes, using the mode and parameters specified in batch.yaml.

batch.yaml is automatically stripped of any entries in work that have fully landed, i.e. where the pull request has been merged or where the changes were pushed to the origin.

To check up on the status of your changes, run svp batch status:

svp batch status framwork

And to refresh any merge proposals that may have become out of date, run publish again:

svp batch publish framwork

Supported hosters

At the moment, the following code hosters are supported:

Working with Debian packages

Several common operations for Debian packages have dedicated subcommands under the debian-svp command. These will also automatically look up packaging repository location for any Debian package names that are specified.

  • upload-pending: Build and upload a package and push/propose the changelog updates.

  • run: Similar to svp run but specific to Debian packages: it ensures that the upstream and pristine-tar branches are available as well, can optionally update the changelog, and can test that the branch still builds.

Some Debian-specific example recipes are provided in examples/debian/:

  • lintian-fixes.yaml: Run the lintian-brush command to fix common issues reported by lintian.

  • new-upstream-release.yaml: Merge in a new upstream release.

  • multi-arch-hints.yaml: Apply multi-arch hints.

  • orphan.yaml: Mark a package as orphaned, update its Maintainer field and move it to the common Debian salsa group.

  • rules-requires-root.yaml: Mark a package as “Rules-Requires-Root: no”

  • cme.yaml: Run “cme fix dpkg”, from the cme package.

debian-svp run takes package name arguments that will be resolved to repository locations from the Vcs-Git field in the package.

See debian-svp COMMAND --help for more details.

Examples running debian-svp:

# Create merge proposal running lintian-brush against Samba
debian-svp run --recipe=examples/lintian-brush.yaml samba

# Upload pending changes for tdb
debian-svp upload-pending tdb

# Upload pending changes for any packages maintained by Jelmer,
# querying vcswatch.
debian-svp upload-pending --vcswatch --maintainer jelmer@debian.org

# Import the latest upstream release for tdb, without testing
# the build afterwards.
debian-svp run --recipe=examples/debian/new-upstream-release.yaml \
    --no-build-verify tdb

# Apply multi-arch hints to tdb
debian-svp run --recipe=examples/debian/multiarch-hints.yaml tdb

The following environment variables are provided for Debian packages:

  • DEB_SOURCE: the source package name

  • DEB_UPDATE_CHANGELOG: indicates whether a changelog entry should be added. Either “leave” (leave alone) or “update” (update changelog).

Credentials

The svp hosters subcommand can be used to display the hosting sites that silver-platter is aware of:

svp hosters

And to log into a new hosting site, simply run svp login BASE-URL, e.g.:

svp login https://launchpad.net/

Exit status

svp run will exit 0 if no changes have been made, 1 if at least one repository has been changed and 2 in case of trouble.

Python API

Other than the command-line API, silver-platter also has a Python API. The core class is the Workspace context manager, which exists in two forms:

  • silver_platter.workspace.Workspace (for generic projects)

  • silver_platter.debian.Workspace (for Debian packages)

An example, adding a new entry to a changelog file in the dulwich Debian package and creating a merge proposal with that change:

from silver_platter.debian import Workspace
import subprocess

with Workspace.from_apt_package(package="dulwich") as ws:
    subprocess.check_call(['dch', 'some change'], cwd=ws.path)
    ws.commit()  # Behaves like debcommit
    ws.publish(mode='propose')

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

silver-platter-0.5.14.tar.gz (120.2 kB view details)

Uploaded Source

Built Distributions

silver_platter-0.5.14-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

silver_platter-0.5.14-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

silver_platter-0.5.14-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

silver_platter-0.5.14-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded PyPy macOS 10.9+ x86-64

silver_platter-0.5.14-cp312-cp312-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

silver_platter-0.5.14-cp312-cp312-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

silver_platter-0.5.14-cp312-cp312-macosx_10_9_universal2.whl (4.6 MB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

silver_platter-0.5.14-cp311-cp311-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

silver_platter-0.5.14-cp311-cp311-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

silver_platter-0.5.14-cp311-cp311-macosx_10_9_universal2.whl (4.6 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

silver_platter-0.5.14-cp310-cp310-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

silver_platter-0.5.14-cp310-cp310-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

silver_platter-0.5.14-cp310-cp310-macosx_10_9_universal2.whl (4.6 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

silver_platter-0.5.14-cp39-cp39-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

silver_platter-0.5.14-cp39-cp39-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

silver_platter-0.5.14-cp39-cp39-macosx_10_9_universal2.whl (4.6 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

silver_platter-0.5.14-cp38-cp38-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp38-cp38-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

silver_platter-0.5.14-cp38-cp38-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

silver_platter-0.5.14-cp38-cp38-macosx_10_9_universal2.whl (4.6 MB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

silver_platter-0.5.14-cp37-cp37m-musllinux_1_1_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

silver_platter-0.5.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

silver_platter-0.5.14-cp37-cp37m-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file silver-platter-0.5.14.tar.gz.

File metadata

  • Download URL: silver-platter-0.5.14.tar.gz
  • Upload date:
  • Size: 120.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for silver-platter-0.5.14.tar.gz
Algorithm Hash digest
SHA256 b9a3af3d9e2bf2c9109ccfcf7056cd2b910aa1754edadd059cc410e30bb05d96
MD5 0d9204b70deecb2cd2e675311d319792
BLAKE2b-256 61f7dfb52bfbb73c8688a33f821e32dbabacfd92ccbd4110b156fe36bd2bf9ff

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59903f96dcf0541e9c5fea7fed0823d20116a352ebe0669340d88fa65deb31be
MD5 1feb1352508569c32a4bc04a6768bc6b
BLAKE2b-256 31ffee6efae04f435ff25cd8bda6f410ba456d41cbc7392b1852cff9692b3bd5

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6375ab0afd5c7443da92cff90245df69741e575fadb8d5f444f931ecdc7c9384
MD5 d5c48f15b8c9675dc45e15e82ad10dab
BLAKE2b-256 2f909d0a4812cad91d73126e02f1cdabb1dc19d823dc9ef5ba35ec58b3f7fee1

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b2635bb3e468a16b5bdac9b8ef7dd6d375e254f136b7fdabd78db561cdb8bac
MD5 af7463d77b8c68d676934ba12f8c7135
BLAKE2b-256 c0277958b04ca4a9fc595c8a9326405c817bfee79a1c8906e3723c0aa54ad515

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 63d8fa7204d8de8258efcd1f7b93cbf6e4ca458fc4a2fb6711b7e7c10a5c6ab6
MD5 a0d2367781c0b849d98cf405e95606cd
BLAKE2b-256 f71ca7b847f7bd0c0ca061eae4650b5a0467ee21f1923d8514df7beb4fa91050

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0b8e5b5260a0cba50153edeae3da267b29960ce9045048fe2101d701d9e6b46
MD5 ebe42a81a17fd457065f69b2fb56494a
BLAKE2b-256 2b41ea2301a6476cb191d3a510fe0c6d1a3919b63c9e867379a50a103063fcdf

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 71d90aa309c6290c585728137c20519cf7925b9c01dd162f52564e7ac1e552f8
MD5 13264d0e5a109242e19843148ff29046
BLAKE2b-256 7d425bc65e248fd7a3e98ebaf1ff58fa30ac2ec82d1b7bc850cca5859eae66a8

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50ae181e358b8049706759fcf3d0fdb05106fbef39588e416d7837d2ed39e065
MD5 85649c3444864e2e7bb4cedd67693976
BLAKE2b-256 96cad2f55d06ffd5d4b081be39c193c895c0695c20bd299d8b7e5544468198f7

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ae81f4f1d75f6c4eeb0dbb1e5781727068a237de568fa15abfad4b7d82717cb6
MD5 a4623f0bdcaca1693b45253114350d14
BLAKE2b-256 e1a689c4a46fdd2211225e1a2b43a9319c6990b195b20745bbf7c39947db7878

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bbcdc7cdb21444aeffd456445db314ae15481de153936dc64ec097a39b6a0d03
MD5 3590739d42fdd7d43d7ddefbf13582ea
BLAKE2b-256 b5466eae7307bc36372240a20133e2d10d804b051c02fde37e615c353a08b437

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 907c124c9854ad12d6ffd4886f892f0096149513c975d5acce697d32080af121
MD5 71ee5aafec9d2de27be3d540bc6d27cb
BLAKE2b-256 c331ebe6c352f4fe1b57ae2fa419c05c565b0a0f600937b6f17673b779325412

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b9ca766765017cd2db8814df58903723f246b79ec195a53cd41b48280d707b9
MD5 0e29812a32d64d9ede89b740f691f7a0
BLAKE2b-256 3407483c60351fe4569cd6ce9550604a5627928c89c99ece927c9e7f540061cf

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 86e0dbcd21b7126f637ae5b6532af85996ebff0948b31887f0ef4a2a67273cfa
MD5 6fc180992855e1fda1f38d6be60698cd
BLAKE2b-256 411044d0160b69fa86be6906d65734a964cde00f84423e5bab492655e9421488

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5d9d43079ab97aceb46fd31b8ed71dc6c149a48c17803fc810d2c3e7a6671dc3
MD5 343347ead02c3ea47fd17a8da30c25d7
BLAKE2b-256 960651fe08ec1fb94edf970e24f404c0988bb12a9975792316567d88036aa590

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c59f8254487f0f9edfa1338655d40b786c52e854dd60a3cd96b83b3df37b8182
MD5 d3dccf7649ca91b297697d93b44342db
BLAKE2b-256 e61adba2b4e73d1d0637423ecb58c62bca9292ee3f7941cf4c022d870aa0a003

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5a245526c1195e138500daf975d8439d965d8e7209e159c56cb1d69ca368782
MD5 cd3778f789fab29b795967b3158cb8ec
BLAKE2b-256 55da4d45212320dd4e1dcd1cf3d279ca9fd6e45c7728c10766ea490aeac6cc75

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fdea848a8384581a8f808dafd5a8e4ec1b1308a4f587ddea3bf96bef9d6bf9d
MD5 c51d683ba3cff5029e00df07ca942175
BLAKE2b-256 fe919b2223b838ef91295c87f03555fe3b51eb7513813e8d3de87a459ae70e6d

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9251e74f83f9df281128c18c0b3c4e7d1abb0adac6016827c7b48265d5d8a732
MD5 74229b782ddd38d437f9dde354d0f86a
BLAKE2b-256 f6e59a54e3cc47ddf79db20cb88ba07aa41428e607f3826af3fd1eab8494e0ec

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a5d25be793af5767691e8f837801c46dc7692794c9b97cb1f20469de204acb79
MD5 8161c8f1b027624c8c32ed25ed017938
BLAKE2b-256 be69240c76ce429840c28aa52104d5f55a2cb4a1923a2aa88020cfbaa39bac3f

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 40f9e399b1a7361297a234b9ab8bbd858c16a68ec55c1a335e839b5e61997f03
MD5 374c2d69222327e3c5ab96b8a8db05aa
BLAKE2b-256 880e2eee4dec6fcdb13ee90894f2516e43b8e782773ff65a963c28dd04175a33

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d62c76f11cd51cd8c84b5c2d8f6bf9f710b1bcedaeb18326c376f795e3514cbe
MD5 19a528592ddf676761623eab2f768afb
BLAKE2b-256 ea12fa1a15d4cd2606631ff3a0b759086d7bbf0efc43f11751e5c5271fdb93b4

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57eadcfed2f59a3991fa92c034db1e2692af9ec97574c492addd95a3399278ca
MD5 05532fd2eeaaaf8d84daef472c93453d
BLAKE2b-256 e4d9426f7c478c3e601b63608f3d0d9b374441561a9fc6874d717fedfff21639

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d0d41e5142b62db8d486cbfa41dbf3bc00e3abb54f25066fd35e6c2bd64de156
MD5 d5b2fdc727ee79a35f3ce8c20f79aaba
BLAKE2b-256 73dc9416cc0314ec7c901d1ac1d8c7a49b6ec7d78db64a2dfba86915c4fd1e9a

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b2cdc11891262b7b82a15b3d3bc9dc23fa92c90de3fb1d19b6c77c0210a15730
MD5 85feb195a3c1b3628c0971dae1012e63
BLAKE2b-256 8405ae209581b35d6316dc7ad3b58a23484fd7ddc92311325af7741bd260d2e0

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5d4dbb3e053853545b4c0e83769df684c31ca7880cb5f3bb42be9064093dea7f
MD5 efaa694c3c8fea2384ffc48aecd23be9
BLAKE2b-256 24a46254a12d7053c65b58a71614f94b193418098c07f7f417de4cf113c980bd

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ddd76a2ce4708462cf93f402c13126d994011dcbf5d1d0c130c6b92630925d2
MD5 8d1d7fe2f972b3252fcaa6ad519d4428
BLAKE2b-256 4d4d1a1d2150855ea455c32557e609c619cab8bc677d7e207a95bd5da13c22de

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb38e62345a0fa5e7df14379e7af43727262789e35970e157e5f7076015a4d1d
MD5 186ac825ae7d769c200effbe024f62a0
BLAKE2b-256 4f7d03409b7bf42ddf2ffb65081df949dc7ae174c7b57c52da8dcf9847d62449

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d7eea44da9980ce8d4a05d7e1fe32ae1d3d1aa62b7442eca0cc2c5e04dced328
MD5 d3ca3c21b199164a297fe38715fc8853
BLAKE2b-256 fa8e666e842dbeac96f881caac0b30f9919e5524ac172c2f8af97be1a510f80c

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7f6a10d0ef6613292fd8e1d1082e674db6e8d877bf0fb74ca2924cbe669ea752
MD5 e6d0c579bd2e300ed5da04b5d5521f05
BLAKE2b-256 ef0e54899833a45abee2fab1e0c8228d28089f537d77d02502a1c5b8f991b1a3

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e623929804d3464791e9628bd3d4fa08e2d926e5d6acd336eec0e392bd9ce423
MD5 28dc579536839de719eaa4913b31f899
BLAKE2b-256 319bb1654e447374531013f63ee29abd7012a259dfe954a8fecd1dde006c0fda

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab81a0158fc7152c3a298c050462f77c7cbeffc7f99e9458c6be5befdb2e7184
MD5 6dcbd6c95700b8b7b15f4901d67a9934
BLAKE2b-256 b146a8a5505ec50db60acf1d9b5c57300996ecbbb3f575eac6ecd6e5be2aea9f

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f39a027d16bf0fa488188ef7a6d9ba2e5be7f4650201c097bf66b726ceb69c71
MD5 a2e8dab31d8e4ba0f886cf001f16799e
BLAKE2b-256 2052170a205a93349b0abd210f49011b5d63aa20252ecd177eeaa08fea710416

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2fd609cd5a9ec5544146db4a5d05189cbb4fb613223c33afe844b8e33f074ece
MD5 5414c532db67e6bc803f931b45f87663
BLAKE2b-256 f7becf2bf56274fee245ea6afb22aa35b0db3e6c764986000832b3a9625a99b3

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 935d4f197fcf6c7b4cd645b1898207f50700f4ca842d0125c43b99215321d96d
MD5 ff6a712ab834b7ae1f7151a00839c06f
BLAKE2b-256 0455a86890cdfa16123b168cd43d95d2c9c8ad1d3f2bef744628f5386ea025a0

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 324103b6b6111b202361f62a40f79cee66ab7260c23268dbcc39ada41bfac550
MD5 3a57c75a1f82e487db2db6e54b327f02
BLAKE2b-256 5bae954ac358da03c814faac5b7e049c72d4a6443f4e0c6cd6aecdd01acdcb5a

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 878f87bcbc071a73ead8027c2effec415516b18335ae2bf5260afca957c5ce31
MD5 44ff516b6efc75544fb88df0db0265e1
BLAKE2b-256 6f2d5611e33b2663a8bbc0e294214ab7986a951063ba19cbacd59d35929b0953

See more details on using hashes here.

File details

Details for the file silver_platter-0.5.14-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for silver_platter-0.5.14-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d54daca45bedec4599b66fde043ca0e70a10d5240c52ddf43ed9c270e51fe00f
MD5 d701c19b4d4e517faa163c538eeee0a7
BLAKE2b-256 dd5850f000f0b039401ded087c7f2efa4961691fc7dd0785110e95fb16935d95

See more details on using hashes here.

Supported by

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