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.19.tar.gz (51.6 kB view details)

Uploaded Source

Built Distributions

silver_platter-0.5.19-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.19-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.19-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.19-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.19-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.19-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.19-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.19-cp312-cp312-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

silver_platter-0.5.19-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.19-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

silver_platter-0.5.19-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.19-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.19-cp311-cp311-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

silver_platter-0.5.19-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.19-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

silver_platter-0.5.19-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.19-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.19-cp310-cp310-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

silver_platter-0.5.19-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.19-cp310-cp310-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

silver_platter-0.5.19-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.19-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.19-cp39-cp39-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

silver_platter-0.5.19-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.19-cp39-cp39-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

silver_platter-0.5.19-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.19-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.19-cp38-cp38-musllinux_1_1_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

silver_platter-0.5.19-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.19-cp38-cp38-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

silver_platter-0.5.19-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.19-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.19-cp37-cp37m-musllinux_1_1_x86_64.whl (5.1 MB view details)

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

silver_platter-0.5.19-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.19-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.19.tar.gz.

File metadata

  • Download URL: silver-platter-0.5.19.tar.gz
  • Upload date:
  • Size: 51.6 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.19.tar.gz
Algorithm Hash digest
SHA256 fe0c79175365bd1dbdd232b0165289c408a5df587f124e68a525cd73e5935295
MD5 b954ce40d3448805ec65f3a616a7c710
BLAKE2b-256 17c54f4531a9e9939c52da71478403c95eee798101a23f8f8a88d5055aedcdaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00f541ebabfe415ac89daf40fba54755d3e105382b73442c039e2b494e722184
MD5 60af580df7902eaef8cfef97fbbde0d6
BLAKE2b-256 7a5b939afb4a40ae4a512cec3fc819f8cb978b0d9717b935a73cb9508660a066

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0073c92957412762f72d135af3f520483636d52c37c1a8f45536097000b4ea1d
MD5 928136349e1add1af65a94321cbfb098
BLAKE2b-256 1933885723fc7ca619793c29a1749ae27a4cc08ea4a05ef0b17ed35a6e37c0e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0840faa9616465bdcf1ca6898c8dc1265709900c346892989fa68b4a0804be33
MD5 70f044b40b81f73b7728a0c704438271
BLAKE2b-256 9501d8e0789e6ed95a4ab8e4e05bd59b1449bb5a39a5c27e08bca5c4947b325c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 95790578eb2688731272061c714b2e9f34d048379e109d18f6822ca346d20057
MD5 d050e34095e3285847cd726e567665c4
BLAKE2b-256 7e4e7ace48e18cc1f26a45ee5f6a10444323854621c4fcc2d17bbdff27179efd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0fefecf8ebc8655682555fa179a0ce156992081a903d80f817f25681d2010ac
MD5 1c24a779f193d4014916f3cf9e7fd2ca
BLAKE2b-256 dec7ce975408a7021e5825a0a5cfb696a17acc550e87018275ff4bc7297dad45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 017e58ca73959642ebdfc559013e277c80d8fa44a3ef4e6fd72f96943188c33f
MD5 9edc5096660370bfff082d45fbfc75e8
BLAKE2b-256 7b95b6b287b623be3d96956358017acb8a183b7321426dffad131a1933cdbd65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4bbbfd03820146d054e0002851535670cb23dbbf559c2e84c4edc0af6e890f98
MD5 d87994ed175246f40de615e6b03240b0
BLAKE2b-256 a652760ab53329d60a8534483df20bdcede6b906dbdca4714b0a74481f4d454a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2bbff25adab4bb2fb2434c2c959c9b345686b3007524e6bfdb424a9f593a151a
MD5 f6d9f3b6dbcd9276f3a23df7f0a8c108
BLAKE2b-256 5966ad81304bc5b9d6a98ada6288e9fb3d6a4a3a7d41f8b15b47f6db58d92822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e2798a2ed743446d9883e905dc8fd8f03cc5c2217068029b1f2fbe4ae6aca001
MD5 13c77720827cc8cb617db0432c17be50
BLAKE2b-256 2ce5c63c1c58687aa4ceddf4a5ac766a745eb758725c7d12a1d60f46441f252b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a9129d44ef9bfb57de88bb0ba52b2e02b8eff6f9ea7a718d741b708c44afa8f4
MD5 fdf13b29f6a1f9d872f8fd5b28aaf1c4
BLAKE2b-256 4d5e4190974f90ab14b05ea1bf2165c76dc54963ddea28ed454a6ab6fd13ee5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2f203906eafb1e9d9373992966f4429c96b019f8d1f3edd5af0c2c7da598db1
MD5 2021511a426f519cfaf6672e5fb651d2
BLAKE2b-256 9d95ec0cb44cc613dc1408dbfd158ed2b5de77401202b5d9b97a8693f0d039ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d5f40fdf9f586c03f528a9483659552942625c19cd2250378badb156b677c8e1
MD5 9360c42d2ec73e90b6ec6d9db947bf66
BLAKE2b-256 3c69af8657d4832f01acb08de569c67555560dd9a1b58c184904f8079fbdd368

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b99527e0ac16143930940705ff61223f33aafa4ecc38afb79047e08f7fd7baea
MD5 bc9de0943a34c51e46f52f343bdab588
BLAKE2b-256 c4425f0f9203202874378320d1bf7feae73a812e48fa2e66cfc34eeeded859ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d4bbcbd3c9d8db382ae9006df59ae5b790ab75dc8d297f58e388c13d21f1b8cd
MD5 27e7252a296fa0a53a0b16140e6b3065
BLAKE2b-256 e9ae1b2a46ba49538690beeda4a15b5920139829d5b8c98c6a5aa389fc715f87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e07aebd1cc6e970d10d7e2bf3c6ff9e3acca706ca657eda8bdf629c30539c668
MD5 91f4b0b3798e4c18868dcbf39894aed9
BLAKE2b-256 60b70c7e6e0d9b297e730e0f8aa8c8565086e463d800e7b6a46a78a1cbcd9d6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9b7c52dce704c3d29c69294c5651fef78cfe2779a7ee75ec96327b1acd29f93
MD5 2f2713e5d251f6feb20cd55cb5b21d4c
BLAKE2b-256 69aacf45fd4e43dbed33fccd928e55909b9a06ab1f5f662afd180923de96ff60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c04de051de33d5c5232089bec941d0498436e89314a73336aa8d6b52a47f11a0
MD5 77adf949a4a1fc1de37d61e527adf006
BLAKE2b-256 8c5757db8946eba6359747291bb566a326fdc1c70c0c2208957e0f33dbe0b686

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5efa280fd6dd9c3957f48a72222ba2b1ad44dff0743957d878061260bd244838
MD5 89b0718af2a54c4a8efe163c2f2c62a2
BLAKE2b-256 3f6af1170aae4498a3082b5ac764a4df9247847121c840f5a44f244b1f7bbad3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9dd67b043b931b81c641bf6268e1068494a22a2bc8a1fa7d6f6dee8ea1e63bfb
MD5 f1f3158a029d420dc3661a2305308388
BLAKE2b-256 913d97b317145c7cda3eaddd41353eb8b2b89a108663c9121c70871bb422e09e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9273d03d090b5f279659dbe9700320ce4bec0c780c52cd530e5ddd3668b5c888
MD5 5f7b6fce50adbf98bfe6e8e1ddd849a3
BLAKE2b-256 e309d6e2326966eefa8bbc85d50b3619f8816352749bb75e596f3adcf1d1c5fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e02f70cb51bdb8395f80379d969593f002ab1be9fcf94eef618c7b7ad6e5bd18
MD5 c2ac7e166606260db9eebb89343478f4
BLAKE2b-256 17ffb69a903eaea50fa21d8c893d7a9201e2aeb92ece71a3af06b103a3a457c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b5e64074cceab36c9e34552c76383828e9e70b694167c306010532f73f4ff1d9
MD5 db124e7339fb4b0b1e4c5f30e715ca24
BLAKE2b-256 3dc4045ce7a58d7f47b79be983f0869aaf44f65454016c70947763ca1c6a6b8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7420ef1ffed06fb32d5f3f35a561591adbd7592e5e0461c5bd4ca0d02cc157c7
MD5 76b94ac2d8b68336170c0d50b3a7a350
BLAKE2b-256 738a3191400f268067693d3a7af01b0da5c9a36dbdced1563e8d102ddd006aba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 37f145c7d1bd26de124dfa752b054a5c78128f05ad792159062c45080ac784f7
MD5 3bfc0b4a4817ba965616f909a2419cb3
BLAKE2b-256 f9cb05338987e27c9cde34f615cbfb0257bf102c69e3ebe82d4db34dabb70c1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b37758dfe76698aa92d4be8dd85e1634e2cd01c10bad72e778d8fe7d2f0de2a
MD5 b2aa093a1b96eece0e5b0520d0027582
BLAKE2b-256 19afa537f83561658344d70bc9cc7208d381afc64e6aed5e1e828f718787cfdb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be2bc1dac001e806eb7ae631f79a58f6f78e1b57795e09578518ebb72fb6ccf4
MD5 36a8b3249ecb6714193f1742fae35b5d
BLAKE2b-256 3a4e58a45b1c4b009442570b6b8f7aac1a878c38f5a75ae85465a70719aabd23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 23ceacb69626d1b07428be18b11d3f5356cc5f3f9cf9138cd6eb8a6725616c1d
MD5 858461d7d746b7c41aad5793008afb8f
BLAKE2b-256 cb4ea22f921f213639817c380344800630f1ca5ebd5946b6ec75ecce965d2c03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 8b5b78484773a6ce1199d9ef7a546a43cb6396dcf5432112fdc1489579aa54cd
MD5 c3377287fc9623ec53a85c221bacca6b
BLAKE2b-256 04368e0e08896c9642cd79ff99c08bd4e66b7f5991560c8281dcb142ae0eacc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9bf1bb86c1ed522c4765b9b9619289854155544d4c2efd787c8a033df6ac4b6a
MD5 9fd75a434d1d193db5552eb5ea686efb
BLAKE2b-256 55e1b495141e53ee7e6eb882f3299c7512e3381bbb4e529cbf192fb8b7fbc645

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 832f560bb30c601c2fcae2cf72d9cfcec566e038b7b91f1388949ff69b70ce7c
MD5 bd6fd514fd5e87f83c52ba8859733770
BLAKE2b-256 be8968921738ffa91923f45e9b9e73b19b9067c1e0db78fff0920bcb5590a79f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9044e0180316a0ba179ab9123aab199e89a89b7be146fea35674410c1a13de24
MD5 befbc9e7d937d303bba434d7c60caf33
BLAKE2b-256 6c976eab7a837f7151f7d64ca57a3670d6585abc0b3f5da8c9e2e27a7f7bae04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 97eb50f2a99d70a3b49cae953bbb51f1c7f79307873c761995efb5fe5e3db6d2
MD5 79d6586eaff0465ab7d9840c748aa7ad
BLAKE2b-256 b20e0a35fad8e402d2a773c13473798cd5dd593ea029b53d4de76013d2612375

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3a81ee85c7d04b1c481f1d1a702f451f91d6ef942cb28500786788e89b4206c1
MD5 53d268adeece014c6b704ce426b80888
BLAKE2b-256 73907be1f3f3bcde6c75eda16e7217f1a00b49819a30f672a68e407f07385b50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 488f15d30f0ce11c2fabcb0aaf995647db9d84fc50fe3b4d2ced74cb2b8928f2
MD5 ec4b6c6738c441c89d57f8ed95c6b5cd
BLAKE2b-256 89b7eb2dd5271b790254abe89d44737ef8115eb9121cf9a3aee9445865e48c63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2557b53a493c9df490f4fff2b29c102d4232f393bddeff8f93efebc5e06367c
MD5 e16662d41279ff9f85fe69fb62fa7b0c
BLAKE2b-256 5d3b01c428897ca9e9e591cd59cc85dc16b69231cdad60d5c233e6f9aee1b6fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for silver_platter-0.5.19-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9b0041317434035014fc66f0c4a57bf127139967b772eb251910cbd519d37966
MD5 b002e21e2749fbe7e856361e1858be90
BLAKE2b-256 bdaee0469ef3b6a73a33e132e5378acd1a83d293ccffa932c890f2b1414867f9

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