rolling-pin 0.10.1__tar.gz → 0.11.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.
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/PKG-INFO +73 -67
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/README.md +68 -63
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/pyproject.toml +8 -4
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/conform_etl.py +5 -2
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/LICENSE +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/__init__.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/blob_etl.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/command.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/conform_config.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/py.typed +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/radon_etl.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/repo_etl.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/toml_etl.py +0 -0
- {rolling-pin-0.10.1 → rolling-pin-0.11.1}/rolling_pin/tools.py +0 -0
@@ -1,18 +1,19 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: rolling-pin
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.11.1
|
4
4
|
Summary: A library of generic tools for ETL work and visualization of JSON blobs and python repositories
|
5
5
|
License: MIT
|
6
6
|
Keywords: ETL,blob,dependency,graph,svg,networkx,transform,code metrics,dependency diagram,build system
|
7
7
|
Author-email: Alex Braun <alexander.g.braun@gmail.com>
|
8
|
-
Requires-Python: >=3.
|
8
|
+
Requires-Python: >=3.10
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
10
10
|
Classifier: Intended Audience :: Developers
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
13
13
|
Classifier: Programming Language :: Python :: 3.10
|
14
|
-
Classifier: Programming Language :: Python :: 3.
|
15
|
-
Classifier: Programming Language :: Python :: 3.
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
16
|
+
Classifier: Programming Language :: Python :: 3.13
|
16
17
|
Classifier: Typing :: Typed
|
17
18
|
Project-URL: documentation, https://thenewflesh.github.io/rolling-pin
|
18
19
|
Project-URL: repository, https://github.com/theNewFlesh/rolling-pin
|
@@ -39,7 +40,7 @@ Description-Content-Type: text/markdown
|
|
39
40
|
alt="vimeo" width="30px" height="30px"
|
40
41
|
>
|
41
42
|
</a>
|
42
|
-
<a href="
|
43
|
+
<a href="https://alexgbraun.com" rel="nofollow noreferrer">
|
43
44
|
<img src="https://i.ibb.co/fvyMkpM/logo.png"
|
44
45
|
alt="alexgbraun" width="30px" height="30px"
|
45
46
|
>
|
@@ -53,6 +54,8 @@ Description-Content-Type: text/markdown
|
|
53
54
|
[](https://pypi.org/project/rolling-pin/)
|
54
55
|
[](https://pepy.tech/project/rolling-pin)
|
55
56
|
|
57
|
+
<!-- <img id="logo" src="sphinx/images/logo.png" style="max-width: 717px"> -->
|
58
|
+
|
56
59
|
# Introduction
|
57
60
|
Rolling-pin is a library of generic tools for ETL work and visualization of JSON
|
58
61
|
blobs and python repositories
|
@@ -111,7 +114,7 @@ Run `bin/rolling-pin --help` for more help on the command line tool.
|
|
111
114
|
|
112
115
|
### Docker
|
113
116
|
1. Install [docker-desktop](https://docs.docker.com/desktop/)
|
114
|
-
2. `docker pull theNewFlesh/rolling-pin:[version]`
|
117
|
+
2. `docker pull theNewFlesh/rolling-pin:[mode]-[version]`
|
115
118
|
|
116
119
|
|
117
120
|
---
|
@@ -182,67 +185,70 @@ Its usage pattern is: `bin/rolling-pin COMMAND [-a --args]=ARGS [-h --help] [--d
|
|
182
185
|
### Commands
|
183
186
|
The following is a complete list of all available development commands:
|
184
187
|
|
185
|
-
| Command
|
186
|
-
|
|
187
|
-
| build-
|
188
|
-
| build-
|
189
|
-
| build-
|
190
|
-
| build-
|
191
|
-
|
|
192
|
-
|
|
193
|
-
| docker-build
|
194
|
-
| docker-
|
195
|
-
| docker-
|
196
|
-
| docker-
|
197
|
-
| docker-
|
198
|
-
| docker-
|
199
|
-
| docker-
|
200
|
-
| docker-
|
201
|
-
| docker-
|
202
|
-
| docker-
|
203
|
-
| docker-
|
204
|
-
| docker-
|
205
|
-
| docker-
|
206
|
-
| docker-
|
207
|
-
| docker-
|
208
|
-
| docker-
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
| library-
|
218
|
-
| library-
|
219
|
-
| library-
|
220
|
-
| library-
|
221
|
-
| library-
|
222
|
-
| library-
|
223
|
-
| library-
|
224
|
-
| library-
|
225
|
-
| library-
|
226
|
-
| library-
|
227
|
-
| library-
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
| test-
|
237
|
-
| test-
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
| version
|
242
|
-
| version-
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
188
|
+
| Command | Description |
|
189
|
+
| -------------------------- | ------------------------------------------------------------------- |
|
190
|
+
| build-edit-prod-dockerfile | Edit prod.dockefile to use local package |
|
191
|
+
| build-local-package | Generate local pip package in docker/dist |
|
192
|
+
| build-package | Build production version of repo for publishing |
|
193
|
+
| build-prod | Publish pip package of repo to PyPi |
|
194
|
+
| build-publish | Run production tests first then publish pip package of repo to PyPi |
|
195
|
+
| build-test | Build test version of repo for prod testing |
|
196
|
+
| docker-build | Build development image |
|
197
|
+
| docker-build-from-cache | Build development image from registry cache |
|
198
|
+
| docker-build-no-cache | Build development image without cache |
|
199
|
+
| docker-build-prod | Build production image |
|
200
|
+
| docker-build-prod-no-cache | Build production image without cache |
|
201
|
+
| docker-container | Display the Docker container id |
|
202
|
+
| docker-destroy | Shutdown container and destroy its image |
|
203
|
+
| docker-destroy-prod | Shutdown production container and destroy its image |
|
204
|
+
| docker-image | Display the Docker image id |
|
205
|
+
| docker-prod | Start production container |
|
206
|
+
| docker-pull-dev | Pull development image from Docker registry |
|
207
|
+
| docker-pull-prod | Pull production image from Docker registry |
|
208
|
+
| docker-push-dev | Push development image to Docker registry |
|
209
|
+
| docker-push-dev-latest | Push development image to Docker registry with dev-latest tag |
|
210
|
+
| docker-push-prod | Push production image to Docker registry |
|
211
|
+
| docker-push-prod-latest | Push production image to Docker registry with prod-latest tag |
|
212
|
+
| docker-remove | Remove Docker image |
|
213
|
+
| docker-restart | Restart container |
|
214
|
+
| docker-start | Start container |
|
215
|
+
| docker-stop | Stop container |
|
216
|
+
| docs | Generate sphinx documentation |
|
217
|
+
| docs-architecture | Generate architecture.svg diagram from all import statements |
|
218
|
+
| docs-full | Generate documentation, coverage report, diagram and code |
|
219
|
+
| docs-metrics | Generate code metrics report, plots and tables |
|
220
|
+
| library-add | Add a given package to a given dependency group |
|
221
|
+
| library-graph-dev | Graph dependencies in dev environment |
|
222
|
+
| library-graph-prod | Graph dependencies in prod environment |
|
223
|
+
| library-install-dev | Install all dependencies into dev environment |
|
224
|
+
| library-install-prod | Install all dependencies into prod environment |
|
225
|
+
| library-list-dev | List packages in dev environment |
|
226
|
+
| library-list-prod | List packages in prod environment |
|
227
|
+
| library-lock-dev | Resolve dev.lock file |
|
228
|
+
| library-lock-prod | Resolve prod.lock file |
|
229
|
+
| library-remove | Remove a given package from a given dependency group |
|
230
|
+
| library-search | Search for pip packages |
|
231
|
+
| library-sync-dev | Sync dev environment with packages listed in dev.lock |
|
232
|
+
| library-sync-prod | Sync prod environment with packages listed in prod.lock |
|
233
|
+
| library-update | Update dev dependencies |
|
234
|
+
| library-update-pdm | Update PDM |
|
235
|
+
| quickstart | Display quickstart guide |
|
236
|
+
| session-lab | Run jupyter lab server |
|
237
|
+
| session-python | Run python session with dev dependencies |
|
238
|
+
| state | State of repository and Docker container |
|
239
|
+
| test-coverage | Generate test coverage report |
|
240
|
+
| test-dev | Run all tests |
|
241
|
+
| test-fast | Test all code excepts tests marked with SKIP_SLOWS_TESTS decorator |
|
242
|
+
| test-lint | Run linting and type checking |
|
243
|
+
| test-prod | Run tests across all support python versions |
|
244
|
+
| version | Full resolution of repo: dependencies, linting, tests, docs, etc |
|
245
|
+
| version-bump-major | Bump pyproject major version |
|
246
|
+
| version-bump-minor | Bump pyproject minor version |
|
247
|
+
| version-bump-patch | Bump pyproject patch version |
|
248
|
+
| version-commit | Tag with version and commit changes to master |
|
249
|
+
| zsh | Run ZSH session inside Docker container |
|
250
|
+
| zsh-complete | Generate oh-my-zsh completions |
|
251
|
+
| zsh-root | Run ZSH session as root inside Docker container |
|
246
252
|
|
247
253
|
### Flags
|
248
254
|
|
@@ -19,7 +19,7 @@
|
|
19
19
|
alt="vimeo" width="30px" height="30px"
|
20
20
|
>
|
21
21
|
</a>
|
22
|
-
<a href="
|
22
|
+
<a href="https://alexgbraun.com" rel="nofollow noreferrer">
|
23
23
|
<img src="https://i.ibb.co/fvyMkpM/logo.png"
|
24
24
|
alt="alexgbraun" width="30px" height="30px"
|
25
25
|
>
|
@@ -33,6 +33,8 @@
|
|
33
33
|
[](https://pypi.org/project/rolling-pin/)
|
34
34
|
[](https://pepy.tech/project/rolling-pin)
|
35
35
|
|
36
|
+
<!-- <img id="logo" src="sphinx/images/logo.png" style="max-width: 717px"> -->
|
37
|
+
|
36
38
|
# Introduction
|
37
39
|
Rolling-pin is a library of generic tools for ETL work and visualization of JSON
|
38
40
|
blobs and python repositories
|
@@ -91,7 +93,7 @@ Run `bin/rolling-pin --help` for more help on the command line tool.
|
|
91
93
|
|
92
94
|
### Docker
|
93
95
|
1. Install [docker-desktop](https://docs.docker.com/desktop/)
|
94
|
-
2. `docker pull theNewFlesh/rolling-pin:[version]`
|
96
|
+
2. `docker pull theNewFlesh/rolling-pin:[mode]-[version]`
|
95
97
|
|
96
98
|
|
97
99
|
---
|
@@ -162,67 +164,70 @@ Its usage pattern is: `bin/rolling-pin COMMAND [-a --args]=ARGS [-h --help] [--d
|
|
162
164
|
### Commands
|
163
165
|
The following is a complete list of all available development commands:
|
164
166
|
|
165
|
-
| Command
|
166
|
-
|
|
167
|
-
| build-
|
168
|
-
| build-
|
169
|
-
| build-
|
170
|
-
| build-
|
171
|
-
|
|
172
|
-
|
|
173
|
-
| docker-build
|
174
|
-
| docker-
|
175
|
-
| docker-
|
176
|
-
| docker-
|
177
|
-
| docker-
|
178
|
-
| docker-
|
179
|
-
| docker-
|
180
|
-
| docker-
|
181
|
-
| docker-
|
182
|
-
| docker-
|
183
|
-
| docker-
|
184
|
-
| docker-
|
185
|
-
| docker-
|
186
|
-
| docker-
|
187
|
-
| docker-
|
188
|
-
| docker-
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
| library-
|
198
|
-
| library-
|
199
|
-
| library-
|
200
|
-
| library-
|
201
|
-
| library-
|
202
|
-
| library-
|
203
|
-
| library-
|
204
|
-
| library-
|
205
|
-
| library-
|
206
|
-
| library-
|
207
|
-
| library-
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
| test-
|
217
|
-
| test-
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
| version
|
222
|
-
| version-
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
167
|
+
| Command | Description |
|
168
|
+
| -------------------------- | ------------------------------------------------------------------- |
|
169
|
+
| build-edit-prod-dockerfile | Edit prod.dockefile to use local package |
|
170
|
+
| build-local-package | Generate local pip package in docker/dist |
|
171
|
+
| build-package | Build production version of repo for publishing |
|
172
|
+
| build-prod | Publish pip package of repo to PyPi |
|
173
|
+
| build-publish | Run production tests first then publish pip package of repo to PyPi |
|
174
|
+
| build-test | Build test version of repo for prod testing |
|
175
|
+
| docker-build | Build development image |
|
176
|
+
| docker-build-from-cache | Build development image from registry cache |
|
177
|
+
| docker-build-no-cache | Build development image without cache |
|
178
|
+
| docker-build-prod | Build production image |
|
179
|
+
| docker-build-prod-no-cache | Build production image without cache |
|
180
|
+
| docker-container | Display the Docker container id |
|
181
|
+
| docker-destroy | Shutdown container and destroy its image |
|
182
|
+
| docker-destroy-prod | Shutdown production container and destroy its image |
|
183
|
+
| docker-image | Display the Docker image id |
|
184
|
+
| docker-prod | Start production container |
|
185
|
+
| docker-pull-dev | Pull development image from Docker registry |
|
186
|
+
| docker-pull-prod | Pull production image from Docker registry |
|
187
|
+
| docker-push-dev | Push development image to Docker registry |
|
188
|
+
| docker-push-dev-latest | Push development image to Docker registry with dev-latest tag |
|
189
|
+
| docker-push-prod | Push production image to Docker registry |
|
190
|
+
| docker-push-prod-latest | Push production image to Docker registry with prod-latest tag |
|
191
|
+
| docker-remove | Remove Docker image |
|
192
|
+
| docker-restart | Restart container |
|
193
|
+
| docker-start | Start container |
|
194
|
+
| docker-stop | Stop container |
|
195
|
+
| docs | Generate sphinx documentation |
|
196
|
+
| docs-architecture | Generate architecture.svg diagram from all import statements |
|
197
|
+
| docs-full | Generate documentation, coverage report, diagram and code |
|
198
|
+
| docs-metrics | Generate code metrics report, plots and tables |
|
199
|
+
| library-add | Add a given package to a given dependency group |
|
200
|
+
| library-graph-dev | Graph dependencies in dev environment |
|
201
|
+
| library-graph-prod | Graph dependencies in prod environment |
|
202
|
+
| library-install-dev | Install all dependencies into dev environment |
|
203
|
+
| library-install-prod | Install all dependencies into prod environment |
|
204
|
+
| library-list-dev | List packages in dev environment |
|
205
|
+
| library-list-prod | List packages in prod environment |
|
206
|
+
| library-lock-dev | Resolve dev.lock file |
|
207
|
+
| library-lock-prod | Resolve prod.lock file |
|
208
|
+
| library-remove | Remove a given package from a given dependency group |
|
209
|
+
| library-search | Search for pip packages |
|
210
|
+
| library-sync-dev | Sync dev environment with packages listed in dev.lock |
|
211
|
+
| library-sync-prod | Sync prod environment with packages listed in prod.lock |
|
212
|
+
| library-update | Update dev dependencies |
|
213
|
+
| library-update-pdm | Update PDM |
|
214
|
+
| quickstart | Display quickstart guide |
|
215
|
+
| session-lab | Run jupyter lab server |
|
216
|
+
| session-python | Run python session with dev dependencies |
|
217
|
+
| state | State of repository and Docker container |
|
218
|
+
| test-coverage | Generate test coverage report |
|
219
|
+
| test-dev | Run all tests |
|
220
|
+
| test-fast | Test all code excepts tests marked with SKIP_SLOWS_TESTS decorator |
|
221
|
+
| test-lint | Run linting and type checking |
|
222
|
+
| test-prod | Run tests across all support python versions |
|
223
|
+
| version | Full resolution of repo: dependencies, linting, tests, docs, etc |
|
224
|
+
| version-bump-major | Bump pyproject major version |
|
225
|
+
| version-bump-minor | Bump pyproject minor version |
|
226
|
+
| version-bump-patch | Bump pyproject patch version |
|
227
|
+
| version-commit | Tag with version and commit changes to master |
|
228
|
+
| zsh | Run ZSH session inside Docker container |
|
229
|
+
| zsh-complete | Generate oh-my-zsh completions |
|
230
|
+
| zsh-root | Run ZSH session as root inside Docker container |
|
226
231
|
|
227
232
|
### Flags
|
228
233
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "rolling-pin"
|
3
|
-
version = "0.
|
3
|
+
version = "0.11.1"
|
4
4
|
description = "A library of generic tools for ETL work and visualization of JSON blobs and python repositories"
|
5
5
|
readme = "README.md"
|
6
6
|
license = "MIT"
|
@@ -21,12 +21,13 @@ classifiers = [
|
|
21
21
|
"Intended Audience :: Developers",
|
22
22
|
"License :: OSI Approved :: MIT License",
|
23
23
|
"Programming Language :: Python :: 3",
|
24
|
-
"Programming Language :: Python :: 3.8",
|
25
|
-
"Programming Language :: Python :: 3.9",
|
26
24
|
"Programming Language :: Python :: 3.10",
|
25
|
+
"Programming Language :: Python :: 3.11",
|
26
|
+
"Programming Language :: Python :: 3.12",
|
27
|
+
"Programming Language :: Python :: 3.13",
|
27
28
|
"Typing :: Typed",
|
28
29
|
]
|
29
|
-
requires-python = ">=3.
|
30
|
+
requires-python = ">=3.10"
|
30
31
|
dependencies = [
|
31
32
|
"click>=8.1.3",
|
32
33
|
"graphviz",
|
@@ -60,6 +61,9 @@ requires = [
|
|
60
61
|
]
|
61
62
|
build-backend = "pdm.pep517.api"
|
62
63
|
|
64
|
+
[tool.uv]
|
65
|
+
cache-dir = "/home/ubuntu/pdm/cache"
|
66
|
+
|
63
67
|
[tool.coverage.report]
|
64
68
|
show_missing = true
|
65
69
|
omit = [
|
@@ -8,6 +8,7 @@ import re
|
|
8
8
|
|
9
9
|
from lunchbox.enforce import Enforce
|
10
10
|
from pandas import DataFrame
|
11
|
+
import lunchbox.tools as lbt
|
11
12
|
import yaml
|
12
13
|
|
13
14
|
from rolling_pin.blob_etl import BlobETL
|
@@ -268,7 +269,9 @@ class ConformETL:
|
|
268
269
|
data.apply(lambda x: rpt.copy_file(x.source, x.target), axis=1)
|
269
270
|
|
270
271
|
# copy lines
|
271
|
-
data['text'] = data.source.apply(rpt.read_text)
|
272
|
+
data['text'] = data.source.apply(lambda x: lbt.try_(rpt.read_text, x, 'error'))
|
273
|
+
readable_mask = data.text.apply(lambda x: isinstance(x, str))
|
274
|
+
data.loc[~readable_mask, 'text'] = ''
|
272
275
|
rules = list(filter(lambda x: x['group'] in groups, self._line_rules))
|
273
276
|
for rule in rules:
|
274
277
|
mask = data.groups.apply(lambda x: rule['group'] in x)
|
@@ -281,4 +284,4 @@ class ConformETL:
|
|
281
284
|
replace_value=rule.get('replace', None),
|
282
285
|
)
|
283
286
|
)
|
284
|
-
data.apply(lambda x: rpt.write_text(x.text, x.target), axis=1)
|
287
|
+
data[readable_mask].apply(lambda x: rpt.write_text(x.text, x.target), axis=1)
|
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
|