{"id":13421624,"url":"https://github.com/vyperlang/vyper","last_synced_at":"2025-05-13T17:04:01.401Z","repository":{"id":37502516,"uuid":"73461676","full_name":"vyperlang/vyper","owner":"vyperlang","description":"Pythonic Smart Contract Language for the EVM","archived":false,"fork":false,"pushed_at":"2025-05-05T10:46:48.000Z","size":13090,"stargazers_count":5023,"open_issues_count":527,"forks_count":845,"subscribers_count":154,"default_branch":"master","last_synced_at":"2025-05-06T16:12:20.716Z","etag":null,"topics":["ethereum","ethereum-dapp","language","python","vyper"],"latest_commit_sha":null,"homepage":"https://vyperlang.org","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/vyperlang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.rst","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://etherscan.io/address/0x70CCBE10F980d80b7eBaab7D2E3A73e87D67B775","https://giveth.io/project/vyper"]}},"created_at":"2016-11-11T08:56:41.000Z","updated_at":"2025-05-05T10:46:52.000Z","dependencies_parsed_at":"2022-07-14T05:30:29.313Z","dependency_job_id":"47a8f792-ed64-4c14-b07d-fbafe9ded1bd","html_url":"https://github.com/vyperlang/vyper","commit_stats":{"total_commits":4496,"total_committers":242,"mean_commits":"18.578512396694215","dds":0.7949288256227758,"last_synced_commit":"5a7b4811be9356e0bd60963119a4ccaafe26d850"},"previous_names":["ethereum/vyper"],"tags_count":76,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vyperlang%2Fvyper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vyperlang%2Fvyper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vyperlang%2Fvyper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vyperlang%2Fvyper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vyperlang","download_url":"https://codeload.github.com/vyperlang/vyper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990452,"owners_count":21995773,"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":["ethereum","ethereum-dapp","language","python","vyper"],"created_at":"2024-07-30T23:00:27.218Z","updated_at":"2025-05-13T17:04:01.325Z","avatar_url":"https://github.com/vyperlang.png","language":"Python","funding_links":["https://etherscan.io/address/0x70CCBE10F980d80b7eBaab7D2E3A73e87D67B775","https://giveth.io/project/vyper"],"categories":["Software Development","Python","Smart Contracts","Smart Contracts Languajes","Roadmap","smart contract","Ethereum","语言资源库","Smart Contract Platforms","Programming Languages that Compile into EVM"],"sub_categories":["Python","Vyper","Ethereum Basics","python","Other Implementations"],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/vyperlang/vyper/master/docs/logo.svg?sanitize=true\" alt=\"\" width=\"110\"\u003e\n\n[![Build Status](https://github.com/vyperlang/vyper/workflows/Test/badge.svg)](https://github.com/vyperlang/vyper/actions/workflows/test.yml)\n[![Documentation Status](https://readthedocs.org/projects/vyper/badge/?version=latest)](http://docs.vyperlang.org/en/latest/?badge=latest \"ReadTheDocs\")\n[![Discord](https://img.shields.io/discord/969926564286459934.svg?label=%23vyper)](https://discord.gg/6tw7PTM7C2)\n[![Telegram](https://img.shields.io/badge/Vyperholics🐍-Telegram-blue)](https://t.me/vyperlang)\n\n[![PyPI](https://badge.fury.io/py/vyper.svg)](https://pypi.org/project/vyper \"PyPI\")\n[![Docker](https://img.shields.io/docker/cloud/build/vyperlang/vyper)](https://hub.docker.com/r/vyperlang/vyper \"DockerHub\")\n\n[![Coverage Status](https://codecov.io/gh/vyperlang/vyper/branch/master/graph/badge.svg)](https://codecov.io/gh/vyperlang/vyper \"Codecov\")\n[![Language grade: Python](https://github.com/vyperlang/vyper/workflows/CodeQL/badge.svg)](https://github.com/vyperlang/vyper/actions/workflows/codeql.yml)\n\n# Getting Started\nSee [Installing Vyper](http://docs.vyperlang.org/en/latest/installing-vyper.html) to install vyper.\nSee [Tools and Resources](https://docs.vyperlang.org/en/latest/resources.html) for an additional list of framework and tools with vyper support.\nSee [Documentation](http://docs.vyperlang.org/en/latest/index.html) for the documentation and overall design goals of the Vyper language.\n\nSee [learn.vyperlang.org](https://learn.vyperlang.org/) for **learning Vyper by building a Pokémon game**.\nSee [try.vyperlang.org](https://try.vyperlang.org/) to use Vyper in a hosted jupyter environment!\n\n**Note: Vyper is constantly evolving, use with care and understand the risks associated with smart contract development.**\n\n# Installation\nSee the [Vyper documentation](https://docs.vyperlang.org/en/latest/installing-vyper.html)\nfor build instructions.\n\n# Compiling a contract\nTo compile a contract, use:\n```bash\nvyper your_file_name.vy\n```\n***generate bytecode***\n\n    vyper -f bytecode file-name.vy \u003e file-name.bin\n\n***generate abi***\n\n    vyper -f abi file-name.vy \u003e file-name.abi\n\nThere is also an [online compiler](https://vyper.online/) available you can use to experiment with\nthe language and compile to ``bytecode`` and/or ``IR``.\n\n**Note: While the vyper version of the online compiler is updated on a regular basis it might\nbe a bit behind the latest version found in the master branch of this repository.**\n\n## Testing (using pytest)\n\n(Complete [installation steps](https://docs.vyperlang.org/en/latest/installing-vyper.html) first.)\n\n```bash\nmake dev-init\n./quicktest.sh -m \"not fuzzing\"\n```\n\n## Testing (with hevm)\n\nInstall hevm by downloading it from the releases page (https://github.com/ethereum/hevm/releases/latest) and making sure it is in your PATH. hevm tests can be enabled with `--hevm` flag, and hevm tests can be selected with the `-m hevm` marker. For instance, `./quicktest.sh -m \"hevm\" --hevm`.\n\n## Developing (working on the compiler)\n\nA useful script to have in your PATH is something like the following:\n```bash\n$ cat ~/.local/bin/vyc\n#!/usr/bin/env bash\nPYTHONPATH=. python vyper/cli/vyper_compile.py \"$@\"\n```\n\nTo run a python performance profile (to find compiler perf hotspots):\n```bash\nPYTHONPATH=. python -m cProfile -s tottime vyper/cli/vyper_compile.py \"$@\"\n```\n\nTo get a call graph from a python profile, pip install `gprof2dot` and `xdot`, and run it like `gprof2dot -f pstats stats | xdot -`. (See https://stackoverflow.com/a/23164271/).\n\nThe utility timer functions `timeit`, `profileit` and `cumtimeit` are available in `vyper/utils.py`.\n\n\n# Contributing\n* See Issues tab, and feel free to submit your own issues\n* Add PRs if you discover a solution to an existing issue\n* For further discussions and questions, post in [Discussions](https://github.com/vyperlang/vyper/discussions) or talk to us on [Discord](https://discord.gg/6tw7PTM7C2)\n* For more information, see [Contributing](http://docs.vyperlang.org/en/latest/contributing.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvyperlang%2Fvyper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvyperlang%2Fvyper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvyperlang%2Fvyper/lists"}