py-geth 5.1.0__tar.gz → 5.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {py_geth-5.1.0 → py_geth-5.2.1}/LICENSE +1 -1
- {py_geth-5.1.0 → py_geth-5.2.1}/MANIFEST.in +1 -0
- {py_geth-5.1.0/py_geth.egg-info → py_geth-5.2.1}/PKG-INFO +22 -11
- {py_geth-5.1.0 → py_geth-5.2.1}/README.md +4 -6
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/install.py +4 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/types.py +1 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/validation.py +1 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/wrapper.py +3 -0
- {py_geth-5.1.0 → py_geth-5.2.1/py_geth.egg-info}/PKG-INFO +22 -11
- {py_geth-5.1.0 → py_geth-5.2.1}/py_geth.egg-info/SOURCES.txt +1 -6
- {py_geth-5.1.0 → py_geth-5.2.1}/py_geth.egg-info/requires.txt +3 -3
- {py_geth-5.1.0 → py_geth-5.2.1}/pyproject.toml +58 -12
- py_geth-5.2.1/scripts/release/test_package.py +50 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/setup.py +6 -5
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/conftest.py +1 -2
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/running/test_running_with_logging.py +1 -2
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/utility/test_is_live_chain.py +1 -2
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/utility/test_is_sepolia_chain.py +1 -2
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/utility/test_validation.py +1 -2
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/waiting/test_waiting_for_ipc_socket.py +2 -1
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/waiting/test_waiting_for_rpc_connection.py +2 -1
- py_geth-5.1.0/tests/core/accounts/projects/test-01/geth/LOCK +0 -0
- py_geth-5.1.0/tests/core/accounts/projects/test-01/geth/nodekey +0 -1
- py_geth-5.1.0/tests/core/accounts/projects/test-02/geth/LOCK +0 -0
- py_geth-5.1.0/tests/core/accounts/projects/test-02/geth/nodekey +0 -1
- py_geth-5.1.0/tests/core/accounts/projects/test-03/geth/LOCK +0 -0
- py_geth-5.1.0/tests/core/accounts/projects/test-03/geth/nodekey +0 -1
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/__init__.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/accounts.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/chain.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/default_blockchain_password +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/exceptions.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/genesis.json +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/main.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/mixins.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/process.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/py.typed +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/reset.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/__init__.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/encoding.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/filesystem.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/networking.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/proc.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/thread.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/geth/utils/timeout.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/py_geth.egg-info/dependency_links.txt +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/py_geth.egg-info/not-zip-safe +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/py_geth.egg-info/top_level.txt +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/setup.cfg +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/projects/test-01/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2 +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2 +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-00.716418819Z--e8e085862a8d951dd78ec5ea784b3e22ee1ca9c6 +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-04.748321142Z--0da70f43a568e88168436be52ed129f4a9bbdaf5 +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/test_account_list_parsing.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/test_create_geth_account.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/accounts/test_geth_accounts.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/running/test_running_dev_chain.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/running/test_running_mainnet_chain.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/running/test_running_sepolia_chain.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/running/test_use_as_a_context_manager.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/test_import_and_version.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/test_library_files.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/utility/test_constructing_test_chain_kwargs.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/utility/test_geth_version.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/core/waiting/conftest.py +0 -0
- {py_geth-5.1.0 → py_geth-5.2.1}/tests/installation/test_geth_installation.py +1 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2016-
|
3
|
+
Copyright (c) 2016-2025 The Ethereum Foundation
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: py-geth
|
3
|
-
Version: 5.1
|
3
|
+
Version: 5.2.1
|
4
4
|
Summary: py-geth: Run Go-Ethereum as a subprocess
|
5
5
|
Home-page: https://github.com/ethereum/py-geth
|
6
6
|
Author: The Ethereum Foundation
|
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
20
21
|
Requires-Python: >=3.8, <4
|
21
22
|
Description-Content-Type: text/markdown
|
22
23
|
License-File: LICENSE
|
@@ -28,23 +29,35 @@ Requires-Dist: types-requests>=2.0.0
|
|
28
29
|
Requires-Dist: typing-extensions>=4.0.1
|
29
30
|
Provides-Extra: dev
|
30
31
|
Requires-Dist: build>=0.9.0; extra == "dev"
|
31
|
-
Requires-Dist:
|
32
|
+
Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
|
32
33
|
Requires-Dist: ipython; extra == "dev"
|
33
34
|
Requires-Dist: mypy==1.10.0; extra == "dev"
|
34
35
|
Requires-Dist: pre-commit>=3.4.0; extra == "dev"
|
35
36
|
Requires-Dist: tox>=4.0.0; extra == "dev"
|
36
37
|
Requires-Dist: twine; extra == "dev"
|
37
38
|
Requires-Dist: wheel; extra == "dev"
|
38
|
-
Requires-Dist: towncrier<
|
39
|
+
Requires-Dist: towncrier<25,>=24; extra == "dev"
|
39
40
|
Requires-Dist: flaky>=3.2.0; extra == "dev"
|
40
41
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
41
42
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
|
42
43
|
Provides-Extra: docs
|
43
|
-
Requires-Dist: towncrier<
|
44
|
+
Requires-Dist: towncrier<25,>=24; extra == "docs"
|
44
45
|
Provides-Extra: test
|
45
46
|
Requires-Dist: flaky>=3.2.0; extra == "test"
|
46
47
|
Requires-Dist: pytest>=7.0.0; extra == "test"
|
47
48
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
|
49
|
+
Dynamic: author
|
50
|
+
Dynamic: author-email
|
51
|
+
Dynamic: classifier
|
52
|
+
Dynamic: description
|
53
|
+
Dynamic: description-content-type
|
54
|
+
Dynamic: home-page
|
55
|
+
Dynamic: keywords
|
56
|
+
Dynamic: license
|
57
|
+
Dynamic: provides-extra
|
58
|
+
Dynamic: requires-dist
|
59
|
+
Dynamic: requires-python
|
60
|
+
Dynamic: summary
|
48
61
|
|
49
62
|
# py-geth
|
50
63
|
|
@@ -63,8 +76,6 @@ This library requires the `geth` executable to be present.
|
|
63
76
|
|
64
77
|
## Installation
|
65
78
|
|
66
|
-
Installation
|
67
|
-
|
68
79
|
```bash
|
69
80
|
python -m pip install py-geth
|
70
81
|
```
|
@@ -166,19 +177,19 @@ the current list of supported versions.
|
|
166
177
|
Installation can be done via the command line:
|
167
178
|
|
168
179
|
```bash
|
169
|
-
$ python -m geth.install v1.14.
|
180
|
+
$ python -m geth.install v1.14.13
|
170
181
|
```
|
171
182
|
|
172
183
|
Or from python using the `install_geth` function.
|
173
184
|
|
174
185
|
```python
|
175
186
|
>>> from geth import install_geth
|
176
|
-
>>> install_geth('v1.14.
|
187
|
+
>>> install_geth('v1.14.13')
|
177
188
|
```
|
178
189
|
|
179
190
|
The installed binary can be found in the `$HOME/.py-geth` directory, under your
|
180
|
-
home directory. The `v1.14.
|
181
|
-
`$HOME/.py-geth/geth-v1.14.
|
191
|
+
home directory. The `v1.14.13` binary would be located at
|
192
|
+
`$HOME/.py-geth/geth-v1.14.13/bin/geth`.
|
182
193
|
|
183
194
|
## About `DevGethProcess`
|
184
195
|
|
@@ -15,8 +15,6 @@ This library requires the `geth` executable to be present.
|
|
15
15
|
|
16
16
|
## Installation
|
17
17
|
|
18
|
-
Installation
|
19
|
-
|
20
18
|
```bash
|
21
19
|
python -m pip install py-geth
|
22
20
|
```
|
@@ -118,19 +116,19 @@ the current list of supported versions.
|
|
118
116
|
Installation can be done via the command line:
|
119
117
|
|
120
118
|
```bash
|
121
|
-
$ python -m geth.install v1.14.
|
119
|
+
$ python -m geth.install v1.14.13
|
122
120
|
```
|
123
121
|
|
124
122
|
Or from python using the `install_geth` function.
|
125
123
|
|
126
124
|
```python
|
127
125
|
>>> from geth import install_geth
|
128
|
-
>>> install_geth('v1.14.
|
126
|
+
>>> install_geth('v1.14.13')
|
129
127
|
```
|
130
128
|
|
131
129
|
The installed binary can be found in the `$HOME/.py-geth` directory, under your
|
132
|
-
home directory. The `v1.14.
|
133
|
-
`$HOME/.py-geth/geth-v1.14.
|
130
|
+
home directory. The `v1.14.13` binary would be located at
|
131
|
+
`$HOME/.py-geth/geth-v1.14.13/bin/geth`.
|
134
132
|
|
135
133
|
## About `DevGethProcess`
|
136
134
|
|
@@ -46,6 +46,7 @@ V1_14_9 = "v1.14.9"
|
|
46
46
|
V1_14_10 = "v1.14.10"
|
47
47
|
V1_14_11 = "v1.14.11"
|
48
48
|
V1_14_12 = "v1.14.12"
|
49
|
+
V1_14_13 = "v1.14.13"
|
49
50
|
|
50
51
|
|
51
52
|
LINUX = "linux"
|
@@ -341,6 +342,7 @@ install_v1_14_9 = functools.partial(install_from_source_code_release, V1_14_9)
|
|
341
342
|
install_v1_14_10 = functools.partial(install_from_source_code_release, V1_14_10)
|
342
343
|
install_v1_14_11 = functools.partial(install_from_source_code_release, V1_14_11)
|
343
344
|
install_v1_14_12 = functools.partial(install_from_source_code_release, V1_14_12)
|
345
|
+
install_v1_14_13 = functools.partial(install_from_source_code_release, V1_14_13)
|
344
346
|
|
345
347
|
INSTALL_FUNCTIONS = {
|
346
348
|
LINUX: {
|
@@ -356,6 +358,7 @@ INSTALL_FUNCTIONS = {
|
|
356
358
|
V1_14_10: install_v1_14_10,
|
357
359
|
V1_14_11: install_v1_14_11,
|
358
360
|
V1_14_12: install_v1_14_12,
|
361
|
+
V1_14_13: install_v1_14_13,
|
359
362
|
},
|
360
363
|
OSX: {
|
361
364
|
V1_14_0: install_v1_14_0,
|
@@ -370,6 +373,7 @@ INSTALL_FUNCTIONS = {
|
|
370
373
|
V1_14_10: install_v1_14_10,
|
371
374
|
V1_14_11: install_v1_14_11,
|
372
375
|
V1_14_12: install_v1_14_12,
|
376
|
+
V1_14_13: install_v1_14_13,
|
373
377
|
},
|
374
378
|
}
|
375
379
|
|
@@ -26,6 +26,7 @@ class GethKwargs(BaseModel):
|
|
26
26
|
cache: str | None = None
|
27
27
|
data_dir: str | None = None
|
28
28
|
dev_mode: bool | None = False
|
29
|
+
dev_period: str | None = None
|
29
30
|
gcmode: Literal["full", "archive"] | None = None
|
30
31
|
geth_executable: str | None = None
|
31
32
|
ipc_disable: bool | None = None
|
@@ -153,6 +153,9 @@ def construct_popen_command(**geth_kwargs: Unpack[GethKwargsTypedDict]) -> list[
|
|
153
153
|
if gk.dev_mode:
|
154
154
|
builder.append("--dev")
|
155
155
|
|
156
|
+
if gk.dev_period is not None:
|
157
|
+
builder.extend(("--dev.period", gk.dev_period))
|
158
|
+
|
156
159
|
if gk.rpc_enabled:
|
157
160
|
builder.append("--http")
|
158
161
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: py-geth
|
3
|
-
Version: 5.1
|
3
|
+
Version: 5.2.1
|
4
4
|
Summary: py-geth: Run Go-Ethereum as a subprocess
|
5
5
|
Home-page: https://github.com/ethereum/py-geth
|
6
6
|
Author: The Ethereum Foundation
|
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.10
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
20
21
|
Requires-Python: >=3.8, <4
|
21
22
|
Description-Content-Type: text/markdown
|
22
23
|
License-File: LICENSE
|
@@ -28,23 +29,35 @@ Requires-Dist: types-requests>=2.0.0
|
|
28
29
|
Requires-Dist: typing-extensions>=4.0.1
|
29
30
|
Provides-Extra: dev
|
30
31
|
Requires-Dist: build>=0.9.0; extra == "dev"
|
31
|
-
Requires-Dist:
|
32
|
+
Requires-Dist: bump_my_version>=0.19.0; extra == "dev"
|
32
33
|
Requires-Dist: ipython; extra == "dev"
|
33
34
|
Requires-Dist: mypy==1.10.0; extra == "dev"
|
34
35
|
Requires-Dist: pre-commit>=3.4.0; extra == "dev"
|
35
36
|
Requires-Dist: tox>=4.0.0; extra == "dev"
|
36
37
|
Requires-Dist: twine; extra == "dev"
|
37
38
|
Requires-Dist: wheel; extra == "dev"
|
38
|
-
Requires-Dist: towncrier<
|
39
|
+
Requires-Dist: towncrier<25,>=24; extra == "dev"
|
39
40
|
Requires-Dist: flaky>=3.2.0; extra == "dev"
|
40
41
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
41
42
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "dev"
|
42
43
|
Provides-Extra: docs
|
43
|
-
Requires-Dist: towncrier<
|
44
|
+
Requires-Dist: towncrier<25,>=24; extra == "docs"
|
44
45
|
Provides-Extra: test
|
45
46
|
Requires-Dist: flaky>=3.2.0; extra == "test"
|
46
47
|
Requires-Dist: pytest>=7.0.0; extra == "test"
|
47
48
|
Requires-Dist: pytest-xdist>=2.4.0; extra == "test"
|
49
|
+
Dynamic: author
|
50
|
+
Dynamic: author-email
|
51
|
+
Dynamic: classifier
|
52
|
+
Dynamic: description
|
53
|
+
Dynamic: description-content-type
|
54
|
+
Dynamic: home-page
|
55
|
+
Dynamic: keywords
|
56
|
+
Dynamic: license
|
57
|
+
Dynamic: provides-extra
|
58
|
+
Dynamic: requires-dist
|
59
|
+
Dynamic: requires-python
|
60
|
+
Dynamic: summary
|
48
61
|
|
49
62
|
# py-geth
|
50
63
|
|
@@ -63,8 +76,6 @@ This library requires the `geth` executable to be present.
|
|
63
76
|
|
64
77
|
## Installation
|
65
78
|
|
66
|
-
Installation
|
67
|
-
|
68
79
|
```bash
|
69
80
|
python -m pip install py-geth
|
70
81
|
```
|
@@ -166,19 +177,19 @@ the current list of supported versions.
|
|
166
177
|
Installation can be done via the command line:
|
167
178
|
|
168
179
|
```bash
|
169
|
-
$ python -m geth.install v1.14.
|
180
|
+
$ python -m geth.install v1.14.13
|
170
181
|
```
|
171
182
|
|
172
183
|
Or from python using the `install_geth` function.
|
173
184
|
|
174
185
|
```python
|
175
186
|
>>> from geth import install_geth
|
176
|
-
>>> install_geth('v1.14.
|
187
|
+
>>> install_geth('v1.14.13')
|
177
188
|
```
|
178
189
|
|
179
190
|
The installed binary can be found in the `$HOME/.py-geth` directory, under your
|
180
|
-
home directory. The `v1.14.
|
181
|
-
`$HOME/.py-geth/geth-v1.14.
|
191
|
+
home directory. The `v1.14.13` binary would be located at
|
192
|
+
`$HOME/.py-geth/geth-v1.14.13/bin/geth`.
|
182
193
|
|
183
194
|
## About `DevGethProcess`
|
184
195
|
|
@@ -31,22 +31,17 @@ py_geth.egg-info/dependency_links.txt
|
|
31
31
|
py_geth.egg-info/not-zip-safe
|
32
32
|
py_geth.egg-info/requires.txt
|
33
33
|
py_geth.egg-info/top_level.txt
|
34
|
+
scripts/release/test_package.py
|
34
35
|
tests/core/test_import_and_version.py
|
35
36
|
tests/core/test_library_files.py
|
36
37
|
tests/core/accounts/conftest.py
|
37
38
|
tests/core/accounts/test_account_list_parsing.py
|
38
39
|
tests/core/accounts/test_create_geth_account.py
|
39
40
|
tests/core/accounts/test_geth_accounts.py
|
40
|
-
tests/core/accounts/projects/test-01/geth/LOCK
|
41
|
-
tests/core/accounts/projects/test-01/geth/nodekey
|
42
41
|
tests/core/accounts/projects/test-01/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2
|
43
|
-
tests/core/accounts/projects/test-02/geth/LOCK
|
44
|
-
tests/core/accounts/projects/test-02/geth/nodekey
|
45
42
|
tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2
|
46
43
|
tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-00.716418819Z--e8e085862a8d951dd78ec5ea784b3e22ee1ca9c6
|
47
44
|
tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-04.748321142Z--0da70f43a568e88168436be52ed129f4a9bbdaf5
|
48
|
-
tests/core/accounts/projects/test-03/geth/LOCK
|
49
|
-
tests/core/accounts/projects/test-03/geth/nodekey
|
50
45
|
tests/core/running/test_running_dev_chain.py
|
51
46
|
tests/core/running/test_running_mainnet_chain.py
|
52
47
|
tests/core/running/test_running_sepolia_chain.py
|
@@ -9,20 +9,20 @@ eval_type_backport>=0.1.0
|
|
9
9
|
|
10
10
|
[dev]
|
11
11
|
build>=0.9.0
|
12
|
-
|
12
|
+
bump_my_version>=0.19.0
|
13
13
|
ipython
|
14
14
|
mypy==1.10.0
|
15
15
|
pre-commit>=3.4.0
|
16
16
|
tox>=4.0.0
|
17
17
|
twine
|
18
18
|
wheel
|
19
|
-
towncrier<
|
19
|
+
towncrier<25,>=24
|
20
20
|
flaky>=3.2.0
|
21
21
|
pytest>=7.0.0
|
22
22
|
pytest-xdist>=2.4.0
|
23
23
|
|
24
24
|
[docs]
|
25
|
-
towncrier<
|
25
|
+
towncrier<25,>=24
|
26
26
|
|
27
27
|
[test]
|
28
28
|
flaky>=3.2.0
|
@@ -1,28 +1,31 @@
|
|
1
1
|
[tool.autoflake]
|
2
|
-
remove_all_unused_imports = true
|
3
2
|
exclude = "__init__.py"
|
3
|
+
remove_all_unused_imports = true
|
4
4
|
|
5
5
|
[tool.isort]
|
6
6
|
combine_as_imports = true
|
7
7
|
extra_standard_library = "pytest"
|
8
8
|
force_grid_wrap = 1
|
9
9
|
force_sort_within_sections = true
|
10
|
-
|
10
|
+
force_to_top = "pytest"
|
11
|
+
honor_noqa = true
|
11
12
|
known_first_party = "geth"
|
13
|
+
known_third_party = "hypothesis"
|
12
14
|
multi_line_output = 3
|
13
15
|
profile = "black"
|
16
|
+
use_parentheses = true
|
14
17
|
|
15
18
|
[tool.mypy]
|
16
19
|
check_untyped_defs = true
|
17
|
-
disallow_incomplete_defs = true
|
18
|
-
disallow_untyped_defs = true
|
19
20
|
disallow_any_generics = true
|
21
|
+
disallow_incomplete_defs = true
|
22
|
+
disallow_subclassing_any = true
|
20
23
|
disallow_untyped_calls = true
|
21
24
|
disallow_untyped_decorators = true
|
22
|
-
|
25
|
+
disallow_untyped_defs = true
|
23
26
|
ignore_missing_imports = true
|
24
|
-
strict_optional = true
|
25
27
|
strict_equality = true
|
28
|
+
strict_optional = true
|
26
29
|
warn_redundant_casts = true
|
27
30
|
warn_return_any = true
|
28
31
|
warn_unused_configs = true
|
@@ -63,18 +66,18 @@ add-ignore = "D200,D203,D204,D205,D212,D302,D400,D401,D412,D415"
|
|
63
66
|
|
64
67
|
[tool.pytest.ini_options]
|
65
68
|
addopts = "-v --showlocals --durations 10"
|
66
|
-
xfail_strict = true
|
67
|
-
log_format = "%(levelname)8s %(asctime)s %(filename)20s %(message)s"
|
68
69
|
log_date_format = "%m-%d %H:%M:%S"
|
70
|
+
log_format = "%(levelname)8s %(asctime)s %(filename)20s %(message)s"
|
71
|
+
xfail_strict = true
|
69
72
|
|
70
73
|
[tool.towncrier]
|
71
74
|
# Read https://github.com/ethereum/py-geth/blob/main/newsfragments/README.md for instructions
|
72
|
-
package = "geth"
|
73
|
-
filename = "CHANGELOG.rst"
|
74
75
|
directory = "newsfragments"
|
75
|
-
|
76
|
-
title_format = "py-geth v{version} ({project_date})"
|
76
|
+
filename = "CHANGELOG.rst"
|
77
77
|
issue_format = "`#{issue} <https://github.com/ethereum/py-geth/issues/{issue}>`__"
|
78
|
+
package = "geth"
|
79
|
+
title_format = "py-geth v{version} ({project_date})"
|
80
|
+
underlines = ["-", "~", "^"]
|
78
81
|
|
79
82
|
[[tool.towncrier.type]]
|
80
83
|
directory = "breaking"
|
@@ -120,3 +123,46 @@ showcontent = true
|
|
120
123
|
directory = "removal"
|
121
124
|
name = "Removals"
|
122
125
|
showcontent = true
|
126
|
+
|
127
|
+
[tool.bumpversion]
|
128
|
+
current_version = "5.2.1"
|
129
|
+
parse = """
|
130
|
+
(?P<major>\\d+)
|
131
|
+
\\.(?P<minor>\\d+)
|
132
|
+
\\.(?P<patch>\\d+)
|
133
|
+
(-
|
134
|
+
(?P<stage>[^.]*)
|
135
|
+
\\.(?P<devnum>\\d+)
|
136
|
+
)?
|
137
|
+
"""
|
138
|
+
serialize = [
|
139
|
+
"{major}.{minor}.{patch}-{stage}.{devnum}",
|
140
|
+
"{major}.{minor}.{patch}",
|
141
|
+
]
|
142
|
+
search = "{current_version}"
|
143
|
+
replace = "{new_version}"
|
144
|
+
regex = false
|
145
|
+
ignore_missing_version = false
|
146
|
+
tag = true
|
147
|
+
sign_tags = true
|
148
|
+
tag_name = "v{new_version}"
|
149
|
+
tag_message = "Bump version: {current_version} → {new_version}"
|
150
|
+
allow_dirty = false
|
151
|
+
commit = true
|
152
|
+
message = "Bump version: {current_version} → {new_version}"
|
153
|
+
|
154
|
+
[tool.bumpversion.parts.stage]
|
155
|
+
optional_value = "stable"
|
156
|
+
first_value = "stable"
|
157
|
+
values = [
|
158
|
+
"alpha",
|
159
|
+
"beta",
|
160
|
+
"stable",
|
161
|
+
]
|
162
|
+
|
163
|
+
[tool.bumpversion.part.devnum]
|
164
|
+
|
165
|
+
[[tool.bumpversion.files]]
|
166
|
+
filename = "setup.py"
|
167
|
+
search = "version=\"{current_version}\""
|
168
|
+
replace = "version=\"{new_version}\""
|
@@ -0,0 +1,50 @@
|
|
1
|
+
from pathlib import (
|
2
|
+
Path,
|
3
|
+
)
|
4
|
+
import subprocess
|
5
|
+
from tempfile import (
|
6
|
+
TemporaryDirectory,
|
7
|
+
)
|
8
|
+
import venv
|
9
|
+
|
10
|
+
|
11
|
+
def create_venv(parent_path: Path) -> Path:
|
12
|
+
venv_path = parent_path / "package-smoke-test"
|
13
|
+
venv.create(venv_path, with_pip=True)
|
14
|
+
subprocess.run(
|
15
|
+
[venv_path / "bin" / "pip", "install", "-U", "pip", "setuptools"], check=True
|
16
|
+
)
|
17
|
+
return venv_path
|
18
|
+
|
19
|
+
|
20
|
+
def find_wheel(project_path: Path) -> Path:
|
21
|
+
wheels = list(project_path.glob("dist/*.whl"))
|
22
|
+
|
23
|
+
if len(wheels) != 1:
|
24
|
+
raise Exception(
|
25
|
+
f"Expected one wheel. Instead found: {wheels} "
|
26
|
+
f"in project {project_path.absolute()}"
|
27
|
+
)
|
28
|
+
|
29
|
+
return wheels[0]
|
30
|
+
|
31
|
+
|
32
|
+
def install_wheel(venv_path: Path, wheel_path: Path) -> None:
|
33
|
+
subprocess.run(
|
34
|
+
[venv_path / "bin" / "pip", "install", f"{wheel_path}"],
|
35
|
+
check=True,
|
36
|
+
)
|
37
|
+
|
38
|
+
|
39
|
+
def test_install_local_wheel() -> None:
|
40
|
+
with TemporaryDirectory() as tmpdir:
|
41
|
+
venv_path = create_venv(Path(tmpdir))
|
42
|
+
wheel_path = find_wheel(Path("."))
|
43
|
+
install_wheel(venv_path, wheel_path)
|
44
|
+
print("Installed", wheel_path.absolute(), "to", venv_path)
|
45
|
+
print(f"Activate with `source {venv_path}/bin/activate`")
|
46
|
+
input("Press enter when the test has completed. The directory will be deleted.")
|
47
|
+
|
48
|
+
|
49
|
+
if __name__ == "__main__":
|
50
|
+
test_install_local_wheel()
|
@@ -7,7 +7,7 @@ from setuptools import (
|
|
7
7
|
extras_require = {
|
8
8
|
"dev": [
|
9
9
|
"build>=0.9.0",
|
10
|
-
"
|
10
|
+
"bump_my_version>=0.19.0",
|
11
11
|
"ipython",
|
12
12
|
"mypy==1.10.0",
|
13
13
|
"pre-commit>=3.4.0",
|
@@ -16,7 +16,7 @@ extras_require = {
|
|
16
16
|
"wheel",
|
17
17
|
],
|
18
18
|
"docs": [
|
19
|
-
"towncrier>=
|
19
|
+
"towncrier>=24,<25",
|
20
20
|
],
|
21
21
|
"test": [
|
22
22
|
"flaky>=3.2.0",
|
@@ -36,8 +36,8 @@ with open("./README.md") as readme:
|
|
36
36
|
|
37
37
|
setup(
|
38
38
|
name="py-geth",
|
39
|
-
# *IMPORTANT*: Don't manually change the version here. Use the '
|
40
|
-
version="5.1
|
39
|
+
# *IMPORTANT*: Don't manually change the version here. Use the 'bump-my-version' utility.
|
40
|
+
version="5.2.1",
|
41
41
|
description="""py-geth: Run Go-Ethereum as a subprocess""",
|
42
42
|
long_description_content_type="text/markdown",
|
43
43
|
long_description=long_description,
|
@@ -59,7 +59,7 @@ setup(
|
|
59
59
|
license="MIT",
|
60
60
|
zip_safe=False,
|
61
61
|
keywords="ethereum go-ethereum geth",
|
62
|
-
packages=find_packages(exclude=["tests", "tests.*"]),
|
62
|
+
packages=find_packages(exclude=["scripts", "scripts.*", "tests", "tests.*"]),
|
63
63
|
package_data={"geth": ["py.typed"]},
|
64
64
|
classifiers=[
|
65
65
|
"Development Status :: 2 - Pre-Alpha",
|
@@ -72,5 +72,6 @@ setup(
|
|
72
72
|
"Programming Language :: Python :: 3.10",
|
73
73
|
"Programming Language :: Python :: 3.11",
|
74
74
|
"Programming Language :: Python :: 3.12",
|
75
|
+
"Programming Language :: Python :: 3.13",
|
75
76
|
],
|
76
77
|
)
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
bbcade0581fe7679e89f21946c728a382fc5b92d53bec428ad8111a39e382156
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
e27339b80b7dd3658b4704d90bafeb87d52b69b2c781a33cec764d07a3995450
|
File without changes
|
@@ -1 +0,0 @@
|
|
1
|
-
cf767be1c9e7b8d7e7fe645c851122b1c1eca806f0fbab119793517a9644c670
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|