{"id":26967326,"url":"https://github.com/andrehora/pathspotter","last_synced_at":"2026-05-05T04:05:32.752Z","repository":{"id":187066568,"uuid":"650295677","full_name":"andrehora/pathspotter","owner":"andrehora","description":"Exploring tested paths in Python programs","archived":false,"fork":false,"pushed_at":"2024-01-29T19:08:31.000Z","size":13483,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-01-29T22:15:09.386Z","etag":null,"topics":["dynamic-analysis","mining-software-repositories","python","testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrehora.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-06T19:08:17.000Z","updated_at":"2024-01-29T22:15:09.387Z","dependencies_parsed_at":"2023-08-08T21:35:24.713Z","dependency_job_id":"c24258bb-7c95-4baa-aeeb-beddbae0c4ee","html_url":"https://github.com/andrehora/pathspotter","commit_stats":null,"previous_names":["andrehora/pathspotter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fpathspotter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fpathspotter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fpathspotter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrehora%2Fpathspotter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrehora","download_url":"https://codeload.github.com/andrehora/pathspotter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246970335,"owners_count":20862508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynamic-analysis","mining-software-repositories","python","testing"],"created_at":"2025-04-03T08:50:43.454Z","updated_at":"2026-05-05T04:05:32.720Z","avatar_url":"https://github.com/andrehora.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![pages-build-deployment](https://github.com/andrehora/pathspotter/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/andrehora/pathspotter/actions/workflows/pages/pages-build-deployment)\n\n# PathSpotter\n\nPathSpotter is a tool for computing and exploring *tested paths* of Python methods.\nA *tested path* of a method represents a set of input values that will make the method behave in the same way, that is, execute the same lines of code.\n\nPathSpotter generates HTML reports like these: [calendar](https://andrehora.github.io/pathspotter/examples/report_html/calendar), [csv](https://andrehora.github.io/pathspotter/examples/report_html/csv), and [gzip](https://andrehora.github.io/pathspotter/examples/report_html/gzip).\n\n## Install\n\nFirst, create a virtual environment (and activate it):\n\n```shell\npython3 -m venv .venv\t\t\t\nsource .venv/bin/activate\n```\n\nNext, clone and install [SpotFlow](https://github.com/andrehora/spotflow):\n```\ngit clone https://github.com/andrehora/spotflow\npip install -e ./spotflow\n```\n\nThen, clone and install PathSpotter:\n```\ngit clone https://github.com/andrehora/pathspotter\npip install -e ./pathspotter\n```\n\n## Quick usage\n\nLet's export the tested paths for the test suite `test_gzip` of the Python Standard Library.\nThis command generates reports in HTML and CSV formats:\n\n```shell\npython3 -m spotflow -t gzip -s pathspotter/pathspotter/runner.py -arg gzip test.test_gzip\n```\n\nThen, open the file `report_html/gzip/index.html` to see an [HTML report like this](https://andrehora.github.io/pathspotter/examples/report_html/gzip).\nOpen the folder `report_csv/gzip` to see a [CSV report like this](https://github.com/andrehora/pathspotter/blob/main/examples/report_csv/gzip).\n\n\n## Usage details\n\nThis command runs and monitors a test suite called `\u003ctest_suite\u003e` with [SpotFlow](https://github.com/andrehora/spotflow) and generates PathSpotter reports:\n\n```shell\npython3 -m spotflow -t \u003ctarget_sut\u003e -s \u003cpathspotter_script\u003e -arg \u003creport_folder_name\u003e \u003ctest_suite\u003e\n\n# Examples\npython3 -m spotflow -t gzip -s pathspotter/pathspotter/runner.py -arg gzip test.test_gzip\npython3 -m spotflow -t csv -s pathspotter/pathspotter/runner.py -arg csv test.test_csv\npython3 -m spotflow -t calendar -s pathspotter/pathspotter/runner.py -arg calendar test.test_calendar\n```\n\nThe first argument `-t` sets the target SUT to be monitored.\nThe second argument `-s` sets the PathSpotter script that is executed to generate CSV and HTML reports.\nThe third argument `-arg` sets the report folder name.\nThe final argument (`\u003ctest_suite\u003e`) is the command to execute the test suite.\n\n\n## More reports\n\nSee the repository [tested_paths_dataset](https://github.com/andrehora/tested_paths_dataset) for more reports of popular projects, like [Rich](https://andrehora.github.io/tested_paths_dataset/report_html/rich), [Flask](https://andrehora.github.io/tested_paths_dataset/report_html/flask), and [Pylint](https://andrehora.github.io/tested_paths_dataset/report_html/pylint).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrehora%2Fpathspotter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrehora%2Fpathspotter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrehora%2Fpathspotter/lists"}