ethspecify 0.1.0__tar.gz → 0.1.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ethspecify
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: A utility for processing Ethereum specification tags.
5
5
  Home-page: https://github.com/jtraglia/ethspecify
6
6
  Author: Justin Traglia
@@ -33,81 +33,44 @@ When that happens, they can update the implementations appropriately.
33
33
 
34
34
  ## Getting Started
35
35
 
36
- ### Adding Spec Tags
37
-
38
- In your client, add an HTML tag like this:
39
-
40
- ```
41
- /*
42
- * <spec fn="is_fully_withdrawable_validator" fork="deneb">
43
- */
44
- ```
45
-
46
- This supports all languages and comment styles. It preserves indentation, so something like this
47
- would also work:
48
-
49
- ```
50
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb">
51
- ```
52
-
53
- After the script is finished executing, a new `hash` field will exist in the tag. This tag is used
54
- to tell if the specification changed, without having to include the specification content.
55
-
56
- ```
57
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb" hash="e936da25" />
58
- ```
59
-
60
- > [!NOTE]
61
- > Closing tags will be added automatically. For `style="hash"` tags, a self-closing tag is used for
62
- > conciseness. For `style="full"` and `style="diff"` tags, a paired closing tag must be used.
63
-
64
36
  ### Installation
65
37
 
66
- #### Install with Pip
67
-
68
38
  ```
69
39
  python3 -mpip install ethspecify
70
40
  ```
71
41
 
72
- #### Manual Install
42
+ ### Adding Spec Tags
73
43
 
74
- First, clone the repository. You only need the latest commit.
44
+ In your client, add HTML tags like this:
75
45
 
76
46
  ```
77
- git clone https://github.com/jtraglia/ethspecify.git --depth=1
78
- cd ethspecify
47
+ /*
48
+ * <spec fn="is_fully_withdrawable_validator" fork="deneb">
49
+ */
79
50
  ```
80
51
 
81
- Next, build and install the utility.
52
+ ### Populate Spec Tags
82
53
 
83
- ```
84
- python3 -mpip install .
85
- ```
86
-
87
- Then, change directory to the source source directory and run `ethspecify`.
54
+ Then, navigate to your codebase and run `ethspecify`:
88
55
 
89
56
  ```
90
- Projects/client$ ethspecify
91
- Processing file: /Users/user/Projects/client/src/file.ext
92
- spec tag: {'custom_type': 'Blob', 'fork': 'electra'}
93
- spec tag: {'dataclass': 'PayloadAttributes', 'fork': 'electra'}
94
- spec tag: {'ssz_object': 'ConsolidationRequest', 'fork': 'electra'}
57
+ ethspecify
95
58
  ```
96
59
 
97
- ### Specification Options
60
+ ## Specification Options
98
61
 
99
- #### Fork
62
+ ### Fork
100
63
 
