{"id":13468000,"url":"https://github.com/HypothesisWorks/hypothesis","last_synced_at":"2025-03-26T03:31:22.244Z","repository":{"id":7360827,"uuid":"8685799","full_name":"HypothesisWorks/hypothesis","owner":"HypothesisWorks","description":"Hypothesis is a powerful, flexible, and easy to use library for property-based testing.","archived":false,"fork":false,"pushed_at":"2024-10-26T19:41:25.000Z","size":38893,"stargazers_count":7564,"open_issues_count":70,"forks_count":587,"subscribers_count":72,"default_branch":"master","last_synced_at":"2024-10-29T21:59:18.424Z","etag":null,"topics":["fuzzing","property-based-testing","python","testing"],"latest_commit_sha":null,"homepage":"https://hypothesis.works","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HypothesisWorks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-10T13:51:19.000Z","updated_at":"2024-10-29T09:18:58.000Z","dependencies_parsed_at":"2023-12-24T01:22:53.723Z","dependency_job_id":"d2763a0a-f8fe-4cf4-b2df-233c9d863e88","html_url":"https://github.com/HypothesisWorks/hypothesis","commit_stats":{"total_commits":11363,"total_committers":341,"mean_commits":33.32258064516129,"dds":"0.44583296664613214","last_synced_commit":"058420a4d745f19717f55e85b0493d3b68461bc7"},"previous_names":["drmaciver/hypothesis","hypothesisworks/hypothesis-python"],"tags_count":1628,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HypothesisWorks%2Fhypothesis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HypothesisWorks","download_url":"https://codeload.github.com/HypothesisWorks/hypothesis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245381379,"owners_count":20606025,"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":["fuzzing","property-based-testing","python","testing"],"created_at":"2024-07-31T15:01:03.992Z","updated_at":"2025-03-26T03:31:22.215Z","avatar_url":"https://github.com/HypothesisWorks.png","language":"Python","readme":"==========\nHypothesis\n==========\n\nHypothesis is a family of testing libraries which let you write tests parametrized\nby a source of examples. A Hypothesis implementation then generates simple and\ncomprehensible examples that make your tests fail.\nThis simplifies writing your tests and makes them more powerful at the same time,\nby letting software automate the boring bits and do them to a higher standard than a human would,\nfreeing you to focus on the higher level test logic.\n\nThis sort of testing is often called \"property-based testing\",\nand the most widely known implementation of the concept is the Haskell\nlibrary `QuickCheck \u003chttps://hackage.haskell.org/package/QuickCheck\u003e`_,\nbut Hypothesis differs significantly from QuickCheck and is designed to fit\nidiomatically and easily into existing styles of testing that you are used to,\nwith absolutely no familiarity with Haskell or functional programming needed.\n\n`Hypothesis for Python \u003chypothesis-python\u003e`_ is the original implementation,\nand the only one that is currently fully production ready and actively maintained.\n\n------------------------------\nHypothesis for Other Languages\n------------------------------\n\nThe core ideas of Hypothesis are language agnostic and in principle it is\nsuitable for any language. We are interested in developing and supporting\nimplementations for a wide variety of languages, but currently lack the\nresources to do so, so our porting efforts are mostly prototypes.\n\nThe two prototype implementations of Hypothesis for other languages are:\n\n* `Hypothesis for Ruby \u003chypothesis-ruby\u003e`_\n  is a reasonable start on a port of Hypothesis to Ruby.\n* `Hypothesis for Java \u003chttps://github.com/HypothesisWorks/hypothesis-java\u003e`_\n  is a prototype written some time ago. It's far from feature complete and is\n  not under active development, but was intended to prove the viability of the\n  concept.\n\nAdditionally there is a port of the core engine of Hypothesis, Conjecture, to\nRust. It is not feature complete but in the long run we are hoping to move\nmuch of the existing functionality to Rust and rebuild Hypothesis for Python\non top of it, greatly lowering the porting effort to other languages.\n\nAny or all of these could be turned into full fledged implementations with relatively\nlittle effort (no more than a few months of full time work), but as well as the\ninitial work this would require someone prepared to provide or fund ongoing\nmaintenance efforts for them in order to be viable.\n","funding_links":[],"categories":["Python","Testing","测试","📦 Modules/Packages","testing","Testing [🔝](#readme)","Awesome Python","Testing Tools","Property Based Testing"],"sub_categories":["Testing Frameworks","Testing"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHypothesisWorks%2Fhypothesis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHypothesisWorks%2Fhypothesis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHypothesisWorks%2Fhypothesis/lists"}