{"repo":"life4/deal","free":true,"listed":false,"github":"https://github.com/life4/deal","clone":"git clone https://github.com/life4/deal.git","description":"🤝 Design by contract for Python. Write bug-free code. Add a few decorators, get static analysis and tests for free.","language":"Python","stars":903,"topics":["python","contracts","invariant","contracts-programming","decorators","functional-programming","design-by-contract","pythonic","deal","validation"],"license":"MIT","category":"dev-tools","readme_excerpt":"A Python library for design by contract (DbC) and checking values, exceptions, and side-effects. In a nutshell, deal empowers you to write bug-free code. By adding a few decorators to your code, you get for free tests, static analysis, formal verification, and much more. Read intro to get started. Features [Classic DbC: precondition, postcondition, invariant.][values] [Tracking exceptions and side-effects.][exceptions] [Property-based testing.][tests] [Static checker.][linter] Integration with pytest, flake8, sphinx, and hypothesis. Type annotations support. [External validators support.][validators] [Contracts for importing modules.][module load] [Can be enabled or disabled on production.][runtime] [Colorless][colorless]: annotate only what you want. Hence, easy integration into an existing project. Colorful: syntax highlighting for every piece of code in every command. [Memory leaks detection][leaks]: deal makes sure that pure functions don't leave unexpected objects in the memory. DRY: test discovery, error messages generation. Partial execution: linter executes contracts to statically check possible values. [Formal verification][verification]: prove that your code works for all input (or find out when it doesn't). Zero-dependency runtime: there are some dependencies for analysis tools, but nothing of it is required on the production. Fast: each code change is benchmarked and profiled. Reliable: the library has 100% test coverage, partially verified, and runs on production","default_branch":null,"files":null,"tree":[],"storefront":"/r/life4","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/life4/deal/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}