101
64
  This attribute can be any of the [executable
102
65
  specifications](https://github.com/ethereum/consensus-specs/blob/e6bddd966214a19d2b97199bbe3c02577a22a8b4/Makefile#L3-L15)
103
66
  in the consensus-specs. At the time of writing, these are: phase0, altair, bellatrix, capella,
104
67
  deneb, electra, fulu, whisk, eip6800, and eip7732.
105
68
 
106
- #### Style
69
+ ### Style
107
70
 
108
71
  This attribute can be used to change how the specification content is shown.
109
72
 
110
- ##### `hash` (default)
73
+ #### `hash` (default)
111
74
 
112
75
  This style adds a hash of the specification content to the spec tag, without showing the content.
113
76
 
@@ -120,7 +83,7 @@ This style adds a hash of the specification content to the spec tag, without sho
120
83
  > [!NOTE]
121
84
  > The hash is the first 8 characters of the specification content's SHA256 digest.
122
85
 
123
- ##### `full`
86
+ #### `full`
124
87
 
125
88
  This style displays the whole content of this specification item, including comments.
126
89
 
@@ -140,10 +103,7 @@ This style displays the whole content of this specification item, including comm
140
103
  */
141
104
  ```
142
105
 
143
- ##### `link`
144
-
145
- > [!WARNING]
146
- > This feature is a work-in-progress.
106
+ #### `link`
147
107
 
148
108
  This style displays a GitHub link to the specification item.
149
109
 
@@ -155,7 +115,7 @@ This style displays a GitHub link to the specification item.
155
115
  */
156
116
  ```
157
117
 
158
- ##### `diff`
118
+ #### `diff`
159
119
 
160
120
  This style displays a diff with the previous fork's version of the specification.
161
121
 
@@ -203,9 +163,9 @@ This can be used with any specification item, like functions too:
203
163
  */
204
164
  ```
205
165
 
206
- ### Supported Specification Items
166
+ ## Supported Specification Items
207
167
 
208
- #### Constants
168
+ ### Constants
209
169
 
210
170
  These are items found in the `Constants` section of the specifications.
211
171
 
@@ -217,7 +177,7 @@ These are items found in the `Constants` section of the specifications.
217
177
  */
218
178
  ```
219
179
 
220
- #### Custom Types
180
+ ### Custom Types
221
181
 
222
182
  These are items found in the `Custom types` section of the specifications.
223
183
 
@@ -229,7 +189,7 @@ These are items found in the `Custom types` section of the specifications.
229
189
  */
230
190
  ```
231
191
 
232
- #### Preset Variables
192
+ ### Preset Variables
233
193
 
234
194
  These are items found in the
235
195
  [`presets`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -259,7 +219,7 @@ It's not strictly necessary to specify the preset attribute. The default preset
259
219
  */
260
220
  ```
261
221
 
262
- #### Config Variables
222
+ ### Config Variables
263
223
 
264
224
  These are items found in the
265
225
  [`configs`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -272,7 +232,7 @@ These are items found in the
272
232
  */
273
233
  ```
274
234
 
275
- #### SSZ Objects
235
+ ### SSZ Objects
276
236
 
277
237
  These are items found in the `Containers` section of the specifications.
278
238
 
@@ -287,7 +247,7 @@ These are items found in the `Containers` section of the specifications.
287
247
  */
288
248
  ```
289
249
 
290
- #### Dataclasses
250
+ ### Dataclasses
291
251
 
292
252
  These are classes with the `@dataclass` decorator.
293
253
 
@@ -304,7 +264,7 @@ These are classes with the `@dataclass` decorator.
304
264
  */
305
265
  ```
306
266
 
307
- #### Functions
267
+ ### Functions
308
268
 
309
269
  These are all the functions found in the specifications.
310
270
 
@@ -9,81 +9,44 @@ When that happens, they can update the implementations appropriately.
9
9
 
10
10
  ## Getting Started
11
11
 
12
- ### Adding Spec Tags
13
-
14
- In your client, add an HTML tag like this:
15
-
16
- ```
17
- /*
18
- * <spec fn="is_fully_withdrawable_validator" fork="deneb">
19
- */
20
- ```
21
-
22
- This supports all languages and comment styles. It preserves indentation, so something like this
23
- would also work:
24
-
25
- ```
26
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb">
27
- ```
28
-
29
- After the script is finished executing, a new `hash` field will exist in the tag. This tag is used
30
- to tell if the specification changed, without having to include the specification content.
31
-
32
- ```
33
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb" hash="e936da25" />
34
- ```
35
-
36
- > [!NOTE]
37
- > Closing tags will be added automatically. For `style="hash"` tags, a self-closing tag is used for
38
- > conciseness. For `style="full"` and `style="diff"` tags, a paired closing tag must be used.
39
-
40
12
  ### Installation
41
13
 
42
- #### Install with Pip
43
-
44
14
  ```
45
15
  python3 -mpip install ethspecify
46
16
  ```
47
17
 
48
- #### Manual Install
18
+ ### Adding Spec Tags
49
19
 
50
- First, clone the repository. You only need the latest commit.
20
+ In your client, add HTML tags like this:
51
21
 
52
22
  ```
53
- git clone https://github.com/jtraglia/ethspecify.git --depth=1
54
- cd ethspecify
23
+ /*
24
+ * <spec fn="is_fully_withdrawable_validator" fork="deneb">
25
+ */
55
26
  ```
56
27
 
57
- Next, build and install the utility.
28
+ ### Populate Spec Tags
58
29
 
59
- ```
60
- python3 -mpip install .
61
- ```
62
-
63
- Then, change directory to the source source directory and run `ethspecify`.
30
+ Then, navigate to your codebase and run `ethspecify`:
64
31
 
65
32
  ```
66
- Projects/client$ ethspecify
67
- Processing file: /Users/user/Projects/client/src/file.ext
68
- spec tag: {'custom_type': 'Blob', 'fork': 'electra'}
69
- spec tag: {'dataclass': 'PayloadAttributes', 'fork': 'electra'}
70
- spec tag: {'ssz_object': 'ConsolidationRequest', 'fork': 'electra'}
33
+ ethspecify
71
34
  ```
72
35
 
73
- ### Specification Options
36
+ ## Specification Options
74
37
 
75
- #### Fork
38
+ ### Fork
76
39
 
77
40
  This attribute can be any of the [executable
78
41
  specifications](https://github.com/ethereum/consensus-specs/blob/e6bddd966214a19d2b97199bbe3c02577a22a8b4/Makefile#L3-L15)
79
42
  in the consensus-specs. At the time of writing, these are: phase0, altair, bellatrix, capella,
80
43
  deneb, electra, fulu, whisk, eip6800, and eip7732.
81
44
 
82
- #### Style
45
+ ### Style
83
46
 
84
47
  This attribute can be used to change how the specification content is shown.
85
48
 
86
- ##### `hash` (default)
49
+ #### `hash` (default)
87
50
 
88
51
  This style adds a hash of the specification content to the spec tag, without showing the content.
89
52
 
@@ -96,7 +59,7 @@ This style adds a hash of the specification content to the spec tag, without sho
96
59
  > [!NOTE]
97
60
  > The hash is the first 8 characters of the specification content's SHA256 digest.
98
61
 
99
- ##### `full`
62
+ #### `full`
100
63
 
101
64
  This style displays the whole content of this specification item, including comments.
102
65
 
@@ -116,10 +79,7 @@ This style displays the whole content of this specification item, including comm
116
79
  */
117
80
  ```
118
81
 
119
- ##### `link`
120
-
121
- > [!WARNING]
122
- > This feature is a work-in-progress.
82
+ #### `link`
123
83
 
124
84
  This style displays a GitHub link to the specification item.
125
85
 
@@ -131,7 +91,7 @@ This style displays a GitHub link to the specification item.
131
91
  */
132
92
  ```
133
93
 
134
- ##### `diff`
94
+ #### `diff`
135
95
 
136
96
  This style displays a diff with the previous fork's version of the specification.
137
97
 
@@ -179,9 +139,9 @@ This can be used with any specification item, like functions too:
179
139
  */
180
140
  ```
181
141
 
182
- ### Supported Specification Items
142
+ ## Supported Specification Items
183
143
 
184
- #### Constants
144
+ ### Constants
185
145
 
186
146
  These are items found in the `Constants` section of the specifications.
187
147
 
@@ -193,7 +153,7 @@ These are items found in the `Constants` section of the specifications.
193
153
  */
194
154
  ```
195
155
 
196
- #### Custom Types
156
+ ### Custom Types
197
157
 
198
158
  These are items found in the `Custom types` section of the specifications.
199
159
 
@@ -205,7 +165,7 @@ These are items found in the `Custom types` section of the specifications.
205
165
  */
206
166
  ```
207
167
 
208
- #### Preset Variables
168
+ ### Preset Variables
209
169
 
210
170
  These are items found in the
211
171
  [`presets`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -235,7 +195,7 @@ It's not strictly necessary to specify the preset attribute. The default preset
235
195
  */
236
196
  ```
237
197
 
238
- #### Config Variables
198
+ ### Config Variables
239
199
 
240
200
  These are items found in the
241
201
  [`configs`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -248,7 +208,7 @@ These are items found in the
248
208
  */
249
209
  ```
250
210
 
251
- #### SSZ Objects
211
+ ### SSZ Objects
252
212
 
253
213
  These are items found in the `Containers` section of the specifications.
254
214
 
@@ -263,7 +223,7 @@ These are items found in the `Containers` section of the specifications.
263
223
  */
264
224
  ```
265
225
 
266
- #### Dataclasses
226
+ ### Dataclasses
267
227
 
268
228
  These are classes with the `@dataclass` decorator.
269
229
 
@@ -280,7 +240,7 @@ These are classes with the `@dataclass` decorator.
280
240
  */
281
241
  ```
282
242
 
283
- #### Functions
243
+ ### Functions
284
244
 
285
245
  These are all the functions found in the specifications.
286
246
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ethspecify
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: A utility for processing Ethereum specification tags.
5
5
  Home-page: https://github.com/jtraglia/ethspecify
6
6
  Author: Justin Traglia
@@ -33,81 +33,44 @@ When that happens, they can update the implementations appropriately.
33
33
 
34
34
  ## Getting Started
35
35
 
36
- ### Adding Spec Tags
37
-
38
- In your client, add an HTML tag like this:
39
-
40
- ```
41
- /*
42
- * <spec fn="is_fully_withdrawable_validator" fork="deneb">
43
- */
44
- ```
45
-
46
- This supports all languages and comment styles. It preserves indentation, so something like this
47
- would also work:
48
-
49
- ```
50
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb">
51
- ```
52
-
53
- After the script is finished executing, a new `hash` field will exist in the tag. This tag is used
54
- to tell if the specification changed, without having to include the specification content.
55
-
56
- ```
57
- /// <spec fn="is_fully_withdrawable_validator" fork="deneb" hash="e936da25" />
58
- ```
59
-
60
- > [!NOTE]
61
- > Closing tags will be added automatically. For `style="hash"` tags, a self-closing tag is used for
62
- > conciseness. For `style="full"` and `style="diff"` tags, a paired closing tag must be used.
63
-
64
36
  ### Installation
65
37
 
66
- #### Install with Pip
67
-
68
38
  ```
69
39
  python3 -mpip install ethspecify
70
40
  ```
71
41
 
72
- #### Manual Install
42
+ ### Adding Spec Tags
73
43
 
74
- First, clone the repository. You only need the latest commit.
44
+ In your client, add HTML tags like this:
75
45
 
76
46
  ```
77
- git clone https://github.com/jtraglia/ethspecify.git --depth=1
78
- cd ethspecify
47
+ /*
48
+ * <spec fn="is_fully_withdrawable_validator" fork="deneb">
49
+ */
79
50
  ```
80
51
 
81
- Next, build and install the utility.
52
+ ### Populate Spec Tags
82
53
 
83
- ```
84
- python3 -mpip install .
85
- ```
86
-
87
- Then, change directory to the source source directory and run `ethspecify`.
54
+ Then, navigate to your codebase and run `ethspecify`:
88
55
 
89
56
  ```
90
- Projects/client$ ethspecify
91
- Processing file: /Users/user/Projects/client/src/file.ext
92
- spec tag: {'custom_type': 'Blob', 'fork': 'electra'}
93
- spec tag: {'dataclass': 'PayloadAttributes', 'fork': 'electra'}
94
- spec tag: {'ssz_object': 'ConsolidationRequest', 'fork': 'electra'}
57
+ ethspecify
95
58
  ```
96
59
 
97
- ### Specification Options
60
+ ## Specification Options
98
61
 
99
- #### Fork
62
+ ### Fork
100
63
 
101
64
  This attribute can be any of the [executable
102
65
  specifications](https://github.com/ethereum/consensus-specs/blob/e6bddd966214a19d2b97199bbe3c02577a22a8b4/Makefile#L3-L15)
103
66
  in the consensus-specs. At the time of writing, these are: phase0, altair, bellatrix, capella,
104
67
  deneb, electra, fulu, whisk, eip6800, and eip7732.
105
68
 
106
- #### Style
69
+ ### Style
107
70
 
108
71
  This attribute can be used to change how the specification content is shown.
109
72
 
110
- ##### `hash` (default)
73
+ #### `hash` (default)
111
74
 
112
75
  This style adds a hash of the specification content to the spec tag, without showing the content.
113
76
 
@@ -120,7 +83,7 @@ This style adds a hash of the specification content to the spec tag, without sho
120
83
  > [!NOTE]
121
84
  > The hash is the first 8 characters of the specification content's SHA256 digest.
122
85
 
123
- ##### `full`
86
+ #### `full`
124
87
 
125
88
  This style displays the whole content of this specification item, including comments.
126
89
 
@@ -140,10 +103,7 @@ This style displays the whole content of this specification item, including comm
140
103
  */
141
104
  ```
142
105
 
143
- ##### `link`
144
-
145
- > [!WARNING]
146
- > This feature is a work-in-progress.
106
+ #### `link`
147
107
 
148
108
  This style displays a GitHub link to the specification item.
149
109
 
@@ -155,7 +115,7 @@ This style displays a GitHub link to the specification item.
155
115
  */
156
116
  ```
157
117
 
158
- ##### `diff`
118
+ #### `diff`
159
119
 
160
120
  This style displays a diff with the previous fork's version of the specification.
161
121
 
@@ -203,9 +163,9 @@ This can be used with any specification item, like functions too:
203
163
  */
204
164
  ```
205
165
 
206
- ### Supported Specification Items
166
+ ## Supported Specification Items
207
167
 
208
- #### Constants
168
+ ### Constants
209
169
 
210
170
  These are items found in the `Constants` section of the specifications.
211
171
 
@@ -217,7 +177,7 @@ These are items found in the `Constants` section of the specifications.
217
177
  */
218
178
  ```
219
179
 
220
- #### Custom Types
180
+ ### Custom Types
221
181
 
222
182
  These are items found in the `Custom types` section of the specifications.
223
183
 
@@ -229,7 +189,7 @@ These are items found in the `Custom types` section of the specifications.
229
189
  */
230
190
  ```
231
191
 
232
- #### Preset Variables
192
+ ### Preset Variables
233
193
 
234
194
  These are items found in the
235
195
  [`presets`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -259,7 +219,7 @@ It's not strictly necessary to specify the preset attribute. The default preset
259
219
  */
260
220
  ```
261
221
 
262
- #### Config Variables
222
+ ### Config Variables
263
223
 
264
224
  These are items found in the
265
225
  [`configs`](https://github.com/ethereum/consensus-specs/tree/dev/presets) directory.
@@ -272,7 +232,7 @@ These are items found in the
272
232
  */
273
233
  ```
274
234
 
275
- #### SSZ Objects
235
+ ### SSZ Objects
276
236
 
277
237
  These are items found in the `Containers` section of the specifications.
278
238
 
@@ -287,7 +247,7 @@ These are items found in the `Containers` section of the specifications.
287
247
  */
288
248
  ```
289
249
 
290
- #### Dataclasses
250
+ ### Dataclasses
291
251
 
292
252
  These are classes with the `@dataclass` decorator.
293
253
 
@@ -304,7 +264,7 @@ These are classes with the `@dataclass` decorator.
304
264
  */
305
265
  ```
306
266
 
307
- #### Functions
267
+ ### Functions
308
268
 
309
269
  These are all the functions found in the specifications.
310
270
 
@@ -8,7 +8,7 @@ long_description = (this_directory / "README.md").read_text(encoding="utf-8")
8
8
 
9
9
  setup(
10
10
  name="ethspecify",
11
- version="0.1.0",
11
+ version="0.1.1",
12
12
  description="A utility for processing Ethereum specification tags.",
13
13
  long_description=long_description,
14
14
  long_description_content_type="text/markdown",
File without changes
File without changes
File without changes