skillfed

vyper

Vyper: the Pythonic Programming Language for the EVM

vyper v0.4.3 235.9K downloads/30d#8,993 on PyPI5,179
Permissive license Apache License 2.0 Active released

What it is and what it does

Vyper is a statically-typed programming language designed specifically for writing smart contracts on the EVM. It adopts Python syntax and semantics to make smart contract development more accessible to Python developers. The compiler translates Vyper source code into EVM bytecode and generates contract ABIs for deployment and interaction.

The package provides a command-line compiler that can generate bytecode, ABI, and intermediate representations from .vy contract files. It depends on cbor2, asttokens, pycryptodome, packaging, lark, wheel, and immutables for parsing, cryptographic operations, and code analysis. The language is actively maintained and supports Python 3.10 through 3.13, though the project emphasizes that Vyper is constantly evolving and users should understand the risks associated with smart contract development.

Use it for:

  • Compile Vyper smart contracts to EVM bytecode for deployment on Ethereum and compatible networks
  • Generate contract ABIs for integration with web3 libraries and blockchain interaction tools
  • Develop smart contracts using Python-familiar syntax while leveraging EVM features
  • Experiment with smart contract logic in the online Jupyter environment at try.vyperlang.org
  • Build and test Ethereum contracts as part of a development pipeline using the CLI compiler

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Vyper is a Python-like programming language for writing smart contracts on the Ethereum Virtual Machine (EVM), compiling to bytecode and ABI formats.

Yes, with caution. Vyper is actively maintained, widely used (235861 monthly downloads), and offers genuine value for Python developers entering smart contract development. However, install only if you understand smart contract security risks and can review the 2 known vulnerabilities (GHSA-vgf2-gvx8-xwc3, PYSEC-2023-142) in the context of your use case. Not suitable for production contracts without security audit.

Install

vyper on PyPI

pip

pip install vyper

uv

uv add vyper

poetry

poetry add vyper

Installing vyper

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits and a large community (5179 GitHub stars). However, the package has 2 known security vulnerabilities that should be reviewed before use.

License in practice

Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

pip install vyper
vyper your_file_name.vy
vyper -f bytecode your_file_name.vy > your_file_name.bin
vyper -f abi your_file_name.vy > your_file_name.abi

Requires Python 3.10 or later (supports 3.10, 3.11, 3.12, 3.13). Vyper is constantly evolving; understand the risks associated with smart contract development before using in production.

Verify before relying

  • Whether the 2 known vulnerabilities (GHSA-vgf2-gvx8-xwc3, PYSEC-2023-142) affect the compiler itself or only specific contract patterns
  • Current status and remediation timeline for the identified security issues

Package facts

License Apache License 2.0 (permissive)
Python support supports the current Python release (<4,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — cbor2, asttokens, pycryptodome, packaging, lark, wheel, immutables
Maintenance actively maintained — 422 days since the last release
Last repo commit
First released
Downloads 235,861/month — #8,993 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities 2 — GHSA-vgf2-gvx8-xwc3, PYSEC-2023-142

Evidence: vyper-0.4.3-py3-none-any.whl

Keywords: ethereum, evm, smart, contract, language

Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Tags

smart contract language EVMvyper compiler ethereumpythonic smart contractEVM bytecode generationethereum contract development
smart-contractsethereumcompiler

More Build Tools packages