{"categories":[{"label":"Testing","url":"https://skillfed.io/packages/category/software-development-testing/6"}],"enrichment":{"capability":"Snob analyzes your Python project's dependency graph to intelligently select which tests to run based on code changes, reducing test suite execution time by skipping unaffected tests.","skillfed_tags":["test-selection","rust-compiled","pytest-plugin"],"use_cases":["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."],"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.\n\nThe 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\u2014it selects tests based on static dependency analysis\u2014and 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.","worth_installing":"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."},"id":"snob-lib","links":{"html":"https://skillfed.io/packages/snob-lib","md":"https://skillfed.io/packages/snob-lib.md","pypi":"https://pypi.org/project/snob-lib/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-01-11","license_spdx":null,"license_treatment":"permissive","name":"snob-lib","python_support":"supports_current","summary":"A tool that only selects meaningful python tests to run."},"popularity":{"monthly_downloads":94273,"position":13335,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.1.0"}
