Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: deepin-community
  • License: other
  • Language: Python
  • Default Branch: master
  • Size: 9.8 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners Authors

README.rst

==========
Hypothesis
==========

Hypothesis is a family of testing libraries which let you write tests parametrized
by a source of examples. A Hypothesis implementation then generates simple and
comprehensible examples that make your tests fail.
This simplifies writing your tests and makes them more powerful at the same time,
by letting software automate the boring bits and do them to a higher standard than a human would,
freeing you to focus on the higher level test logic.

This sort of testing is often called "property-based testing",
and the most widely known implementation of the concept is the Haskell
library `QuickCheck `_,
but Hypothesis differs significantly from QuickCheck and is designed to fit
idiomatically and easily into existing styles of testing that you are used to,
with absolutely no familiarity with Haskell or functional programming needed.

`Hypothesis for Python `_ is the original implementation,
and the only one that is currently fully production ready and actively maintained.

------------------------------
Hypothesis for Other Languages
------------------------------

The core ideas of Hypothesis are language agnostic and in principle it is
suitable for any language. We are interested in developing and supporting
implementations for a wide variety of languages, but currently lack the
resources to do so, so our porting efforts are mostly prototypes.

The two prototype implementations of Hypothesis for other languages are:

* `Hypothesis for Ruby `_
  is a reasonable start on a port of Hypothesis to Ruby.
* `Hypothesis for Java `_
  is a prototype written some time ago. It's far from feature complete and is
  not under active development, but was intended to prove the viability of the
  concept.

Additionally there is a port of the core engine of Hypothesis, Conjecture, to
Rust. It is not feature complete but in the long run we are hoping to move
much of the existing functionality to Rust and rebuild Hypothesis for Python
on top of it, greatly lowering the porting effort to other languages.

Any or all of these could be turned into full fledged implementations with relatively
little effort (no more than a few months of full time work), but as well as the
initial work this would require someone prepared to provide or fund ongoing
maintenance efforts for them in order to be viable.

Owner

  • Name: deepin Community
  • Login: deepin-community
  • Kind: organization
  • Email: support@deepin.org
  • Location: China

Welcome to the deepin community.

Citation (CITATION.cff)

cff-version: 1.2.0
message: |
  If you use Hypothesis as part of a published research project,
  please cite our paper in the Journal of Open Source Software:

  Text:

  MacIver et al., (2019). Hypothesis: A new approach to property-based testing.
  Journal of Open Source Software, 4(43), 1891, https://doi.org/10.21105/joss.01891

  BibTeX:

  @article{MacIver2019Hypothesis,
    journal = {Journal of Open Source Software},
    doi = {10.21105/joss.01891},
    issn = {2475-9066},
    number = {43},
    publisher = {The Open Journal},
    title = {Hypothesis: A new approach to property-based testing},
    url = {http://dx.doi.org/10.21105/joss.01891},
    volume = {4},
    author = {MacIver, David and Hatfield-Dodds, Zac and Contributors, Many},
    pages = {1891},
    date = {2019-11-21},
    year = {2019},
    month = {11},
    day = {21},
  }

  To reference a particular version of Hypothesis as a software artifact,
  you can use the version-specific DOIs we create for each release under
  https://doi.org/10.5281/zenodo.1412597


preferred-citation:
  title: 'Hypothesis: A new approach to property-based testing'
  date-released: 2019-11-21
  type: article
  doi: 10.21105/joss.01891
  authors:
    - family-names: MacIver
      given-names: David R.
      orcid: https://orcid.org/0000-0002-8635-3223
      affiliation: Imperial College London
    - family-names: Hatfield-Dodds
      given-names: Zac
      orcid: https://orcid.org/0000-0002-8646-8362
      affiliation: Australian National University
    - name: "many other contributors"

# Citation metadata for the software itself, as required by the CFF spec
doi: 10.5281/zenodo.1412597  # Version-independent DOI for the software archive
title: 'Hypothesis: Property-Based Testing for Python'
repository-code: https://github.com/HypothesisWorks/hypothesis
license: MPL-2.0
authors:
  - family-names: MacIver
    given-names: David R.
    orcid: https://orcid.org/0000-0002-8635-3223
    affiliation: Imperial College London
  - family-names: Hatfield-Dodds
    given-names: Zac
    orcid: https://orcid.org/0000-0002-8646-8362
    affiliation: Australian National University
  - name: "many other contributors"

GitHub Events

Total
Last Year