.. |given| replace:: :func:`~hypothesis.given`
.. |@given| replace:: :func:`@given <hypothesis.given>`
.. |@example| replace:: :func:`@example <hypothesis.example>`
.. |@example.xfail| replace:: :func:`@example(...).xfail() <hypothesis.example.xfail>`
.. |@example.via| replace:: :func:`@example(...).via() <hypothesis.example.via>`
.. |example.xfail| replace:: :func:`example.xfail <hypothesis.example.xfail>`
.. |example.via| replace:: :func:`example.via <hypothesis.example.via>`
.. |@settings| replace:: :func:`@settings <hypothesis.settings>`
.. |settings| replace:: :func:`settings <hypothesis.settings>`
.. |@composite| replace:: :func:`@composite <hypothesis.strategies.composite>`
.. |assume| replace:: :func:`~hypothesis.assume`
.. |target| replace:: :func:`~hypothesis.target`
.. |event| replace:: :func:`~hypothesis.event`
.. |note| replace:: :func:`~hypothesis.note`
.. |infer| replace:: :data:`~hypothesis.infer`
.. |fuzz_one_input| replace:: :func:`~hypothesis.core.HypothesisHandle.fuzz_one_input`

.. |max_examples| replace:: :obj:`~hypothesis.settings.max_examples`
.. |settings.max_examples| replace:: :obj:`settings.max_examples <hypothesis.settings.max_examples>`
.. |settings.database| replace:: :obj:`settings.database <hypothesis.settings.database>`
.. |settings.deadline| replace:: :obj:`settings.deadline <hypothesis.settings.deadline>`
.. |settings.derandomize| replace:: :obj:`settings.derandomize <hypothesis.settings.derandomize>`
.. |settings.phases| replace:: :obj:`settings.phases <hypothesis.settings.phases>`
.. |settings.print_blob| replace:: :obj:`settings.print_blob <hypothesis.settings.print_blob>`
.. |settings.report_multiple_bugs| replace:: :obj:`settings.report_multiple_bugs <hypothesis.settings.report_multiple_bugs>`
.. |settings.verbosity| replace:: :obj:`settings.verbosity <hypothesis.settings.verbosity>`
.. |settings.suppress_health_check| replace:: :obj:`settings.suppress_health_check <hypothesis.settings.suppress_health_check>`
.. |settings.stateful_step_count| replace:: :obj:`settings.stateful_step_count <hypothesis.settings.stateful_step_count>`
.. |settings.backend| replace:: :obj:`settings.backend <hypothesis.settings.backend>`

.. |~settings.max_examples| replace:: :obj:`~hypothesis.settings.max_examples`
.. |~settings.database| replace:: :obj:`~hypothesis.settings.database`
.. |~settings.deadline| replace:: :obj:`~hypothesis.settings.deadline`
.. |~settings.derandomize| replace:: :obj:`~hypothesis.settings.derandomize`
.. |~settings.phases| replace:: :obj:`~hypothesis.settings.phases`
.. |~settings.print_blob| replace:: :obj:`~hypothesis.settings.print_blob`
.. |~settings.report_multiple_bugs| replace:: :obj:`~hypothesis.settings.report_multiple_bugs`
.. |~settings.verbosity| replace:: :obj:`~hypothesis.settings.verbosity`
.. |~settings.suppress_health_check| replace:: :obj:`~hypothesis.settings.suppress_health_check`
.. |~settings.stateful_step_count| replace:: :obj:`~hypothesis.settings.stateful_step_count`
.. |~settings.backend| replace:: :obj:`~hypothesis.settings.backend`

.. |settings.register_profile| replace:: :func:`~hypothesis.settings.register_profile`
.. |settings.get_profile| replace:: :func:`~hypothesis.settings.get_profile`
.. |settings.load_profile| replace:: :func:`~hypothesis.settings.load_profile`
.. |settings.get_current_profile_name| replace:: :func:`~hypothesis.settings.get_current_profile_name`

.. |HealthCheck.data_too_large| replace:: :obj:`HealthCheck.data_too_large <hypothesis.HealthCheck.data_too_large>`
.. |HealthCheck.filter_too_much| replace:: :obj:`HealthCheck.filter_too_much <hypothesis.HealthCheck.filter_too_much>`
.. |HealthCheck.too_slow| replace:: :obj:`HealthCheck.too_slow <hypothesis.HealthCheck.too_slow>`
.. |HealthCheck.function_scoped_fixture| replace:: :obj:`HealthCheck.function_scoped_fixture <hypothesis.HealthCheck.function_scoped_fixture>`
.. |HealthCheck.differing_executors| replace:: :obj:`HealthCheck.differing_executors <hypothesis.HealthCheck.differing_executors>`
.. |HealthCheck| replace:: :obj:`~hypothesis.HealthCheck`

