{"id":13468192,"url":"https://github.com/anapaulagomes/pytest-picked","last_synced_at":"2025-05-14T02:05:04.579Z","repository":{"id":39620036,"uuid":"134160822","full_name":"anapaulagomes/pytest-picked","owner":"anapaulagomes","description":"Run the tests related to the changed files (according to Git) 🤓","archived":false,"fork":false,"pushed_at":"2025-04-01T04:17:54.000Z","size":1660,"stargazers_count":375,"open_issues_count":11,"forks_count":16,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2025-04-10T16:48:26.461Z","etag":null,"topics":["git","hacktoberfest","pytest","python","tests"],"latest_commit_sha":null,"homepage":"","language":"Python","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/anapaulagomes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"anapaulagomes"}},"created_at":"2018-05-20T15:08:04.000Z","updated_at":"2025-04-09T16:51:07.000Z","dependencies_parsed_at":"2025-01-15T21:06:47.603Z","dependency_job_id":"188d1619-1ade-4d22-a141-3123e52fdbca","html_url":"https://github.com/anapaulagomes/pytest-picked","commit_stats":{"total_commits":115,"total_committers":13,"mean_commits":8.846153846153847,"dds":0.5478260869565217,"last_synced_commit":"61105ea7c0d13a8c6ce36be381a6848f0925b89a"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anapaulagomes%2Fpytest-picked","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anapaulagomes%2Fpytest-picked/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anapaulagomes%2Fpytest-picked/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anapaulagomes%2Fpytest-picked/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anapaulagomes","download_url":"https://codeload.github.com/anapaulagomes/pytest-picked/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254052692,"owners_count":22006716,"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":["git","hacktoberfest","pytest","python","tests"],"created_at":"2024-07-31T15:01:06.848Z","updated_at":"2025-05-14T02:04:59.547Z","avatar_url":"https://github.com/anapaulagomes.png","language":"Python","funding_links":["https://github.com/sponsors/anapaulagomes"],"categories":["Continuous Integration","Python","Speed"],"sub_categories":["Messaging"],"readme":"# pytest-picked\n\n[![See Test Status on Github Actions](https://github.com/anapaulagomes/pytest-picked/workflows/Tests/badge.svg)](https://github.com/anapaulagomes/pytest-picked/actions?query=workflow%3ATests)\n\n[![PyPI version](https://badge.fury.io/py/pytest-picked.svg)](https://badge.fury.io/py/pytest-picked)\n\n[![Conda forge package](https://img.shields.io/conda/vn/conda-forge/pytest-picked.svg)](https://anaconda.org/conda-forge/pytest-picked)\n\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/pytest-picked.svg)](https://pypi.org/project/pytest-picked)\n\nRun the tests related to the unstaged files or the current branch\n(according to Git)\n\n---\n\n![Demo](demo.gif)\n\nLet's say you have the following output from `git status`:\n\n    $ git status\n\n    On branch main\n    Your branch is ahead of 'origin/main' by 1 commit.\n      (use \"git push\" to publish your local commits)\n\n    Untracked files:\n      (use \"git add \u003cfile\u003e...\" to include in what will be committed)\n\n      api.py\n      tests/api/\n      tests/test_board.py\n\n    nothing added to commit but untracked files present (use \"git add\" to track)\n\nRunning `pytest --picked`, the plugin will run all tests that come from\nthis output.\n\n    $ pytest --picked\n\n    ============================= test session starts =============================\n    platform darwin -- Python 3.6.4, pytest-3.6.0, py-1.5.3, pluggy-0.6.0\n    rootdir: /Users/ana.gomes/personal-workspace/grandma, inifile:\n    plugins: picked-0.1.0, mock-1.10.0, flask-0.10.0, deadfixtures-2.0.1\n    collecting 34 items\n    Changed test files... 1. ['tests/test_board.py']\n    Changed test folders... 1. ['tests/api/']\n    collected 34 items\n\n    tests/test_board.py .                                                      [ 50%]\n    tests/api/test_new.py .                                                    [100%]\n\n    =========================== 2 passed in 0.07 seconds ===========================\n\nAll tests will be run from files and folders which are modified but not\nyet committed. No more copy and paste!\n\n## Usage\n\n```bash\npytest --picked\n\npytest --picked=first\n\npytest --picked --mode=branch\n\npytest --picked --mode=unstaged  # default\n\npytest --picked --mode=branch --parent-branch=dev # if your parent branch differs from \"main\"\n```\n\n## Features\n\nUsing `git status`, this plugin allows you to:\n\n- Run only tests from modified test files\n- Run tests from modified test files first, followed by all unmodified tests\n\n## Installation\n\nYou can install `pytest-picked` via [PyPI](https://pypi.org/project/pytest-picked/):\n\n```bash\npip install pytest-picked\n```\n\n## Contributing\n\nContributions are very welcome. Tests can be run with\n[tox](https://tox.readthedocs.io/en/latest/), so we can guarantee that it is working\nin different python versions. Also, make sure to add tests and use `pre-commit`\nbefore you submit a pull request.\n\n## License\n\nDistributed under the terms of the [MIT](http://opensource.org/licenses/MIT) license,\n`pytest-picked` is free and open source software\n\n## Issues\n\nIf you encounter any problems, please [file an issue](https://github.com/anapaulagomes/pytest-picked/issues)\nalong with a detailed description.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanapaulagomes%2Fpytest-picked","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanapaulagomes%2Fpytest-picked","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanapaulagomes%2Fpytest-picked/lists"}