Skip to main content

Schema-level API coverage down to individual keywords.

Project description

TraceCov

Schema-level API coverage down to individual keywords.

Your API tests pass. But did you actually test the validation rules?

Hitting POST /users with {"name": "Alice", "age": 30} gives you 100% endpoint coverage—but you haven't tested empty names, negative ages, or strings that are too long.

TraceCov measures coverage at the schema keyword level: minLength, pattern, enum, minimum - not just endpoints.

API Coverage Report

Install

pip install tracecov

Quick Start

import tracecov
import requests

# Load your OpenAPI schema
coverage = tracecov.CoverageMap.from_path("openapi.json")

# Wrap your session to track requests
session = coverage.requests.track_session(requests.Session())

# Run your tests as usual
session.post("https://api.example.com/users", json={"name": "Alice"})
session.get("https://api.example.com/users/123")

# Generate the report
coverage.save_report()

What It Tracks

Dimension What it measures
Operations HTTP method + path combinations called
Parameters Path, query, header, cookie, body coverage
Keywords JSON Schema validation rules (minLength, pattern, etc.)
Examples Schema examples and defaults used
Responses HTTP status codes returned

Documentation

https://docs.tracecov.sh/

Feedback

Help shape TraceCov: 2-minute survey

Professional Edition

For advanced features, contact info@tracecov.sh.

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

tracecov-0.21.2.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracecov-0.21.2-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file tracecov-0.21.2.tar.gz.

File metadata

  • Download URL: tracecov-0.21.2.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tracecov-0.21.2.tar.gz
Algorithm Hash digest
SHA256 58436f7b02942cf66fd511ec615dd7dd0d11443eb1c243054bf3e2de62335634
MD5 d5e2d300b7fd0839808b8b500a196655
BLAKE2b-256 fd0e2f8b66c6edeb46ad6081aac090492917e84ed77ac9bbe83c380b8b31a5f6

See more details on using hashes here.

File details

Details for the file tracecov-0.21.2-py3-none-any.whl.

File metadata

  • Download URL: tracecov-0.21.2-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tracecov-0.21.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6299c63b0bf17d49ff6cb31d0e9da24f961f7146770341a4d6bcc9012d4bedc5
MD5 92df334d2a8c6a52084c87233e45650a
BLAKE2b-256 b02ab4ec1f3ae4842e68287b8d41d7e6990ea40d940fb242b51e0dc9f409717b

See more details on using hashes here.

Supported by

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