├── .github └── workflows │ └── main.yml ├── .gitignore ├── .markdownlint.yaml ├── LICENSE ├── README.md ├── Taskfile.yml ├── deal_solver ├── __init__.py ├── _annotations.py ├── _ast.py ├── _cached_property.py ├── _context │ ├── __init__.py │ ├── _context.py │ ├── _layer.py │ ├── _scope.py │ └── _trace.py ├── _eval_contracts.py ├── _eval_expr.py ├── _eval_stmt.py ├── _exceptions.py ├── _funcs │ ├── __init__.py │ ├── _builtins.py │ ├── _math.py │ ├── _os_path.py │ ├── _random.py │ ├── _re.py │ └── _registry.py ├── _goal.py ├── _model.py ├── _proxies │ ├── __init__.py │ ├── _bool.py │ ├── _dict.py │ ├── _float.py │ ├── _func.py │ ├── _funcs.py │ ├── _int.py │ ├── _lambda.py │ ├── _list.py │ ├── _method.py │ ├── _methods.py │ ├── _pattern.py │ ├── _proxy.py │ ├── _registry.py │ ├── _set.py │ ├── _str.py │ ├── _type_factory.py │ └── _var_tuple.py ├── _registry.py ├── _theorem.py ├── _types.py └── py.typed ├── pyproject.toml ├── setup.cfg └── tests ├── __init__.py ├── conftest.py ├── helpers.py ├── test_annotations.py ├── test_ast.py ├── test_context.py ├── test_contracts ├── __init__.py ├── test_ensure.py ├── test_post.py ├── test_pre.py └── test_raises.py ├── test_exceptions.py ├── test_expr.py ├── test_if.py ├── test_model.py ├── test_stdlib ├── __init__.py ├── test_math.py ├── test_os_path.py ├── test_random.py └── test_re.py ├── test_stmt.py ├── test_subcalls.py ├── test_theorem.py ├── test_type_errors.py ├── test_types ├── __init__.py ├── test_bool.py ├── test_dict.py ├── test_float.py ├── test_int.py ├── test_list.py ├── test_set.py ├── test_str.py └── test_tuple.py └── test_unsupported.py /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/.gitignore -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/.markdownlint.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/README.md -------------------------------------------------------------------------------- /Taskfile.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/Taskfile.yml -------------------------------------------------------------------------------- /deal_solver/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/__init__.py -------------------------------------------------------------------------------- /deal_solver/_annotations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_annotations.py -------------------------------------------------------------------------------- /deal_solver/_ast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_ast.py -------------------------------------------------------------------------------- /deal_solver/_cached_property.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_cached_property.py -------------------------------------------------------------------------------- /deal_solver/_context/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_context/__init__.py -------------------------------------------------------------------------------- /deal_solver/_context/_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_context/_context.py -------------------------------------------------------------------------------- /deal_solver/_context/_layer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_context/_layer.py -------------------------------------------------------------------------------- /deal_solver/_context/_scope.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_context/_scope.py -------------------------------------------------------------------------------- /deal_solver/_context/_trace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_context/_trace.py -------------------------------------------------------------------------------- /deal_solver/_eval_contracts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_eval_contracts.py -------------------------------------------------------------------------------- /deal_solver/_eval_expr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_eval_expr.py -------------------------------------------------------------------------------- /deal_solver/_eval_stmt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_eval_stmt.py -------------------------------------------------------------------------------- /deal_solver/_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_exceptions.py -------------------------------------------------------------------------------- /deal_solver/_funcs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/__init__.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_builtins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_builtins.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_math.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_math.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_os_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_os_path.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_random.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_re.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_re.py -------------------------------------------------------------------------------- /deal_solver/_funcs/_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_funcs/_registry.py -------------------------------------------------------------------------------- /deal_solver/_goal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_goal.py -------------------------------------------------------------------------------- /deal_solver/_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_model.py -------------------------------------------------------------------------------- /deal_solver/_proxies/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/__init__.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_bool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_bool.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_dict.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_dict.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_float.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_float.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_func.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_func.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_funcs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_funcs.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_int.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_int.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_lambda.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_lambda.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_list.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_method.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_method.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_methods.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_methods.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_pattern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_pattern.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_proxy.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_registry.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_set.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_set.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_str.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_str.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_type_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_type_factory.py -------------------------------------------------------------------------------- /deal_solver/_proxies/_var_tuple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_proxies/_var_tuple.py -------------------------------------------------------------------------------- /deal_solver/_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_registry.py -------------------------------------------------------------------------------- /deal_solver/_theorem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_theorem.py -------------------------------------------------------------------------------- /deal_solver/_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/deal_solver/_types.py -------------------------------------------------------------------------------- /deal_solver/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/pyproject.toml -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/setup.cfg -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/helpers.py -------------------------------------------------------------------------------- /tests/test_annotations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_annotations.py -------------------------------------------------------------------------------- /tests/test_ast.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_ast.py -------------------------------------------------------------------------------- /tests/test_context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_context.py -------------------------------------------------------------------------------- /tests/test_contracts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_contracts/test_ensure.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_contracts/test_ensure.py -------------------------------------------------------------------------------- /tests/test_contracts/test_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_contracts/test_post.py -------------------------------------------------------------------------------- /tests/test_contracts/test_pre.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_contracts/test_pre.py -------------------------------------------------------------------------------- /tests/test_contracts/test_raises.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_contracts/test_raises.py -------------------------------------------------------------------------------- /tests/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_exceptions.py -------------------------------------------------------------------------------- /tests/test_expr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_expr.py -------------------------------------------------------------------------------- /tests/test_if.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_if.py -------------------------------------------------------------------------------- /tests/test_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_model.py -------------------------------------------------------------------------------- /tests/test_stdlib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_stdlib/test_math.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_stdlib/test_math.py -------------------------------------------------------------------------------- /tests/test_stdlib/test_os_path.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_stdlib/test_os_path.py -------------------------------------------------------------------------------- /tests/test_stdlib/test_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_stdlib/test_random.py -------------------------------------------------------------------------------- /tests/test_stdlib/test_re.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_stdlib/test_re.py -------------------------------------------------------------------------------- /tests/test_stmt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_stmt.py -------------------------------------------------------------------------------- /tests/test_subcalls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_subcalls.py -------------------------------------------------------------------------------- /tests/test_theorem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_theorem.py -------------------------------------------------------------------------------- /tests/test_type_errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_type_errors.py -------------------------------------------------------------------------------- /tests/test_types/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/test_types/test_bool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_bool.py -------------------------------------------------------------------------------- /tests/test_types/test_dict.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_dict.py -------------------------------------------------------------------------------- /tests/test_types/test_float.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_float.py -------------------------------------------------------------------------------- /tests/test_types/test_int.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_int.py -------------------------------------------------------------------------------- /tests/test_types/test_list.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_list.py -------------------------------------------------------------------------------- /tests/test_types/test_set.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_set.py -------------------------------------------------------------------------------- /tests/test_types/test_str.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_str.py -------------------------------------------------------------------------------- /tests/test_types/test_tuple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_types/test_tuple.py -------------------------------------------------------------------------------- /tests/test_unsupported.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/life4/deal-solver/HEAD/tests/test_unsupported.py --------------------------------------------------------------------------------