Skip to main content

Vyper: the Pythonic Programming Language for the EVM

Project description

Build Status Documentation Status Discord

PyPI Docker

Coverage Status Language grade: Python

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 beta software, use with care

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
python setup.py test

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, https://stackoverflow.com/a/23164271/ is helpful.

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vyper-0.4.0b5.tar.gz (624.6 kB view details)

Uploaded Source

Built Distribution

vyper-0.4.0b5-py3-none-any.whl (307.8 kB view details)

Uploaded Python 3

File details

Details for the file vyper-0.4.0b5.tar.gz.

File metadata

  • Download URL: vyper-0.4.0b5.tar.gz
  • Upload date:
  • Size: 624.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for vyper-0.4.0b5.tar.gz
Algorithm Hash digest
SHA256 86a26ddf9a52e69f90f0f32ddbf3400d210dec6e499c73d00a8ef64e23a7b7a2
MD5 cf3c6a648e484babe90c3e2662406c0d
BLAKE2b-256 3be60afbd488246e6d2dff3b19c0a1908f39ec2d7ab4361282f54342ef400890

See more details on using hashes here.

File details

Details for the file vyper-0.4.0b5-py3-none-any.whl.

File metadata

  • Download URL: vyper-0.4.0b5-py3-none-any.whl
  • Upload date:
  • Size: 307.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for vyper-0.4.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 e31ebefc4a55f80b2f3a52f0647a9809ff4d09d1bac3f2e8670b72befffb5093
MD5 a83ee231779b7b2cc7735964fd1835d8
BLAKE2b-256 a9b5a8cd35dbe82130e73e9a5a1259c662e1f5fc2ee9a8bd344c1af2735a8335

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page