{"id":13425642,"url":"https://github.com/algorand/graviton","last_synced_at":"2025-08-24T19:14:27.272Z","repository":{"id":37794274,"uuid":"473681233","full_name":"algorand/graviton","owner":"algorand","description":"🧑‍🔬 verify your TEAL program by experiment and observation","archived":false,"fork":false,"pushed_at":"2023-04-07T02:16:32.000Z","size":207,"stargazers_count":18,"open_issues_count":13,"forks_count":8,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-04-28T02:00:11.051Z","etag":null,"topics":["algorand","avm","blockchain","pyteal","pytest","python","smart-contracts","tdd","teal","test-driven-development","testing"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/algorand.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":"2022-03-24T16:13:00.000Z","updated_at":"2023-05-26T11:21:18.000Z","dependencies_parsed_at":"2024-04-15T06:30:44.092Z","dependency_job_id":"00571604-df86-4dad-9d72-fddf1de719de","html_url":"https://github.com/algorand/graviton","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorand%2Fgraviton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorand%2Fgraviton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorand%2Fgraviton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algorand%2Fgraviton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algorand","download_url":"https://codeload.github.com/algorand/graviton/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224360228,"owners_count":17298319,"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":["algorand","avm","blockchain","pyteal","pytest","python","smart-contracts","tdd","teal","test-driven-development","testing"],"created_at":"2024-07-31T00:01:15.999Z","updated_at":"2024-11-12T23:10:31.887Z","avatar_url":"https://github.com/algorand.png","language":"Jupyter Notebook","funding_links":[],"categories":["Development \u0026 Tools","Development Tools"],"sub_categories":["Testing \u0026 Debugging","Other Development Tools"],"readme":"\u003c!-- markdownlint-disable no-inline-html --\u003e\n\u003c!-- markdownlint-disable first-line-h1 --\u003e\n\u003cp align=\"center\"\u003e\u003cimg  width=100%  src=\"https://infura-ipfs.io/ipfs/QmRVnM9EaCk3u9p42b5ppLjwxUPv54EDQihmkNyFxqKuVi\"  border=\"0\" /\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://algorand.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Powered by-Algorand-teal.svg\" alt=\"Algorand\" /\u003e\u003c/a\u003e\n    \u003ca\u003e\u003cimg src=\"https://visitor-badge.glitch.me/badge?page_id=algorand.graviton\u0026right_color=green\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# About\n\nGraviton is a software toolkit for blackbox testing of smart contracts written in TEAL.\n\n## [Tutorial](./graviton/README.md)\n\n## Local Installation\n\nThe following instructions assume that you have `make` available in your local environment. In Mac OS and Linux this is most likely already available and in Windows one way to install is with [chocolatey](https://chocolatey.org/) and the command `choco install make`.\n\nTo install all dependencies:\n\n```sh\nmake pip-notebooks\n```\n\n## Running Blackbox Integration Tests against a Sandbox\n\n### Prereq - Install and Symbolically Link to the Sandbox\n\nIf you would like to use the [Makefile](./Makefile) without modification and with full functionality, you should create a symbolic link to  [the algorand sandbox repo](https://github.com/algorand/sandbox) as described here. There are many ways to accomplish this. Assuming you have cloned ***the sandbox*** into the path  `/path/to/algorand/sandbox/` and that you've `cd`'ed into the cloned `graviton` directory you should create a symbolic link as follows:\n\n#### Linux / Mac OS\n\n```sh\nln -s /path/to/algorand/sandbox/ sandbox\n```\n\n#### Windows 10+\n\n```sh\nmklink sandbox \\path\\to\\algorand\\sandbox\n```\n\n\u003c!-- TODO: Re-do this using the docker image as in PyTEAL  --\u003e\n### Test the Sandbox\n\nWith your sandbox running to test that the sandbox is running properly, use the following:\n\n```sh\nmake local-sandbox-test\n```\n\n### Run the Integration Tests\n\n```sh\nmake integration-test\n```\n\n## Running and Testing Jupyter Notebooks\n\nTo run the notebook `notebooks/quadratic_factoring_game.ipynb` for example:\n\n```sh\nmake local-notebook NOTEBOOK=notebooks/quadratic_factoring_game.ipynb\n```\n\nTo non-interactively run all the jupyter notebook tests:\n\n```sh\nmake notebooks-test\n```\n\n## Ensuring that all is Copacetic Before Pushing to Github\n\nTo test in your local environment that everything is looking good before pushing to Github, it is recommended that you run `make all-tests`\n\nIf you would like to simulate the github actions locally, you'll need to install [nektos act](https://github.com/nektos/act/wiki/Installation). On Mac OS with [Docker](https://docs.docker.com/desktop/mac/install/) previously installed you can use `brew install act`; on the other hand, on Linux and Windows follow the installation instructions in the nextos repo link above.\n\nOnce `act` is available you can simulate all the github actions integration tests with:\n\n```sh\nmake local-gh-simulate\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorand%2Fgraviton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgorand%2Fgraviton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgorand%2Fgraviton/lists"}