hypothesis
by
HypothesisWorks

Description: The property-based testing library for Python

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on September 16th, 2024
Created on March 10th, 2013
Open Issues & Pull Requests: 54 (+0)
Number of forks: 657
Total Stargazers: 8,770 (+1)
Total Subscribers: 64 (+0)

Issue Activity (beta)

Open issues: 37
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 941 days
Stale 30+ days: 34
Stale 90+ days: 30

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 5
Events in 7 days: 5

Top labels

  • enhancement (236)
  • bug (209)
  • question (204)
  • legibility (169)
  • tests/build/CI (166)
  • interop (123)
  • docs (111)
  • performance (77)

Repository Insights (GitGenius)

Median issue/PR response: 0.5 hours
Mean response time: 142.8 days
90th percentile: 48.0 days
Tracked items: 292

Most active contributors

Detailed Description

Hypothesis is a property-based testing library for Python that enables developers to write tests that verify behavior across entire ranges of inputs rather than specific test cases. Instead of manually crafting individual test inputs, developers describe the space of valid inputs and Hypothesis automatically generates random examples to check, including edge cases that might not be obvious to human testers. When Hypothesis discovers a failing test, it simplifies the failing example to its minimal form, making it easier for developers to understand and debug the root cause of failures.

The library addresses a fundamental challenge in software testing: the difficulty of anticipating all possible edge cases and problematic inputs. By automating the generation and simplification of test cases, Hypothesis helps catch bugs that traditional manual testing might miss. The approach is particularly valuable for discovering unexpected interactions and boundary conditions that could cause production failures.

According to GitGenius activity tracking, Hypothesis maintains an active development community with strong engagement on issues and pull requests. Across 287 tracked items, the median response latency is 0.5 hours, indicating rapid feedback and triage. The mean response time of 3487.3 hours reflects occasional longer-running discussions on complex issues, but the median demonstrates the project's commitment to quick initial responses. The most frequently addressed issue categories are enhancements (56 items), bugs (53 items), and interoperability concerns (42 items), showing the project balances new feature development with stability and compatibility work.

The core contributor team includes Zac-HD with 569 tracked events, Liam-DeVoe with 400 events, and jobh with 85 events, indicating a relatively concentrated but active leadership structure. The project's contributor network overlaps with major Python ecosystem projects including CPython, SymPy, and Microsoft's Visual Studio Code, suggesting Hypothesis plays an important role in the broader Python development community.

The repository is written in Python and maintains comprehensive documentation at hypothesis.readthedocs.io alongside its main website at hypothesis.works. The project provides optional extras for extended functionality beyond the core library, allowing users to tailor their installation to specific needs. The codebase includes clear contribution guidelines and maintains an active community channel for user support and discussion.

Hypothesis represents a significant shift in testing philosophy from example-based to property-based approaches. Rather than writing tests that verify specific inputs produce expected outputs, developers using Hypothesis specify invariants that should hold true across all valid inputs. This approach has proven effective for discovering subtle bugs in complex systems and has influenced testing practices across multiple programming languages and communities.

hypothesis
by
HypothesisWorksHypothesisWorks/hypothesis

Repository Details

Fetching additional details & charts...