.. |Phase| replace:: :obj:`Phase <hypothesis.Phase>`
.. |Phase.explicit| replace:: :obj:`Phase.explicit <hypothesis.Phase.explicit>`
.. |Phase.reuse| replace:: :obj:`Phase.reuse <hypothesis.Phase.reuse>`
.. |Phase.generate| replace:: :obj:`Phase.generate <hypothesis.Phase.generate>`
.. |Phase.target| replace:: :obj:`Phase.target <hypothesis.Phase.target>`
.. |Phase.shrink| replace:: :obj:`Phase.shrink <hypothesis.Phase.shrink>`
.. |Phase.explain| replace:: :obj:`Phase.explain <hypothesis.Phase.explain>`

.. |Verbosity| replace:: :obj:`~hypothesis.Verbosity`
.. |Verbosity.verbose| replace:: :obj:`Verbosity.verbose <hypothesis.Verbosity.verbose>`
.. |Verbosity.debug| replace:: :obj:`Verbosity.debug <hypothesis.Verbosity.debug>`
.. |Verbosity.normal| replace:: :obj:`Verbosity.normal <hypothesis.Verbosity.normal>`
.. |Verbosity.quiet| replace:: :obj:`Verbosity.quiet <hypothesis.Verbosity.quiet>`

.. |HypothesisException| replace:: :obj:`HypothesisException <hypothesis.errors.HypothesisException>`
.. |HypothesisDeprecationWarning| replace:: :obj:`HypothesisDeprecationWarning <hypothesis.errors.HypothesisDeprecationWarning>`
.. |NonInteractiveExampleWarning| replace:: :obj:`NonInteractiveExampleWarning <hypothesis.errors.NonInteractiveExampleWarning>`
.. |Flaky| replace:: :obj:`Flaky <hypothesis.errors.Flaky>`
.. |FlakyStrategyDefinition| replace:: :obj:`FlakyStrategyDefinition <hypothesis.errors.FlakyStrategyDefinition>`
.. |FlakyFailure| replace:: :obj:`FlakyFailure <hypothesis.errors.FlakyFailure>`
.. |FlakyBackendFailure| replace:: :obj:`~hypothesis.errors.FlakyBackendFailure`
.. |InvalidArgument| replace:: :obj:`InvalidArgument <hypothesis.errors.InvalidArgument>`
.. |DidNotReproduce| replace:: :obj:`DidNotReproduce <hypothesis.errors.DidNotReproduce>`
.. |DeadlineExceeded| replace:: :obj:`DeadlineExceeded <hypothesis.errors.DeadlineExceeded>`
.. |BackendCannotProceed| replace:: :obj:`~hypothesis.errors.BackendCannotProceed`


.. |st.lists| replace:: :func:`~hypothesis.strategies.lists`
.. |st.integers| replace:: :func:`~hypothesis.strategies.integers`
.. |st.floats| replace:: :func:`~hypothesis.strategies.floats`
.. |st.booleans| replace:: :func:`~hypothesis.strategies.booleans`
.. |st.none| replace:: :func:`~hypothesis.strategies.none`
.. |st.composite| replace:: :func:`@composite <hypothesis.strategies.composite>`
.. |st.data| replace:: :func:`~hypothesis.strategies.data`
.. |st.one_of| replace:: :func:`~hypothesis.strategies.one_of`
.. |st.text| replace:: :func:`~hypothesis.strategies.text`
.. |st.characters| replace:: :func:`~hypothesis.strategies.characters`
.. |st.tuples| replace:: :func:`~hypothesis.strategies.tuples`
.. |st.sets| replace:: :func:`~hypothesis.strategies.sets`
.. |st.dictionaries| replace:: :func:`~hypothesis.strategies.dictionaries`
.. |st.fixed_dictionaries| replace:: :func:`~hypothesis.strategies.fixed_dictionaries`
.. |st.datetimes| replace:: :func:`~hypothesis.strategies.datetimes`
.. |st.builds| replace:: :func:`~hypothesis.strategies.builds`
.. |st.recursive| replace:: :func:`~hypothesis.strategies.recursive`
.. |st.deferred| replace:: :func:`~hypothesis.strategies.deferred`
.. |st.from_type| replace:: :func:`~hypothesis.strategies.from_type`
.. |st.sampled_from| replace:: :func:`~hypothesis.strategies.sampled_from`
.. |st.shared| replace:: :func:`~hypothesis.strategies.shared`
.. |st.uuids| replace:: :func:`~hypothesis.strategies.uuids`
.. |st.ip_addresses| replace:: :func:`~hypothesis.strategies.ip_addresses`
.. |st.register_type_strategy| replace:: :func:`~hypothesis.strategies.register_type_strategy`
.. |st.just| replace:: :func:`~hypothesis.strategies.just`
.. |st.from_regex| replace:: :func:`~hypothesis.strategies.from_regex`
.. |st.domains| replace:: :func:`~hypothesis.provisional.domains`
.. |st.urls| replace:: :func:`~hypothesis.provisional.urls`
.. |register_random| replace:: :func:`~hypothesis.register_random`
.. |st.register_random| replace:: :func:`~hypothesis.register_random`

