|
1 | 1 | # Dopple |
2 | 2 |
|
3 | | -This Python script (found in `dopple.py`) provides HTTP proxy to Unix Socket based JSON-RPC servers. |
4 | | -Check out --help option for more information. |
| 3 | +HTTP proxy to Unix Socket based JSON-RPC servers |
| 4 | + |
| 5 | +## Installation |
| 6 | + |
| 7 | +```sh |
| 8 | +pip install dopple |
| 9 | +``` |
5 | 10 |
|
6 | 11 | ## Use |
7 | 12 |
|
8 | | -```bash |
9 | | -dopple.py ~/.ethereum/geth.ipc http://127.0.0.1:8545 |
| 13 | +```sh |
| 14 | +dopple ~/.ethereum/geth.ipc http://127.0.0.1:8545 |
| 15 | +``` |
| 16 | + |
| 17 | +Alternatively, `dopple` can be invoked as a pure script without installation: |
| 18 | + |
| 19 | +```sh |
| 20 | +./dopple/dopple.py ~/.ethereum/geth.ipc http://127.0.0.1:8545 |
10 | 21 | ``` |
11 | 22 |
|
12 | 23 | These values above are the default ones too. If they match your current configuration, they can be ommitted. |
13 | 24 |
|
14 | | -## Maintainers |
| 25 | +Check out `--help` option for more information. |
15 | 26 |
|
16 | | -Looking for maintainers! [Please state your interest here.](https://github.com/ethereum/dopple/issues/1) |
| 27 | +Read more in the [documentation on ReadTheDocs](https://dopple.readthedocs.io/). [View the change log](https://dopple.readthedocs.io/en/latest/releases.html). |
17 | 28 |
|
18 | 29 | ## License |
19 | 30 |
|
20 | 31 | Apache-2.0 |
| 32 | + |
| 33 | +## Developer Setup |
| 34 | + |
| 35 | +If you would like to hack on dopple, please check out the [Snake Charmers |
| 36 | +Tactical Manual](https://github.com/ethereum/snake-charmers-tactical-manual) |
| 37 | +for information on how we do: |
| 38 | + |
| 39 | +- Testing |
| 40 | +- Pull Requests |
| 41 | +- Code Style |
| 42 | +- Documentation |
| 43 | + |
| 44 | +### Development Environment Setup |
| 45 | + |
| 46 | +You can set up your dev environment with: |
| 47 | + |
| 48 | +```sh |
| 49 | +git clone [email protected]:ethereum/dopple.git |
| 50 | +cd dopple |
| 51 | +virtualenv -p python3 venv |
| 52 | +. venv/bin/activate |
| 53 | +pip install -e .[dev] |
| 54 | +``` |
| 55 | + |
| 56 | +### Testing Setup |
| 57 | + |
| 58 | +During development, you might like to have tests run on every file save. |
| 59 | + |
| 60 | +Show flake8 errors on file change: |
| 61 | + |
| 62 | +```sh |
| 63 | +# Test flake8 |
| 64 | +when-changed -v -s -r -1 dopple/ tests/ -c "clear; flake8 dopple tests && echo 'flake8 success' || echo 'error'" |
| 65 | +``` |
| 66 | + |
| 67 | +Run multi-process tests in one command, but without color: |
| 68 | + |
| 69 | +```sh |
| 70 | +# in the project root: |
| 71 | +pytest --numprocesses=4 --looponfail --maxfail=1 |
| 72 | +# the same thing, succinctly: |
| 73 | +pytest -n 4 -f --maxfail=1 |
| 74 | +``` |
| 75 | + |
| 76 | +Run in one thread, with color and desktop notifications: |
| 77 | + |
| 78 | +```sh |
| 79 | +cd venv |
| 80 | +ptw --onfail "notify-send -t 5000 'Test failure ⚠⚠⚠⚠⚠' 'python 3 test on dopple failed'" ../tests ../dopple |
| 81 | +``` |
| 82 | + |
| 83 | +### Release setup |
| 84 | + |
| 85 | +For Debian-like systems: |
| 86 | +``` |
| 87 | +apt install pandoc |
| 88 | +``` |
| 89 | + |
| 90 | +To release a new version: |
| 91 | + |
| 92 | +```sh |
| 93 | +make release bump=$$VERSION_PART_TO_BUMP$$ |
| 94 | +``` |
| 95 | + |
| 96 | +#### How to bumpversion |
| 97 | + |
| 98 | +The version format for this repo is `{major}.{minor}.{patch}` for stable, and |
| 99 | +`{major}.{minor}.{patch}-{stage}.{devnum}` for unstable (`stage` can be alpha or beta). |
| 100 | + |
| 101 | +To issue the next version in line, specify which part to bump, |
| 102 | +like `make release bump=minor` or `make release bump=devnum`. This is typically done from the |
| 103 | +master branch, except when releasing a beta (in which case the beta is released from master, |
| 104 | +and the previous stable branch is released from said branch). |
| 105 | + |
| 106 | +If you are in a beta version, `make release bump=stage` will switch to a stable. |
| 107 | + |
| 108 | +To issue an unstable version when the current version is stable, specify the |
| 109 | +new version explicitly, like `make release bump="--new-version 4.0.0-alpha.1 devnum"` |
0 commit comments