$npx skillfedfor your agent

snob-lib

A tool that only selects meaningful python tests to run.

With conditionsPyPI TestingReleased Jan 202594.3K downloads / moMITPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — snob_lib-0.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl · snob_lib-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl · snob_lib-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
v0.1.0 · released 2025-01-11 · Python >=3.8

Yes, if you work in a large Python codebase where full test suite runs are slow and you want faster local feedback during development. The tool is actively maintained, has no runtime dependencies, and carries permissive licensing. The caveat: wheel availability only for Python 3.10+ may limit adoption on older projects despite the >=3.8 requirement claim, and static analysis cannot catch dynamic imports or runtime side-effects, so it should complement rather than replace CI regression testing.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python >=3.8 and Git for change detection; pytest plugin mode requires pytest to be installed separately.
  • Medium install friction due to compiled wheels across multiple platforms and Python versions (3.10, 3.11).
  • Package is actively maintained with recent activity, though only a single release so far.

License · maintenance · safety

MIT (permissive) — MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.

last release 2025-01-11 (580 days) · last repo commit 2026-06-28 · 69 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 94,273 downloads/mo, #13,335 on PyPI

Verify before relying

pip install snob-lib

# As CLI: list affected tests based on git changes
snob $(git diff --name-only) | xargs pytest

# Or as pytest plugin: test changes since a commit
pytest --commit-range main..HEAD
  • Whether the package works with Python versions below 3.10 despite claiming >=3.8 support (wheels only provided for 3.10 and 3.11).
  • Performance characteristics on codebases smaller than the 'million line' example mentioned in the description.
  • Accuracy of test selection when projects use dynamic imports or runtime side-effects beyond static analysis.
Same gist for agents: .md · .json

What it is and what it does

Snob is a test selection tool that analyzes your Python project's static import dependencies to determine which tests are affected by code changes. Rather than running your entire test suite on every change, it builds a dependency graph and outputs only the tests impacted by modified files, dramatically reducing feedback time during development.

The tool works as both a standalone CLI (piped with git diff and pytest) and as a pytest plugin. It's designed for local development workflows in large codebases where full regression testing would be prohibitively slow. Snob does not predict test failures—it selects tests based on static dependency analysis—and is explicitly not intended to replace CI or full test suite runs, but to accelerate the inner development loop by often skipping 99% of irrelevant tests.

Use it for

  • Speed up local development by running only tests affected by your current code changes instead of the full suite.
  • Reduce CI feedback time by using Snob to filter test runs to changed modules in pull request pipelines.
  • Identify test coverage gaps by visualizing the dependency graph between code and tests using Graphviz output.
  • Exclude slow integration tests or external API tests from automatic runs while keeping them available for manual execution.
  • Ensure critical tests always run by marking files like conftest.py or requirements.txt to trigger full test suite on change.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work in a large Python codebase where full test suite runs are slow and you want faster local feedback during development.

The tool is actively maintained, has no runtime dependencies, and carries permissive licensing. The caveat: wheel availability only for Python 3.10+ may limit adoption on older projects despite the >=3.8 requirement claim, and static analysis cannot catch dynamic imports or runtime side-effects, so it should complement rather than replace CI regression testing.

Install

snob-lib on PyPI

Before you install

Medium install friction due to compiled wheels across multiple platforms and Python versions (3.10, 3.11). Package is actively maintained with recent activity, though only a single release so far. No runtime dependencies simplifies deployment.

Requires Python >=3.8 and Git for change detection; pytest plugin mode requires pytest to be installed separately.

License in practice

MIT license is permissive and imposes no restrictions on use, modification, or distribution in proprietary or open-source projects.

Quickstart

pip install snob-lib

# As CLI: list affected tests based on git changes
snob $(git diff --name-only) | xargs pytest

# Or as pytest plugin: test changes since a commit
pytest --commit-range main..HEAD

Verify before relying

  • Whether the package works with Python versions below 3.10 despite claiming >=3.8 support (wheels only provided for 3.10 and 3.11).
  • Performance characteristics on codebases smaller than the 'million line' example mentioned in the description.
  • Accuracy of test selection when projects use dynamic imports or runtime side-effects beyond static analysis.

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.8
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 580 days since the last release
Last repo commit
First released
Downloads94,273 / month, #13,335 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: Rust

Evidence: snob_lib-0.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl; snob_lib-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; snob_lib-0.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; snob_lib-0.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; snob_lib-0.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; snob_lib-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; snob_lib-0.1.0-cp310-cp310-musllinux_1_2_aarch64.whl; snob_lib-0.1.0-cp310-cp310-musllinux_1_2_armv7l.whl; snob_lib-0.1.0-cp310-cp310-musllinux_1_2_i686.whl; snob_lib-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl; snob_lib-0.1.0-cp310-cp310-win32.whl; snob_lib-0.1.0-cp310-cp310-win_amd64.whl; snob_lib-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl; snob_lib-0.1.0-cp311-cp311-macosx_11_0_arm64.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; snob_lib-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Tags

Capabilities
selective test runnertest impact analysisdependency graph testingskip irrelevant testspytest test selectioncode change test mappingintelligent test filtering
Topics
test-selectionrust-compiledpytest-plugin
PyPI keywords
snobpytesttestingrustrtsmaturinpyo3

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “skip irrelevant tests”

  • snob-libSnob analyzes your Python project's dependency graph to intelligently…
  • pytest-skip-markersA pytest plugin that provides skip markers to conditionally skip…
  • pytest-error-for-skipsA pytest plugin that converts skipped tests into test failures,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Testing packages

pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo
virtualenv Worth it
PyPI · Libraries · released Aug 2026

virtualenv creates isolated Python environments where packages can be installed independently without affecting the system Python or other projects.

MITpure Python · 3.9+
532.9Mdownloads / mo
coverage Worth it
PyPI · Testing · released Aug 2026

Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.

Install it if you want to measure test completeness or enforce coverage thresholds in your project.

permissive licensepure Python · 3.10+
335.8Mdownloads / mo
pytest-asyncio Worth it
PyPI · Testing · released May 2026

pytest-asyncio is a pytest plugin that enables writing and running async test functions using the asyncio library, allowing developers to await code directly within test cases.

Install it if you write tests for any asyncio-based code.

Apache-2.0pure Python · 3.10+
275.9Mdownloads / mo
pytest-json-ctrf Worth it
PyPI · Testing · released Jul 2026

A pytest plugin that generates test reports in Common Test Report Format (CTRF) as JSON, compatible with pytest-xdist and pytest-playwright for distributed and browser-based testing.

Install it if you need CTRF-formatted test output for CI/CD integration or cross-tool reporting.

MITpure Python · 3.8+
273.0Mdownloads / mo

See also pytest-snob · pytest-incremental · pytest-cagoule · pytest-testmon · rtest · pytest-deepassert · pytest-dependency · pip-check-reqs · pytest-beartype-tests · pytest-skip-slow