spb/tools-spboucher-ai
Public
1{2 "slug": "pytest",3 "name": "pytest",4 "aliases": ["py.test"],5 "vendor": { "name": "pytest-dev team", "slug": "pytest-dev", "website": "https://docs.pytest.org" },6 "homepage_url": "https://docs.pytest.org/en/stable/",7 "docs_url": "https://docs.pytest.org/en/stable/",8 "repo_url": "https://github.com/pytest-dev/pytest",9 "license_url": "https://github.com/pytest-dev/pytest/blob/main/LICENSE",10 "product_type": "framework",11 "product_status": "active",12 "summary": "Python testing framework with plain assert statements, fixtures, parametrization and a large plugin ecosystem, the de facto standard for Python test suites",13 "description": "pytest is a testing framework for Python maintained by the pytest-dev team under the MIT license. Tests are ordinary functions that use the built-in `assert` statement; pytest rewrites assertions to produce detailed failure messages without a special assertion API. Fixtures provide dependency injection for setup and teardown with configurable scope, and parametrization generates test cases from data tables.\n\nThe plugin architecture is its ecosystem: pytest-cov adds coverage, pytest-xdist distributes tests across CPU cores or machines, pytest-asyncio supports coroutines, Hypothesis integrates property-based testing, and Playwright ships an official pytest plugin for browser tests. pytest also runs unittest and nose-style suites, so adoption in legacy codebases is incremental. It is the default runner in most scientific Python projects and in tooling such as uv-managed packages. Limitations are mostly conceptual: fixture resolution through function arguments can be opaque in large suites, and plugin interactions sometimes complicate configuration in `pyproject.toml` or `pytest.ini`.",14 "capabilities": ["Plain assert statements with detailed introspection", "Fixtures with scopes and dependency injection", "Parametrized tests", "Plugin system (coverage, parallel execution, async, browsers)", "Compatibility with unittest suites", "Marker-based selection and configurable collection"],15 "workflows": ["Run a package's test suite in CI with coverage", "Parallelize slow tests across cores with pytest-xdist", "Drive browser tests through the Playwright plugin"],16 "advantages": ["Minimal boilerplate", "Very large plugin ecosystem", "MIT license"],17 "limitations": ["Fixture magic can be hard to trace in large suites", "Plugin interactions complicate configuration"],18 "prerequisites": ["Python; install with uv or pip"],19 "audiences": ["Python developers", "Data scientists testing pipelines", "Package maintainers"],20 "alternatives": [],21 "comparison_notes": "The standard library's unittest module is the built-in alternative with a class-based, xUnit-style API; pytest runs those tests as well and is generally preferred for new code because of fixtures and assertion rewriting.",22 "categories": [{ "slug": "testing-qa", "primary": true }],23 "tags": ["testing", "python", "open-source", "cli"],24 "use_cases": [],25 "operating_systems": ["macos", "linux", "windows"],26 "execution_modes": ["local", "cloud"],27 "interfaces": ["cli", "library"],28 "deployment_models": ["desktop"],29 "integrations": ["pytest-cov", "pytest-xdist", "Hypothesis", "Playwright", "GitHub Actions", "PyCharm", "VS Code"],30 "data_formats": ["Python", "JUnit XML", "pyproject.toml"],31 "languages": ["Python"],32 "source_model": "open-source",33 "license_spdx": "MIT",34 "pricing_model": ["open-source", "free"],35 "self_hostable": true,36 "sources": [37 { "url": "https://docs.pytest.org/en/stable/", "type": "official_site", "title": "pytest documentation", "supports": ["name", "summary", "capabilities"], "checked_at": "2026-11-02", "note": "pytest.org redirects to the documentation site" },38 { "url": "https://github.com/pytest-dev/pytest", "type": "repository", "title": "pytest-dev/pytest", "supports": ["repo_url", "source_model"], "checked_at": "2026-11-02" },39 { "url": "https://github.com/pytest-dev/pytest/blob/main/LICENSE", "type": "license_page", "supports": ["license_spdx"], "checked_at": "2026-11-02" }40 ],41 "confidence": "high",42 "discovery_method": "editorial-research",43 "depth": "standard",44 "editorial_status": "reviewed",45 "visibility": "public",46 "featured": false,47 "author": "batch-B1"48}49