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.

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.1

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.1
File Actions
sendscore-0.3.1-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details for sendscore-0.3.1-py3-none-win_arm64.whl
sendscore-0.3.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for sendscore-0.3.1-py3-none-win_amd64.whl
sendscore-0.3.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl Python 3 none Linux musl 1.1+ x86-64, Linux glibc 2.17+ x86-64 Details for sendscore-0.3.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl
sendscore-0.3.1-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.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
sendscore-0.3.1-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details for sendscore-0.3.1-py3-none-macosx_12_0_x86_64.whl
sendscore-0.3.1-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details for sendscore-0.3.1-py3-none-macosx_12_0_arm64.whl

Total release size: 25.2 MB

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

Download URL sendscore-0.3.1-py3-none-win_arm64.whl
Size 4.0 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
8ebb6ded618e5359dc928e120c2ee0ab0135b7e570c42c92163e07979a605cfa
BLAKE2b-256 checksum
How to use checksums
a48a8895db2521187ef4c1c5f1c633daac971a1f837990421eff0a3b7dd0ad83
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.1-py3-none-win_amd64.whl

Download URL sendscore-0.3.1-py3-none-win_amd64.whl
Size 4.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
d01bc7482be008958f9c032c39f63144dfc7df083cd481d69eabe1b3c61d3617
BLAKE2b-256 checksum
How to use checksums
b76bc2f8e358c10bb69171216c02421e86e0798d93ff5fd60685de1694eb8f83
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.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_1_x86_64.whl

Download URL sendscore-0.3.1-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
318d7e7d73b8f77eea73a5d2aaf8a6360542b4d87b0a1a4d7c900cf487005997
BLAKE2b-256 checksum
How to use checksums
76aa6e54e309aacd8b2a34da5f277a4e29fbff029b367319a9afbe67ae96d2b9
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.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl

Download URL sendscore-0.3.1-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
56cc5fefbc9d9053b2a155587260e05a50737c2bd84b6f246bd628ca73d26d49
BLAKE2b-256 checksum
How to use checksums
c1265ce800d0a83fcdd3db6031b1ef2a7a148f7164ee265c405b9fa2dba4a223
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.1-py3-none-macosx_12_0_x86_64.whl

Download URL sendscore-0.3.1-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
6f2ed52704989dfff66574da808c10e256891d1dcfb9050623f9673858e080c9
BLAKE2b-256 checksum
How to use checksums
2466a62c8a29ffd24e433fa835d3a4c923e3ba002dfa2b841631a6a31b775029
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.1-py3-none-macosx_12_0_arm64.whl

Download URL sendscore-0.3.1-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
4b08a9bda71e333cae4330a6e2f2f67df884036a273acba0acb133f9b7b1471b
BLAKE2b-256 checksum
How to use checksums
aa51c65137f7251c6c9911e8332947f0a9141ba5e2625ed9ccba86378fda08b6
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.1

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.1-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