Skip to main content

ssz: Python implementation of the Simple Serialization encoding and decoding

Project description

# py-ssz [![Join the chat at https://gitter.im/ethereum/py-ssz](https://badges.gitter.im/ethereum/py-ssz.svg)](https://gitter.im/ethereum/py-ssz?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://circleci.com/gh/ethereum/py-ssz.svg?style=shield)](https://circleci.com/gh/ethereum/py-ssz) [![PyPI version](https://badge.fury.io/py/ssz.svg)](https://badge.fury.io/py/ssz) [![Python versions](https://img.shields.io/pypi/pyversions/ssz.svg)](https://pypi-hypernode.com/pypi/ssz) [![Docs build](https://readthedocs.org/projects/ssz/badge/?version=latest)](http://ssz.readthedocs.io/en/latest/?badge=latest)

Python implementation of the Simple Serialization encoding and decoding

Read more in the [documentation on ReadTheDocs](https://ssz.readthedocs.io/). [View the change log](https://ssz.readthedocs.io/en/latest/releases.html).

## Quickstart

`sh pip install ssz `

## Developer Setup

If you would like to hack on py-ssz, please check out the [Ethereum Development Tactical Manual](https://github.com/pipermerriam/ethereum-dev-tactical-manual) for information on how we do:

  • Testing

  • Pull Requests

  • Code Style

  • Documentation

### Development Environment Setup

You can set up your dev environment with:

`sh git clone git@github.com:ethereum/py-ssz.git cd py-ssz virtualenv -p python3 venv . venv/bin/activate pip install -e .[dev] `

### Testing Setup

During development, you might like to have tests run on every file save.

Show flake8 errors on file change:

`sh # Test flake8 when-changed -v -s -r -1 ssz/ tests/ -c "clear; flake8 ssz tests && echo 'flake8 success' || echo 'error'" `

Run multi-process tests in one command, but without color:

`sh # in the project root: pytest --numprocesses=4 --looponfail --maxfail=1 # the same thing, succinctly: pytest -n 4 -f --maxfail=1 `

Run in one thread, with color and desktop notifications:

`sh cd venv ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on py-ssz failed'" ../tests ../ssz `

### Release setup

For Debian-like systems: ` apt install pandoc `

To release a new version:

`sh make release bump=$$VERSION_PART_TO_BUMP$$ `

#### How to bumpversion

The version format for this repo is {major}.{minor}.{patch} for stable, and {major}.{minor}.{patch}-{stage}.{devnum} for unstable (stage can be alpha or beta).

To issue the next version in line, specify which part to bump, like make release bump=minor or make release bump=devnum. This is typically done from the master branch, except when releasing a beta (in which case the beta is released from master, and the previous stable branch is released from said branch). To include changes made with each release, update “docs/releases.rst” with the changes, and apply commit directly to master before release.

If you are in a beta version, make release bump=stage will switch to a stable.

To issue an unstable version when the current version is stable, specify the new version explicitly, like make release bump=”–new-version 4.0.0-alpha.1 devnum”

Project details


Download files

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

Source Distribution

ssz-0.2.1.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

ssz-0.2.1-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file ssz-0.2.1.tar.gz.

File metadata

  • Download URL: ssz-0.2.1.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for ssz-0.2.1.tar.gz
Algorithm Hash digest
SHA256 6d85b099f84846acb0223551ef25a6185a83eafb794ec566fd1614d8b59ffde8
MD5 48cdeac620cab149c1123fed31a0e267
BLAKE2b-256 979eac330b1c87d2f0ed4d5c79c67e7b82cdd5fae1ce60ffbaf2e446f2a30147

See more details on using hashes here.

File details

Details for the file ssz-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: ssz-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.4

File hashes

Hashes for ssz-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c21ddd07653a126117ccdabec3658ecb4d87beeacc97312a56515fc03e4ebf2d
MD5 862694832360840a00af9cd8bf4b2fb4
BLAKE2b-256 727ee5b46c120508060503195b5bae62040c5cc88e7c9829055dfdad576396e2

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