Skip to main content

SendScore for Python

A typed wrapper around the SendScore CLI, which checks a newsletter email before it goes out. Every language package runs the same binary, so they all return the same verdict.

Not published yet.

pip install sendscore

It also gives you the sendscore command, which takes the same arguments and exit codes as the CLI. To install only the command, use pipx install sendscore.

from sendscore import check, diff

verdict = check("issue.eml")
if not verdict["ready_to_send"]:
    for fix in verdict["top_fixes"]:
        print(fix["who"], fix["fix"])

check(raw_bytes, offline=True)
diff("before.eml", "after.eml")

A message that fails its checks is still a report, so check returns it. SendScoreError is raised only when no report could be made, and its exit_code is the CLI's. Receipt at SendScore does not prove inbox placement at Gmail or any other provider.

Pass timeout in seconds to check or diff to kill the CLI when it runs out. A killed CLI raises SendScoreError with exit_code set to KILLED, which is -1.

The binary

The binary installs with the package. pip install sendscore picks the wheel for your machine, on macOS 12 or later, Linux with glibc or musl, and Windows, for x64 and arm64. Nothing runs at install time, and nothing is downloaded when you use it. There is no source distribution, so a platform without a wheel gets a clear error from pip.

The package uses SENDSCORE_BIN, then that bundled binary, then the CLI on PATH if its version matches, then your user cache. Running from a source checkout, which has no binary, the first call downloads the pinned release from GitHub, and checks it against the SHA-256 values in the package before it runs anything, including a cached binary.

Metadata

Release files for sendscore 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for sendscore 0.3.0
File Actions
sendscore-0.3.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for sendscore-0.3.0-py3-none-win_arm64.whl
sendscore-0.3.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for sendscore-0.3.0-py3-none-win_amd64.whl
sendscore-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64, Linux musl 1.1+ x86-64 Details for sendscore-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
sendscore-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64, Linux musl 1.1+ ARM64 Details for sendscore-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
sendscore-0.3.0-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details for sendscore-0.3.0-py3-none-macosx_12_0_x86_64.whl
sendscore-0.3.0-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details for sendscore-0.3.0-py3-none-macosx_12_0_arm64.whl

Total release size: 25.2 MB

Release files / sendscore-0.3.0-py3-none-win_arm64.whl

Download URL sendscore-0.3.0-py3-none-win_arm64.whl
Size 4.0 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
2975f0381a90073dd1eabe6780c21e21a95db908cf611f31892c6fdd602b1e1e
BLAKE2b-256 checksum
How to use checksums
9bcd0265f6738906f877c67bd25d28819107121b40f6ab15c334bc6cac83c979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / sendscore-0.3.0-py3-none-win_amd64.whl

Download URL sendscore-0.3.0-py3-none-win_amd64.whl
Size 4.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
82d55ff0afa5123b406abad4f4ce810f722387856c24a33aee61412e7a429186
BLAKE2b-256 checksum
How to use checksums
9fb8c5ad1d2c7e93f6a2d3282b3399483077d3055da48a66efb2669e99bef045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / sendscore-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl

Download URL sendscore-0.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
Size 4.3 MB
Tags Linux glibc 2.17+ x86-64 Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
a6f0909ef61b0ebe879c586aadf8c89d028afed1128b31e46c6cd50218b07523
BLAKE2b-256 checksum
How to use checksums
165306800c6c941f232f419a3add94566bdf420a8a5e3ca92d15b6b50be29d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / sendscore-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl

Download URL sendscore-0.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Size 4.0 MB
Tags Linux glibc 2.17+ ARM64 Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
21ba6034ec3d2a3ca427924bfc07459abe97ab68033f8dcd2732a430c0a3e215
BLAKE2b-256 checksum
How to use checksums
5d8eedb727c44d7ae0b626d4927ab44d73d2c512613d938a05587b83d4cb4743
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / sendscore-0.3.0-py3-none-macosx_12_0_x86_64.whl

Download URL sendscore-0.3.0-py3-none-macosx_12_0_x86_64.whl
Size 4.4 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
b695b0d50f58d1f71f715e49d47c92e01b55fd6856da32b0f2ee84472d04f582
BLAKE2b-256 checksum
How to use checksums
bf72be6442b135c311c156e36b8b8d4bc3b1619b6bb9990fa7de9152d5940e7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / sendscore-0.3.0-py3-none-macosx_12_0_arm64.whl

Download URL sendscore-0.3.0-py3-none-macosx_12_0_arm64.whl
Size 4.1 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
9a526532c47cc02eb673839e96fab9726c57a93d4ff4ab0300387e2b62318670
BLAKE2b-256 checksum
How to use checksums
64dbc9fd7f8b471a5442849810df7928f54f97cc0318f3f02771376b2a28c2d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for sendscore 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for sendscore-0.3.0-py3-none-win_arm64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page