{"id":23412683,"url":"https://github.com/olofblomqvist/marlowe-py","last_synced_at":"2025-04-09T04:10:33.956Z","repository":{"id":181319383,"uuid":"664363616","full_name":"OlofBlomqvist/marlowe-py","owner":"OlofBlomqvist","description":"Cardano Marlowe smart contract utils for python","archived":false,"fork":false,"pushed_at":"2024-05-21T16:52:13.000Z","size":20211,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-14T22:31:38.564Z","etag":null,"topics":["cardano","marlowe"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OlofBlomqvist.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-09T18:44:11.000Z","updated_at":"2024-05-21T16:52:17.000Z","dependencies_parsed_at":"2025-02-14T22:27:32.388Z","dependency_job_id":"3ad64a3e-ddf4-4c0d-bffe-65eb21fe624f","html_url":"https://github.com/OlofBlomqvist/marlowe-py","commit_stats":null,"previous_names":["olofblomqvist/marlowe-py"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlofBlomqvist%2Fmarlowe-py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlofBlomqvist%2Fmarlowe-py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlofBlomqvist%2Fmarlowe-py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OlofBlomqvist%2Fmarlowe-py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OlofBlomqvist","download_url":"https://codeload.github.com/OlofBlomqvist/marlowe-py/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247974731,"owners_count":21026742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cardano","marlowe"],"created_at":"2024-12-22T18:18:00.781Z","updated_at":"2025-04-09T04:10:33.939Z","avatar_url":"https://github.com/OlofBlomqvist.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PyPI version](https://badge.fury.io/py/marlowe.svg)](https://pypi.org/project/marlowe/)\n[![Downloads](https://static.pepy.tech/badge/marlowe)](https://pepy.tech/project/marlowe)\n\n\n\n## MARLOWE-PY\n\n**Python bindings for Marlowe_Lang [marlowe-rs](https://github.com/OlofBlomqvist/marlowe-rs).**\n\n\n### Features\n\n- Deserialize contracts from: cbor-hex, dsl, json.\n- Deserialize datums \u0026 redeemers from cbor-hex,json.\n- Serialize contracts to json, dsl.\n- Serialize datums \u0026 redeemers to cbor-hex, json.\n- Unstable: View contract expected next inputs and other state info.\n- Unstable: Define contracts directly in Python.\n- Unstable: Code generator: Convert any contract to equivalent Python code\n\n\n### Project goals\n\n- Provide easy to use API's for everything marlowe-rs supports.\n- Provide easy to use way of designing Marlowe contracts in Python.\n\n### How to install\n\n```bash\npip install marlowe\n```\n\nAlternatives:\n- pip install wlh files directly using builds artifacts from CI: https://github.com/OlofBlomqvist/marlowe-py/actions/workflows/build_wheels.yml\n- clone the repo, install prereqs: rust,python,maturin; run wheels.ps1 or wheels.sh\n\n### How to use\n\nSee the example notebook [here](https://github.com/OlofBlomqvist/marlowe-py/blob/main/example.ipynb).\n\nBasic contract construction:\n```python \nWhen(\n    case=[\n        Deposit(\n            by = Role(\"GUY1\"),\n            value = Constant(42000000), \n            of_token = ADA, \n            into_account = Role(\"GUY2\"),\n            then_continue_with = raw(Close()) # or merkleized(\"some hash\")\n        )\n    ], \n    timeout = TimeConst(999999999), \n    timeout_continuation = Close()\n)\n```\n\n### Building from source\n\n- See [development.md](https://github.com/OlofBlomqvist/marlowe-py/blob/main/development.md)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folofblomqvist%2Fmarlowe-py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folofblomqvist%2Fmarlowe-py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folofblomqvist%2Fmarlowe-py/lists"}