.. |django.from_form| replace:: :func:`~hypothesis.extra.django.from_form`
.. |django.from_model| replace:: :func:`~hypothesis.extra.django.from_model`
.. |django.from_field| replace:: :func:`~hypothesis.extra.django.from_field`

.. |SearchStrategy| replace:: :class:`~hypothesis.strategies.SearchStrategy`
.. |filter| replace:: :func:`.filter() <hypothesis.strategies.SearchStrategy.filter>`
.. |.filter| replace:: :func:`.filter() <hypothesis.strategies.SearchStrategy.filter>`
.. |.filter()| replace:: :func:`.filter() <hypothesis.strategies.SearchStrategy.filter>`
.. |flatmap| replace:: :func:`.flatmap() <hypothesis.strategies.SearchStrategy.flatmap>`
.. |.flatmap| replace:: :func:`.flatmap() <hypothesis.strategies.SearchStrategy.flatmap>`
.. |.flatmap()| replace:: :func:`.flatmap() <hypothesis.strategies.SearchStrategy.flatmap>`
.. |map| replace:: :func:`.map() <hypothesis.strategies.SearchStrategy.map>`
.. |.map| replace:: :func:`.map() <hypothesis.strategies.SearchStrategy.map>`
.. |.map()| replace:: :func:`.map() <hypothesis.strategies.SearchStrategy.map>`
.. |.example| replace:: :func:`.example() <hypothesis.strategies.SearchStrategy.example>`
.. |.example()| replace:: :func:`.example() <hypothesis.strategies.SearchStrategy.example>`

