{"id":13467632,"url":"https://github.com/kevin1024/vcrpy","last_synced_at":"2025-05-13T18:05:10.882Z","repository":{"id":3426140,"uuid":"4477733","full_name":"kevin1024/vcrpy","owner":"kevin1024","description":"Automatically mock your HTTP interactions to simplify and speed up testing","archived":false,"fork":false,"pushed_at":"2025-05-02T16:06:22.000Z","size":1760,"stargazers_count":2786,"open_issues_count":165,"forks_count":403,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-05-05T23:13:27.618Z","etag":null,"topics":["http","mocking","python","testing"],"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/kevin1024.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"docs/contributing.rst","funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2012-05-29T04:52:00.000Z","updated_at":"2025-05-03T19:02:21.000Z","dependencies_parsed_at":"2024-04-05T17:27:14.061Z","dependency_job_id":"80bfdd16-5a62-4f0b-94f1-76b7082dc9e9","html_url":"https://github.com/kevin1024/vcrpy","commit_stats":{"total_commits":905,"total_committers":133,"mean_commits":6.804511278195489,"dds":0.6961325966850829,"last_synced_commit":"42d79b1102a1907376212e0a505851f4f8e81f5d"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin1024%2Fvcrpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin1024%2Fvcrpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin1024%2Fvcrpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevin1024%2Fvcrpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevin1024","download_url":"https://codeload.github.com/kevin1024/vcrpy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252590632,"owners_count":21772940,"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":["http","mocking","python","testing"],"created_at":"2024-07-31T15:00:58.671Z","updated_at":"2025-05-05T23:13:34.830Z","avatar_url":"https://github.com/kevin1024.png","language":"Python","funding_links":[],"categories":["Testing","Python","资源列表","测试","Snapshot Tests","Web Testing","File Manipulation","Testing [🔝](#readme)","Awesome Python"],"sub_categories":["测试","HTTP Clients","Testing"],"readme":"\n###########\nVCR.py 📼\n###########\n\n\n|PyPI| |Python versions| |Build Status| |CodeCov| |Gitter|\n\n----\n\n.. image:: https://vcrpy.readthedocs.io/en/latest/_images/vcr.svg\n   :alt: vcr.py logo\n\n\nThis is a Python version of `Ruby's VCR\nlibrary \u003chttps://github.com/vcr/vcr\u003e`__.\n\nSource code\n  https://github.com/kevin1024/vcrpy\n\nDocumentation\n  https://vcrpy.readthedocs.io/\n\nRationale\n---------\n\nVCR.py simplifies and speeds up tests that make HTTP requests. The\nfirst time you run code that is inside a VCR.py context manager or\ndecorated function, VCR.py records all HTTP interactions that take\nplace through the libraries it supports and serializes and writes them\nto a flat file (in yaml format by default). This flat file is called a\ncassette. When the relevant piece of code is executed again, VCR.py\nwill read the serialized requests and responses from the\naforementioned cassette file, and intercept any HTTP requests that it\nrecognizes from the original test run and return the responses that\ncorresponded to those requests. This means that the requests will not\nactually result in HTTP traffic, which confers several benefits\nincluding:\n\n-  The ability to work offline\n-  Completely deterministic tests\n-  Increased test execution speed\n\nIf the server you are testing against ever changes its API, all you need\nto do is delete your existing cassette files, and run your tests again.\nVCR.py will detect the absence of a cassette file and once again record\nall HTTP interactions, which will update them to correspond to the new\nAPI.\n\nUsage with Pytest\n-----------------\n\nThere is a library to provide some pytest fixtures called pytest-recording https://github.com/kiwicom/pytest-recording\n\nLicense\n-------\n\nThis library uses the MIT license. See `LICENSE.txt \u003cLICENSE.txt\u003e`__ for\nmore details\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/vcrpy.svg\n   :target: https://pypi.python.org/pypi/vcrpy\n.. |Python versions| image:: https://img.shields.io/pypi/pyversions/vcrpy.svg\n   :target: https://pypi.python.org/pypi/vcrpy\n.. |Build Status| image:: https://github.com/kevin1024/vcrpy/actions/workflows/main.yml/badge.svg\n   :target: https://github.com/kevin1024/vcrpy/actions\n.. |Gitter| image:: https://badges.gitter.im/Join%20Chat.svg\n   :alt: Join the chat at https://gitter.im/kevin1024/vcrpy\n   :target: https://gitter.im/kevin1024/vcrpy?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n.. |CodeCov| image:: https://codecov.io/gh/kevin1024/vcrpy/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/kevin1024/vcrpy\n   :alt: Code Coverage Status\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin1024%2Fvcrpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevin1024%2Fvcrpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevin1024%2Fvcrpy/lists"}