{"id":13759511,"url":"https://github.com/cobraframework/cobra","last_synced_at":"2025-05-10T09:32:52.069Z","repository":{"id":52701365,"uuid":"196801589","full_name":"cobraframework/cobra","owner":"cobraframework","description":"A fast, flexible and simple development environment framework for Ethereum smart contract, testing and  deployment on EVM.","archived":true,"fork":false,"pushed_at":"2022-12-08T05:56:51.000Z","size":745,"stargazers_count":53,"open_issues_count":2,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-11T15:07:53.494Z","etag":null,"topics":["blockchain","compile","deploy","ethereum","framework","hdwallet","network","pytest","smart-contracts","test","unittest"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/eth-cobra","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cobraframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-07-14T06:21:49.000Z","updated_at":"2023-10-21T18:39:30.000Z","dependencies_parsed_at":"2023-01-24T14:45:56.416Z","dependency_job_id":null,"html_url":"https://github.com/cobraframework/cobra","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobraframework%2Fcobra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobraframework%2Fcobra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobraframework%2Fcobra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cobraframework%2Fcobra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cobraframework","download_url":"https://codeload.github.com/cobraframework/cobra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224941000,"owners_count":17395804,"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":["blockchain","compile","deploy","ethereum","framework","hdwallet","network","pytest","smart-contracts","test","unittest"],"created_at":"2024-08-03T13:00:54.452Z","updated_at":"2024-11-16T16:30:59.843Z","avatar_url":"https://github.com/cobraframework.png","language":"Python","readme":"\u003cimg src=\"https://raw.githubusercontent.com/cobraframework/cobra/master/cobra.png\" width=\"225\"\u003e\n\n[![Build Status](https://travis-ci.com/cobraframework/cobra.svg?branch=master)](https://travis-ci.com/cobraframework/cobra)\n![PyPI Python Version](https://img.shields.io/pypi/pyversions/eth-cobra.svg)\n![PyPI License](https://img.shields.io/pypi/l/eth-cobra.svg?color=black)\n![PyPI Version](https://img.shields.io/pypi/v/eth-cobra.svg?color=blue)\n[![Coverage Status](https://coveralls.io/repos/github/cobraframework/cobra/badge.svg?branch=master)](https://coveralls.io/github/cobraframework/cobra?branch=master)\n\n---\n\nA fast, flexible and simple development environment framework for Ethereum smart contract, testing and \ndeployment on Ethereum virtual machine(EVM).\n\nWith cobra you can get built-in smart contract compilation, linking, deployment, binary management, \nautomated contract testing with Unittest and PyTest frameworks, scriptable deployment \u0026 migrations framework \nand network management for deploying to many public \u0026 private networks like [INFURA](https://infura.io) or \n[Ganache CLI](https://github.com/trufflesuite/ganache-cli).\n\n## Dependency\n\nThis library requires the `solc` executable to be present.\n\nOnly versions `\u003e=0.4.2` are supported and tested though this library may work\nwith other versions.\n\n* [solc](http://solidity.readthedocs.io/en/latest/installing-solidity.html): Ethereum solidity compiler.\n* [ganache-cli](https://github.com/trufflesuite/ganache-cli): A command-line version of Ethereum blockchain server.\n* [pip](https://pypi.org/project/pip/): To install packages from the Python Package Index and other indexes.\n* [python3](https://www.python.org/downloads/release/python-368/): version 3.6 or greater.\n\n## Installation\nPIP to install cobra globally. For Linux sudo may be required.\n```\n$ pip install eth-cobra\n```\n\n## Development\nWe welcome pull requests. To get started, just fork this repo, clone it locally, and run:\n```\n$ pip install -e . -r requirements.txt\n```\n\n## Quick Usage\n\nInitialize project structure \n\nA default set of contract and tests, run the following command: \n\n```\n$ cobra init\n```\n\nGet help:\n\n```\n$ cobra --help\n```\n\nFrom there, you can run `cobra compile`, `cobra deploy/migrate` and `cobra test --unittest/--pytest` \nto compile your contracts, deploy those contracts to the network, and run their associated unit tests.\n \n \n\u003cdetails\u003e\n\u003csummary\u003eadvanced cobra.yaml\u003c/summary\u003e\n\n```yaml\ncompile:\n  solidity_path: \"./contracts\" # global\n  artifact_path: \"./build/contracts\"\n  contracts: [\n    contract: {\n        solidity: \"Contract.sol\",\n        solidity_path: \"./contracts/libs\", # detail\n        import_remappings: [\n          \"=/path/folder/contracts/\"\n       ],\n        allow_paths: [\n          \"/path/folder/contracts/\"\n        ]\n    }\n  ]\n\ndeploy:\n  artifact_path: \"./build/contracts/\"\n  contracts: [\n    contract: {\n        artifact: \"Contract.json\",\n        links: [\"Contract.json\"]\n    }\n  ]\n\ntest:\n  artifact_path: \"./build/contracts/\"\n  test_paths: [\"./tests\"]\n  contracts: [\n    contract: {\n        artifact: \"Contract.json\",\n        links: [\"Contract.json\"]\n    }\n  ]\n\nnetwork:\n  development: {\n    url: \"https://ropsten.infura.io/...\",\n#    host: \"localhost\",\n#    port: 8545,\n    hdwallet: {\n        mnemonic: \"decide adjust legend nation type same task aim rigid lucky guilt close\", # or\n        seed: \"decide adjust legend nation type same task aim rigid lucky guilt close\",\n        password: \"meherett\",\n        private: \"5f8935bb3b61b312ba1114cbf6f1ea30102383f2b043a1b213aa482132d25049\",\n        gas: 3000000,\n        gas_price: 1000000\n    },\n    protocol: \"HTTPS\", # HTTP, HTTPS, WS(WebSocket) and ICP\n#    account: {\n#      address: \"0x6a373a75c388ac2d160f1d2b6d9ada34f29831cd\",\n#      gas: 3000000,\n#      gas_price: 1000000\n#    }\n  }\n```\n\u003c/details\u003e\n\n## Testing\nTests are still under development.\n\nYou can run the tests with:\n\n```\n$ pytest tests\n```\n\nOr use `tox` to run the complete suite against the full set of build targets, or pytest to run specific \ntests against a specific version of Python.\n\n## Contributing\nFeel free to open an issue if you find a problem, or a pull request if you've solved an issue.\n\n## Meta\n\nMeheret Tesfaye – [@meherett](https://github.com/meherett) – meherett@zoho.com\n\nDistributed under the MIT license. See ``LICENSE`` for more information.\n\n[https://github.com/meherett](https://github.com/meherett)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n","funding_links":[],"categories":["dApps directory","Roadmap"],"sub_categories":["Development Frameworks"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobraframework%2Fcobra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcobraframework%2Fcobra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobraframework%2Fcobra/lists"}