Skip to main content

is-aes

Command line and Python client for is-aesthetic.com. Requires Python 3.9 or later. No runtime dependencies. MIT licensed.

Install from PyPI, or run it without installing through uvx or pipx run:

pip install is-aes
is-aes vercel.com
uvx is-aes vercel.com
is-aes vercel.com --wait --timeout 120
is-aes vercel.com --json --wait
python -m is_aes vercel.com

Bare hosts and host/path inputs default to HTTPS: vercel.com becomes https://vercel.com/, and www.gov.uk/browse keeps its path. Explicit HTTP(S) URLs work too. Credentials, other schemes, malformed hosts, and localhost are refused by the client; the API also enforces public-URL safety checks.

The command fetches the latest report for the URL's host, or starts a scan if none exists. Without --wait, a queued/running job is printed immediately. With --wait, it polls at least every 3 seconds, respecting the API's Retry-After, until complete. --timeout s bounds requests and polling (default: 120 seconds). --json writes the raw JSON object (report or queued job), with no summary or progress text. Errors go to stderr and exit with status 1. --help and --version are available.

The API is public. If it is temporarily unavailable, the command asks you to try later. Findings are grouped by check id, ordered by reported points lost, and list the affected pages. Measurements come from the highest-loss occurrence.

Library

from is_aes import check, IsAesError

try:
    report = check("vercel.com", wait=True, timeout=120)
    if report["status"] == "complete":
        print(report["score"])
    else:
        print(report["status"])
except IsAesError as error:
    print(error.code, str(error))

check(url, *, wait=False, timeout=120, api_url=API_URL, poll_interval=3) is synchronous and returns the raw JSON dict. Time arguments are in seconds. api_url is the full endpoint for staging/tests; the CLI also accepts the IS_AES_API_URL environment override. Errors expose code (INVALID_URL, INVALID_OPTIONS, TIMEOUT, API_UNAVAILABLE, PRIVATE_SERVICE, HTTP_ERROR, or INVALID_REPORT) and status for HTTP errors. Failed scans include the API's explanation. Rate limits are surfaced; failed requests are not silently retried.

What the score means

The 0–100 score summarizes evaluated design checks across six domains: visual communication; information and findability; functional and interaction support; inclusion and adaptation; visual expression; transparency and agency. Essential checks carry most of the score. Recommended checks count only where the relevant surface exists. Bonus checks may raise the score but never lower it. Excluded checks do not count as failures. A null score means no trustworthy checks were evaluated, not a zero. The client displays the server's score and grade without recalculating them.

Reports reflect one public snapshot of up to 3 pages, at the viewports recorded in the report, with explicit coverage limits. Read the methodology for the rubric, sources, exclusions and scoring details.

See the documentation for API usage.

Metadata

Release files for is-aes 0.1.1

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

Source distribution (sdist)

Source distribution for is-aes 0.1.1
File Size Uploaded Provenance
is_aes-0.1.1.tar.gz 12.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for is-aes 0.1.1
File Interpreter ABI Platform
is_aes-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.5 kB

Release files / is_aes-0.1.1.tar.gz

Download URL is_aes-0.1.1.tar.gz
Size 12.0 kB
Tags Source
SHA-256 checksum
How to use checksums
310e00086d00a13929a3ef1f8936bcd342eaafac3e57c0c9ff2bfff4f654704e
BLAKE2b-256 checksum
How to use checksums
6c5c4c620af2560e6427d59026e49b46e2119dc79444ed2942fa61046adb465d
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 Oct 24, 2026.

Transparency log

Release files / is_aes-0.1.1-py3-none-any.whl

Download URL is_aes-0.1.1-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c7d0355ef3a56d99058690024ae67bc97a62055beb8e46f90e3dab2b606d9dda
BLAKE2b-256 checksum
How to use checksums
c239e4e781fcf9ca189e4d4d92c78bf220d681eb68f79fb6d369020e8ae45839
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 Oct 24, 2026.

Transparency log

Security for is-aes 0.1.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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for is_aes-0.1.1.tar.gz

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 Oct 24, 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