Getting Started
See Installing Vyper to install vyper. See Tools and Resources for an additional list of framework and tools with vyper support. See Documentation for the documentation and overall design goals of the Vyper language.
See learn.vyperlang.org for learning Vyper by building a Pokémon game. See try.vyperlang.org to use Vyper in a hosted jupyter environment!
Note: Vyper is constantly evolving, use with care and understand the risks associated with smart contract development.
Installation
See the Vyper documentation for build instructions.
Compiling a contract
To compile a contract, use:
vyper your_file_name.vy
generate bytecode
vyper -f bytecode file-name.vy > file-name.bin
generate abi
vyper -f abi file-name.vy > file-name.abi
There is also an online compiler available you can use to experiment with
the language and compile to bytecode and/or IR.
Note: While the vyper version of the online compiler is updated on a regular basis it might be a bit behind the latest version found in the master branch of this repository.
Testing (using pytest)
(Complete installation steps first.)
make dev-init
./quicktest.sh -m "not fuzzing"
Testing (with hevm)
Install 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.
Developing (working on the compiler)
A useful script to have in your PATH is something like the following:
$ cat ~/.local/bin/vyc
#!/usr/bin/env bash
PYTHONPATH=. python vyper/cli/vyper_compile.py "$@"
To run a python performance profile (to find compiler perf hotspots):
PYTHONPATH=. python -m cProfile -s tottime vyper/cli/vyper_compile.py "$@"
To 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/).
The utility timer functions timeit, profileit and cumtimeit are available in vyper/utils.py.
Contributing
- See Issues tab, and feel free to submit your own issues
- Add PRs if you discover a solution to an existing issue
- For further discussions and questions, post in Discussions or talk to us on Discord
- For more information, see Contributing
Metadata
Release files for vyper 0.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vyper-0.4.3.tar.gz | 877.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vyper-0.4.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / vyper-0.4.3.tar.gz
| Download URL | vyper-0.4.3.tar.gz |
|---|---|
| Size | 877.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22a7573657401d8a3bc690d65d6b7741680007180978c3a05f9892db31d5dcf5
|
|
BLAKE2b-256 checksum How to use checksums |
79d5958145eb2f88b95a2f3d43785e41dcdc2ab5a01af5d88199248dbed33774
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 18, 2025.
Transparency logRelease files / vyper-0.4.3-py3-none-any.whl
| Download URL | vyper-0.4.3-py3-none-any.whl |
|---|---|
| Size | 403.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b9671727c888363740dc678e60336759871487d0e4e9fdd973048fa9635c4fd
|
|
BLAKE2b-256 checksum How to use checksums |
f345ad3c7d78aaa3e50d229968bc39eaf193f9b8eee79b5f16a3bed8f35e1395
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 18, 2025.
Transparency log