skillfed

hegel-core

Universal property-based testing protocol, built on Hypothesis

hegel-core v0.10.0 228.5K downloads/30d#9,152 on PyPI95
Permissive license MIT Abandoned released

What it is and what it does

Hegel-core is a property-based testing library built on top of Hypothesis, implementing a universal testing protocol designed to work across multiple programming languages (Rust, Go, C++, TypeScript, and Python). It provides core functionality for generating random test data and shrinking failures down to minimal reproducible cases—the core mechanics of property-based testing. The package depends on Hypothesis for its testing engine, cbor2 for data serialization, and click for CLI support.

The library is positioned as a protocol rather than a standalone tool, meaning it aims to enable property-based testing workflows that can be shared across language boundaries. However, it is currently in beta and abandoned as of July 2026, with the repository archived. The maintainers explicitly warned during beta that breaking changes were possible. If you need property-based testing in Python, you should evaluate whether Hypothesis alone meets your needs before adopting hegel-core, given the lack of ongoing maintenance.

Use it for:

  • Discovering edge cases in algorithms by generating random inputs and checking invariants hold across all cases.
  • Fuzzing network protocols or data parsers to find crashes or unexpected behavior under varied input conditions.
  • Cross-language testing workflows where the same property-based tests run in multiple languages via the Hegel protocol.
  • Shrinking complex failing test cases to their minimal form for easier debugging and root-cause analysis.
  • Validating mathematical properties or invariants in numerical code through randomized testing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Hegel-core provides property-based testing data generation and shrinking built on Hypothesis, implementing a universal testing protocol for discovering edge cases through randomized input generation.

No, not for new projects. While the package itself has low install friction and a permissive license, it is abandoned and in beta—the repository is archived, no maintenance is active, and breaking changes were explicitly possible during beta. If you need property-based testing in Python, use Hypothesis directly instead. Only consider hegel-core if you specifically need the cross-language Hegel protocol and are willing to maintain a fork.

Install

hegel-core on PyPI

pip

pip install hegel-core

uv

uv add hegel-core

poetry

poetry add hegel-core

Installing hegel-core

Before you install

Installation is straightforward with low friction—a pure Python wheel with minimal dependencies. However, the package is in abandoned status as of July 2026, with the repository archived and no active maintenance, so expect no bug fixes or updates going forward.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe to adopt from a licensing standpoint.

Quickstart

pip install hegel-core

from hypothesis import given
from hegel_core import hegel_strategy

@given(hegel_strategy())
def test_property(data):
    assert data is not None

Requires Python 3.10 or later; package is in beta and may have breaking changes.

Verify before relying

  • Whether the abandoned status means the protocol itself is stable or if cross-language implementations remain active.
  • How the beta status and potential breaking changes affect long-term production use.
  • Whether Hypothesis alone would serve your use case without the Hegel protocol layer.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — cbor2, click, hypothesis
Maintenance abandoned — 67 days since the last release
Last repo commit (repository archived)
First released
Downloads 228,521/month — #9,152 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: hegel_core-0.10.0-py3-none-any.whl

Keywords: testing, fuzzing, property-based-testing

Framework :: HypothesisIntended Audience :: DevelopersOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Education :: TestingTopic :: Software Development :: TestingTyping :: Typed

Tags

property-based testinghypothesis testing frameworkfuzzing and shrinkingrandom test data generationedge case discovery testingproperty testing protocolautomated test case generation
property-based-testingabandoned-betacross-language-protocol

More Testing packages