.. |PrimitiveProvider| replace:: :class:`~hypothesis.internal.conjecture.providers.PrimitiveProvider`
.. |PrimitiveProvider.realize| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.realize`
.. |PrimitiveProvider.draw_integer| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.draw_integer`
.. |PrimitiveProvider.draw_boolean| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.draw_boolean`
.. |PrimitiveProvider.draw_float| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.draw_float`
.. |PrimitiveProvider.draw_string| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.draw_string`
.. |PrimitiveProvider.draw_bytes| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.draw_bytes`
.. |PrimitiveProvider.on_observation| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.on_observation`
.. |PrimitiveProvider.observe_test_case| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.observe_test_case`
.. |PrimitiveProvider.observe_information_messages| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.observe_information_messages`
.. |PrimitiveProvider.per_test_case_context_manager| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.per_test_case_context_manager`
.. |PrimitiveProvider.add_observability_callback| replace:: :data:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.add_observability_callback`
.. |PrimitiveProvider.span_start| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.span_start`
.. |PrimitiveProvider.span_end| replace:: :func:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.span_end`
.. |PrimitiveProvider.avoid_realization| replace:: :data:`~hypothesis.internal.conjecture.providers.PrimitiveProvider.avoid_realization`

.. |AVAILABLE_PROVIDERS| replace:: :data:`~hypothesis.internal.conjecture.providers.AVAILABLE_PROVIDERS`
.. |run_conformance_test| replace:: :func:`~hypothesis.internal.conjecture.provider_conformance.run_conformance_test`

.. |add_observability_callback| replace:: :data:`~hypothesis.internal.observability.add_observability_callback`
.. |remove_observability_callback| replace:: :data:`~hypothesis.internal.observability.remove_observability_callback`
.. |with_observability_callback| replace:: :data:`~hypothesis.internal.observability.with_observability_callback`
.. |observability_enabled| replace:: :data:`~hypothesis.internal.observability.observability_enabled`
.. |TESTCASE_CALLBACKS| replace:: :data:`~hypothesis.internal.observability.TESTCASE_CALLBACKS`
.. |OBSERVABILITY_CHOICES| replace:: :data:`~hypothesis.internal.observability.OBSERVABILITY_CHOICES`
.. |BUFFER_SIZE| replace:: :data:`~hypothesis.internal.conjecture.engine.BUFFER_SIZE`
.. |MAX_SHRINKS| replace:: :data:`~hypothesis.internal.conjecture.engine.MAX_SHRINKS`
.. |MAX_SHRINKING_SECONDS| replace:: :data:`~hypothesis.internal.conjecture.engine.MAX_SHRINKING_SECONDS`

.. |@rule| replace:: :func:`@rule <hypothesis.stateful.rule>`
.. |@precondition| replace:: :func:`@precondition <hypothesis.stateful.precondition>`
.. |@initialize| replace:: :func:`@initialize <hypothesis.stateful.initialize>`
.. |@invariant| replace:: :func:`@invariant <hypothesis.stateful.invariant>`
.. |RuleBasedStateMachine| replace:: :class:`~hypothesis.stateful.RuleBasedStateMachine`
.. |run_state_machine_as_test| replace:: :func:`~hypothesis.stateful.run_state_machine_as_test`

.. |@reproduce_failure| replace:: :func:`@reproduce_failure <hypothesis.reproduce_failure>`
.. |@seed| replace:: :func:`@seed <hypothesis.seed>`

.. |ExampleDatabase| replace:: :class:`~hypothesis.database.ExampleDatabase`
.. |ExampleDatabase.save| replace:: :func:`~hypothesis.database.ExampleDatabase.save`
.. |ExampleDatabase.delete| replace:: :func:`~hypothesis.database.ExampleDatabase.delete`
.. |ExampleDatabase.fetch| replace:: :func:`~hypothesis.database.ExampleDatabase.fetch`
.. |ExampleDatabase.move| replace:: :func:`~hypothesis.database.ExampleDatabase.move`
.. |ExampleDatabase.add_listener| replace:: :func:`~hypothesis.database.ExampleDatabase.add_listener`
.. |ExampleDatabase.remove_listener| replace:: :func:`~hypothesis.database.ExampleDatabase.remove_listener`
.. |ExampleDatabase.clear_listeners| replace:: :func:`~hypothesis.database.ExampleDatabase.clear_listeners`
.. |ExampleDatabase._start_listening| replace:: :func:`~hypothesis.database.ExampleDatabase._start_listening`
.. |ExampleDatabase._stop_listening| replace:: :func:`~hypothesis.database.ExampleDatabase._stop_listening`
.. |ExampleDatabase._broadcast_change| replace:: :func:`~hypothesis.database.ExampleDatabase._broadcast_change`

.. |DirectoryBasedExampleDatabase| replace:: :class:`~hypothesis.database.DirectoryBasedExampleDatabase`
.. |InMemoryExampleDatabase| replace:: :class:`~hypothesis.database.InMemoryExampleDatabase`
.. |ReadOnlyDatabase| replace:: :class:`~hypothesis.database.ReadOnlyDatabase`
.. |MultiplexedDatabase| replace:: :class:`~hypothesis.database.MultiplexedDatabase`
.. |GitHubArtifactDatabase| replace:: :class:`~hypothesis.database.GitHubArtifactDatabase`
.. |BackgroundWriteDatabase| replace:: :class:`~hypothesis.database.BackgroundWriteDatabase`
.. |RedisExampleDatabase| replace:: :class:`~hypothesis.extra.redis.RedisExampleDatabase`

.. |is_hypothesis_test| replace:: :func:`~hypothesis.is_hypothesis_test`
.. |currently_in_test_context| replace:: :func:`~hypothesis.currently_in_test_context`

.. |hypothesis-numpy| replace:: :ref:`NumPy <hypothesis-numpy>`
.. |hypothesis-pandas| replace:: :ref:`pandas <hypothesis-pandas>`
.. |hypothesis-django| replace:: :ref:`Django <hypothesis-django>`

.. |str| replace:: :obj:`python:str`
.. |int| replace:: :obj:`python:int`
.. |bool| replace:: :obj:`python:bool`
.. |bytes| replace:: :obj:`python:bytes`
.. |float| replace:: :obj:`python:float`
.. |assert| replace:: :keyword:`python:assert`
.. |memoryview| replace:: :class:`python:memoryview`
.. |dataclasses| replace:: :mod:`python:dataclasses`
.. |random.random| replace:: :class:`python:random.Random`
.. |random.Random| replace:: :class:`python:random.Random`
.. |ellipsis| replace:: :obj:`python:Ellipsis`
.. |Ellipsis| replace:: :obj:`python:Ellipsis`

.. |TypeAlias| replace:: :obj:`python:typing.TypeAlias`
.. |TypeAliasType| replace:: :class:`python:typing.TypeAliasType`
.. |NewType| replace:: :class:`python:typing.NewType`

.. |alternative backend| replace:: :ref:`alternative backend <alternative-backends>`
.. |alternative backends| replace:: :ref:`alternative backends <alternative-backends>`

.. |pytest.mark.parametrize| replace:: :ref:`pytest.mark.parametrize <pytest:pytest.mark.parametrize ref>`
