{"id":21529185,"url":"https://github.com/everx-labs/testsuite4","last_synced_at":"2026-03-16T20:01:57.104Z","repository":{"id":40298216,"uuid":"333033196","full_name":"everx-labs/TestSuite4","owner":"everx-labs","description":"TestSuite4 is a framework designed to simplify development and testing of TON Contracts. It includes light-weight emulator of blockchain making it easy to develop contracts.","archived":false,"fork":false,"pushed_at":"2023-03-31T08:58:04.000Z","size":608,"stargazers_count":25,"open_issues_count":4,"forks_count":5,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-04-20T18:32:37.895Z","etag":null,"topics":["everscale","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/everx-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2021-01-26T09:24:39.000Z","updated_at":"2023-11-01T21:42:44.000Z","dependencies_parsed_at":"2024-04-16T15:33:08.236Z","dependency_job_id":"b9317a3a-df40-4ff8-b35c-09279c3fcaf9","html_url":"https://github.com/everx-labs/TestSuite4","commit_stats":null,"previous_names":["everx-labs/testsuite4"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2FTestSuite4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2FTestSuite4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2FTestSuite4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2FTestSuite4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/everx-labs","download_url":"https://codeload.github.com/everx-labs/TestSuite4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131467,"owners_count":21052819,"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":["everscale","python"],"created_at":"2024-11-24T01:56:09.859Z","updated_at":"2025-12-14T05:15:58.813Z","avatar_url":"https://github.com/everx-labs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TestSuite4 0.4.1\n\n[![Chat on Telegram](https://img.shields.io/badge/chat-on%20telegram-9cf.svg)](https://t.me/ton_ts4)\n\nTestSuite4 is a framework designed to simplify development and testing of TON Contracts. It contains lightweight\nblockchain emulator making it easy to develop contracts in a TDD-friendly style.\n\n## Features:\n\n- **Speed** - perform dozens of tests in just seconds.\n- **Complex test scenarios** - using Python as a scripting language allows you to create testing scenarios of varying complexity.\n- **Deep Integration** - access all internal messages, measure gas and control time.\n- **Easy installation** - use `pip install tonos-ts4` to install *TestSuite4* on your local Windows, Linux or macOS. You can also easily compile it from source if needed.\n\nSee `tutorials` for self-documented examples of framework usage or visit [TestSuite4's documentation](https://tonlabs.github.io/TestSuite4/).\n\n## List of tutorials\n\n- [tutorial01_getters.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial01_getters.py) - Working with getters of various types.\n- [tutorial02_methods.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial02_methods.py) - Working with external methods.\n- [tutorial03_constructors.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial03_constructors.py) - Working with constructors.\n- [tutorial04_messages.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial04_messages.py) - Dispatching messages between contracts and catching events.\n- [tutorial05_deploy.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial05_deploy.py) - Deploying a contract from a contract and working with it through wrappers.\n- [tutorial06_signatures.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial06_signatures.py) - Working with singed external calls and handling exceptions raised by a contract.\n- [tutorial07_time.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial07_time.py) - Fast-forwarding time however you need to.\n- [tutorial08_balance.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial08_balance.py) - Fetching contract balance.\n- [tutorial09_send_money.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial09_send_money.py) - Send money and watch it travel within the virtual blockchain.\n- [tutorial10_encode_call.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial10_encode_call.py) - Encode the payload for use in the `transfer()` call.\n- [tutorial11_set_code.py](https://github.com/tonlabs/TestSuite4/blob/master/tutorials/tutorial11_set_code.py) - Using the contract code update functionality.\n\n## Quick Start\n\n:warning: *You might need to replace `python` and `pip` with `python3` and `pip3` if you are running Linux or macOS.*\n\nIf you have `Python 3.6-3.9`, `pip` and `git` installed on your system, you can proceed with the following steps.\n\n1. Install `tonos-ts4` package:\n```bash\npip install tonos-ts4\n```\n\n2. Download tutorials from GitHub:\n```bash\ngit clone git@github.com:tonlabs/TestSuite4.git\n```\n\n3. ... and run the tutorials:\n```bash\ncd TestSuite4/tutorials\npython tutorial01_getters.py\n```\n\nFor more information, visit [TestSuite4's documentation](https://tonlabs.github.io/TestSuite4/).\n\n## Building TestSuite4 from source\n\n### Prerequesites\n\n- Python 3.6-3.9\n- Latest version of Rust\n- Cargo tool\n\n### Build for Linux and macOS\n\n```bash\ncd linker_lib \u0026\u0026 cargo update \u0026\u0026 ./build_release.sh \u0026\u0026 cd -\n```\n\n### Build for Windows\n\n```bash\ncd linker_lib \u0026\u0026 cargo update \u0026\u0026 build_release.sh \u0026\u0026 cd -\n```\n\n### Install package in developer mode\n\n```bash\npython setup.py develop\n```\n\n### Disable developer mode\n\n```bash\npython3 setup.py develop --uninstall\n```\n\n### Run tutorials\n\n```bash\ncd tutorials\npython tutorial01_getters.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feverx-labs%2Ftestsuite4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feverx-labs%2Ftestsuite4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feverx-labs%2Ftestsuite4/lists"}