Ethereum Development Framework (fork for LLL)
Project description
# PopuLLLus
**NOTE** from @veox:
This is a fork of [Populus](https://github.com/ethereum/populus) with some
rough commits to enable developing in LLL. It is the same as my
[`lll-to-merge`](https://github.com/veox/populus/tree/lll-to-merge) branch.
It will install as `populus`, not `populllus`! For this reason, it is
recommended installing inside a `virtualenv`.
Also, it will _still_ require specifying the `LLLBackend` manually in the
project config.
I never got to making its use sane; for example, it will proceed without
raising an exception even if `lllc` failed to compile a contract, and won't
even print what the compiler complained about.
I never got to proper integration into upstream Populus, since the latter
fell behind in maintenance, and is now in re-design/re-implementation phase
anyway.
I did, however, use this fork in a number of projects:
* https://gitlab.com/veox/lll-contracts
* https://gitlab.com/veox/lll-creation-patterns
* https://gitlab.com/veox/oobiqoo
Breaking this fork out as a standalone project allows me to make a PyPI
package, specify it as a dependency in those other codebases, and allow
for straightforward reproduction by others. In the end, this is the goal:
make the software easy to approach and hack on, is so you may wish.
Runnable CI is a bonus. :)
-----
The rest of README remains as-is since forked.
**Many other project-level documentation is outdated, too.**
-----
-----
## Documentation
[Documentation on ReadTheDocs](http://populus.readthedocs.org/en/latest/)
## Installation
```sh
pip install populus
```
## Development
```sh
pip install -e . -r requirements-dev.txt
```
### Running the tests
You can run the tests with:
```sh
py.test tests
```
Or you can install `tox` to run the full test suite.
### Releasing
Pandoc is required for transforming the markdown README to the proper format to
render correctly on pypi.
For Debian-like systems:
```
apt install pandoc
```
Or on OSX:
```sh
brew install pandoc
```
To release a new version:
```sh
bumpversion $$VERSION_PART_TO_BUMP$$
git push && git push --tags
make release
```
#### 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, use bumpversion and specify which part to bump,
like `bumpversion minor` or `bumpversion devnum`.
If you are in a beta version, `bumpversion stage` will switch to a stable.
To issue an unstable version when the current version is stable, specify the
new version explicitly, like `bumpversion --new-version 4.0.0-alpha.1 devnum`
**NOTE** from @veox:
This is a fork of [Populus](https://github.com/ethereum/populus) with some
rough commits to enable developing in LLL. It is the same as my
[`lll-to-merge`](https://github.com/veox/populus/tree/lll-to-merge) branch.
It will install as `populus`, not `populllus`! For this reason, it is
recommended installing inside a `virtualenv`.
Also, it will _still_ require specifying the `LLLBackend` manually in the
project config.
I never got to making its use sane; for example, it will proceed without
raising an exception even if `lllc` failed to compile a contract, and won't
even print what the compiler complained about.
I never got to proper integration into upstream Populus, since the latter
fell behind in maintenance, and is now in re-design/re-implementation phase
anyway.
I did, however, use this fork in a number of projects:
* https://gitlab.com/veox/lll-contracts
* https://gitlab.com/veox/lll-creation-patterns
* https://gitlab.com/veox/oobiqoo
Breaking this fork out as a standalone project allows me to make a PyPI
package, specify it as a dependency in those other codebases, and allow
for straightforward reproduction by others. In the end, this is the goal:
make the software easy to approach and hack on, is so you may wish.
Runnable CI is a bonus. :)
-----
The rest of README remains as-is since forked.
**Many other project-level documentation is outdated, too.**
-----
-----
## Documentation
[Documentation on ReadTheDocs](http://populus.readthedocs.org/en/latest/)
## Installation
```sh
pip install populus
```
## Development
```sh
pip install -e . -r requirements-dev.txt
```
### Running the tests
You can run the tests with:
```sh
py.test tests
```
Or you can install `tox` to run the full test suite.
### Releasing
Pandoc is required for transforming the markdown README to the proper format to
render correctly on pypi.
For Debian-like systems:
```
apt install pandoc
```
Or on OSX:
```sh
brew install pandoc
```
To release a new version:
```sh
bumpversion $$VERSION_PART_TO_BUMP$$
git push && git push --tags
make release
```
#### 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, use bumpversion and specify which part to bump,
like `bumpversion minor` or `bumpversion devnum`.
If you are in a beta version, `bumpversion stage` will switch to a stable.
To issue an unstable version when the current version is stable, specify the
new version explicitly, like `bumpversion --new-version 4.0.0-alpha.1 devnum`
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
populllus-2.2.2.tar.gz
(54.0 kB
view details)
Built Distribution
populllus-2.2.2-py3-none-any.whl
(96.6 kB
view details)
File details
Details for the file populllus-2.2.2.tar.gz
.
File metadata
- Download URL: populllus-2.2.2.tar.gz
- Upload date:
- Size: 54.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9ea98e5b28f4835dec7fba94bead8f4b0222a92924b420089e50fb838ab7163 |
|
MD5 | 94967d9a3d94c7a6cddcfb2481283228 |
|
BLAKE2b-256 | 63ea5503eee2597de4d8464006bca61f7f57add1e8a19f1e5a97e684113c88b2 |
File details
Details for the file populllus-2.2.2-py3-none-any.whl
.
File metadata
- Download URL: populllus-2.2.2-py3-none-any.whl
- Upload date:
- Size: 96.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b51cfffeaf2cadcb62e6ceb329284aa3a3ca5d6e4be4744e1d57bc7a9f415c6 |
|
MD5 | b6d81c0e13f76e943ab74bfd5171e218 |
|
BLAKE2b-256 | 4b48b5beeb1e9a63345e84e4ae0d3f5715511f8c0938d34cc766f58752a8a6ee |