icontract

Contents:

  • Introduction
  • Usage
  • Checking Types at Runtime
  • Async
  • Recipes
  • Implementation Details
  • Known Issues
  • Benchmarks
  • API
  • Development
  • CHANGELOG
icontract
  • Welcome to icontract’s documentation!
  • View page source

Welcome to icontract’s documentation!

Contents:

  • Introduction
    • Related Projects
  • Usage
    • Preconditions and Postconditions
    • Invariants
    • Snapshots (a.k.a “old” argument values)
    • Inheritance
    • Toggling Contracts
    • Custom Errors
    • Variable Positional and Keyword Arguments
  • Checking Types at Runtime
  • Async
    • Special Considerations
  • Recipes
    • Serialize / Deserialize Pair
    • Encapsulation of Immutable Types
    • Unique Elements in a Sequence
    • Contracts on Elements of a Collection
    • Elements of a Sequence Sorted
    • Non-overlapping Sorted Ranges
    • Material Conditional (“If … then …”)
    • Compare against a Redundant Implementation
    • Exclusive Or (“Either … or …”)
    • Intermediate Variables
  • Implementation Details
    • Decorator Stack
    • Decoration with Invariants
    • Recursion in Contracts
  • Known Issues
    • Integration with help()
    • Defining contracts outside of decorators
    • *args and **kwargs
    • dataclasses
  • Benchmarks
  • API
    • require
    • snapshot
    • ensure
    • invariant
    • DBCMeta
    • DBC
    • ViolationError
    • InvariantCheckEvent
  • Development
    • Commit Message Style
  • CHANGELOG

Indices and tables

  • Index

  • Module Index

  • Search Page

Next

© Copyright Copyright 2019 Parquery AG.

Built with Sphinx using a theme provided by Read the Docs.