bluer-objects 6.377.1__py3-none-any.whl → 6.464.1__py3-none-any.whl
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.
- bluer_objects/.abcli/alias.sh +8 -12
- bluer_objects/.abcli/assets/cd.sh +1 -1
- bluer_objects/.abcli/assets/mv.sh +6 -6
- bluer_objects/.abcli/assets/publish.sh +4 -1
- bluer_objects/.abcli/mlflow/tags/search.sh +1 -5
- bluer_objects/.abcli/tests/help.sh +0 -7
- bluer_objects/.abcli/tests/mlflow_tags.sh +1 -1
- bluer_objects/.abcli/tests/pdf.sh +10 -2
- bluer_objects/README/__init__.py +7 -37
- bluer_objects/README/alias.py +15 -4
- bluer_objects/README/build/__init__.py +0 -0
- bluer_objects/README/build/aliases.py +23 -0
- bluer_objects/README/build/docs.py +23 -0
- bluer_objects/README/build/modules.py +9 -0
- bluer_objects/README/consts.py +8 -3
- bluer_objects/README/functions.py +50 -22
- bluer_objects/README/process/__init__.py +0 -0
- bluer_objects/README/process/assets.py +36 -0
- bluer_objects/README/process/details.py +20 -0
- bluer_objects/README/process/envs.py +23 -0
- bluer_objects/README/process/help.py +27 -0
- bluer_objects/README/process/include.py +40 -0
- bluer_objects/README/process/legacy.py +21 -0
- bluer_objects/README/process/mermaid.py +20 -0
- bluer_objects/README/process/national_internet.py +55 -0
- bluer_objects/README/process/objects.py +32 -0
- bluer_objects/README/process/signature.py +35 -0
- bluer_objects/README/process/title.py +44 -0
- bluer_objects/README/process/variables.py +12 -0
- bluer_objects/__init__.py +1 -1
- bluer_objects/config.env +8 -4
- bluer_objects/env.py +4 -1
- bluer_objects/file/functions.py +8 -1
- bluer_objects/help/assets.py +6 -9
- bluer_objects/help/functions.py +0 -2
- bluer_objects/help/mlflow/cache.py +2 -4
- bluer_objects/help/mlflow/tags.py +34 -23
- bluer_objects/mlflow/__init__.py +1 -1
- bluer_objects/mlflow/__main__.py +49 -31
- bluer_objects/mlflow/lock/functions.py +1 -1
- bluer_objects/mlflow/logging.py +6 -0
- bluer_objects/mlflow/models.py +7 -0
- bluer_objects/mlflow/objects.py +7 -0
- bluer_objects/mlflow/runs.py +10 -1
- bluer_objects/mlflow/serverless/__init__.py +3 -0
- bluer_objects/mlflow/serverless/api.py +88 -0
- bluer_objects/mlflow/serverless/read.py +19 -0
- bluer_objects/mlflow/serverless/search.py +35 -0
- bluer_objects/mlflow/serverless/write.py +42 -0
- bluer_objects/mlflow/tags.py +59 -9
- bluer_objects/objects.py +3 -1
- bluer_objects/pdf/convert/convert.py +1 -2
- bluer_objects/tests/test_env.py +34 -22
- bluer_objects/tests/test_file_download.py +5 -0
- bluer_objects/tests/test_mlflow.py +112 -3
- bluer_objects/tests/test_web_is_accessible.py +1 -1
- {bluer_objects-6.377.1.dist-info → bluer_objects-6.464.1.dist-info}/METADATA +19 -13
- {bluer_objects-6.377.1.dist-info → bluer_objects-6.464.1.dist-info}/RECORD +61 -50
- {bluer_objects-6.377.1.dist-info → bluer_objects-6.464.1.dist-info}/WHEEL +1 -1
- bluer_objects/.abcli/tests/mlflow_test.sh +0 -7
- bluer_objects/.abcli/tests/web_is_accessible.sh +0 -17
- bluer_objects/.abcli/tests/web_where_am_ai.sh +0 -5
- bluer_objects/.abcli/url.sh +0 -15
- bluer_objects/.abcli/web/is_accessible.sh +0 -13
- bluer_objects/.abcli/web/where_am_i.sh +0 -5
- bluer_objects/README/utils.py +0 -275
- bluer_objects/help/web.py +0 -38
- bluer_objects/web/__init__.py +0 -1
- bluer_objects/web/__main__.py +0 -31
- bluer_objects/web/functions.py +0 -9
- {bluer_objects-6.377.1.dist-info → bluer_objects-6.464.1.dist-info}/licenses/LICENSE +0 -0
- {bluer_objects-6.377.1.dist-info → bluer_objects-6.464.1.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bluer_objects
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.464.1
|
|
4
4
|
Summary: 🌀 Object management in Bash.
|
|
5
5
|
Home-page: https://github.com/kamangir/bluer-objects
|
|
6
6
|
Author: Arash Abadpour (Kamangir)
|
|
@@ -36,7 +36,7 @@ Dynamic: summary
|
|
|
36
36
|
|
|
37
37
|
🌀 `bluer-objects` are the inputs and outputs of [AI algo](https://github.com/kamangir/giza). They are maintained in cloud storage (supports [WebDav](https://pypi.org/project/webdavclient3/)) and their metadata is tracked by [MLflow](https://mlflow.org/). Examples are the Sentinel-2 [datacube](https://github.com/kamangir/blue-geo/tree/main/blue_geo/datacube) `datacube-EarthSearch-sentinel_2_l1c-S2A_10UDC_20240731_0_L1C` and 🌐 [`@geo watch` outputs](https://github.com/kamangir/blue-geo/tree/main/blue_geo/watch).
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
also home to 🌀 [bluer README](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/README/), the 🔒 [`lock`](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/mlflow/lock/), and [serverless mlflow](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/mlflow/serverless/).
|
|
40
40
|
|
|
41
41
|
# installation
|
|
42
42
|
|
|
@@ -46,16 +46,22 @@ pip install bluer-objects
|
|
|
46
46
|
|
|
47
47
|
# aliases
|
|
48
48
|
|
|
49
|
-
[@assets](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/assets.md)
|
|
50
|
-
[@
|
|
51
|
-
[@
|
|
52
|
-
[@
|
|
53
|
-
[@
|
|
54
|
-
[@
|
|
55
|
-
[@
|
|
56
|
-
[@
|
|
57
|
-
[@
|
|
58
|
-
[@
|
|
49
|
+
[@assets](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/assets.md)
|
|
50
|
+
[@cache](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/cache.md)
|
|
51
|
+
[@clone](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/clone.md)
|
|
52
|
+
[@cp](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/cp.md)
|
|
53
|
+
[@create_test_asset](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/create_test_asset.md)
|
|
54
|
+
[@download](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/download.md)
|
|
55
|
+
[@file](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/file.md)
|
|
56
|
+
[@gif](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/gif.md)
|
|
57
|
+
[@host](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/host.md)
|
|
58
|
+
[@lock](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/lock.md)
|
|
59
|
+
[@ls](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/ls.md)
|
|
60
|
+
[@metadata](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/metadata.md)
|
|
61
|
+
[@mlflow](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/mlflow.md)
|
|
62
|
+
[@pdf](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/pdf.md)
|
|
63
|
+
[@tags](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/tags.md)
|
|
64
|
+
[@upload](https://github.com/kamangir/bluer-objects/blob/main/bluer_objects/docs/aliases/upload.md)
|
|
59
65
|
|
|
60
66
|
---
|
|
61
67
|
|
|
@@ -66,6 +72,6 @@ pip install bluer-objects
|
|
|
66
72
|
|
|
67
73
|
[](https://github.com/kamangir/bluer-objects/actions/workflows/pylint.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/pytest.yml) [](https://github.com/kamangir/bluer-objects/actions/workflows/bashtest.yml) [](https://pypi.org/project/bluer-objects/) [](https://pypistats.org/packages/bluer-objects)
|
|
68
74
|
|
|
69
|
-
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.
|
|
75
|
+
built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🌀 [`bluer_objects-6.464.1`](https://github.com/kamangir/bluer-objects).
|
|
70
76
|
|
|
71
77
|
built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
bluer_objects/__init__.py,sha256=
|
|
1
|
+
bluer_objects/__init__.py,sha256=FYzWYWkXn7_CWW0V23cW3Etkr21uQiwLE_WSvJL6QR0,315
|
|
2
2
|
bluer_objects/__main__.py,sha256=Yqfov833_hJuRne19WrGhT5DWAPtdffpoMxeSXS7EGw,359
|
|
3
|
-
bluer_objects/config.env,sha256=
|
|
4
|
-
bluer_objects/env.py,sha256=
|
|
3
|
+
bluer_objects/config.env,sha256=QqzypWJ2zTujL1WRXnrkR2tSIbZSItJ7FvpyGdrPMO4,331
|
|
4
|
+
bluer_objects/env.py,sha256=HaTuWMWez7JWDafOj6HkROLLffT6oApvtCNbkXOMLtQ,2199
|
|
5
5
|
bluer_objects/markdown.py,sha256=23dvQTR0wY_SSeCw4EgYwCBBY0Oe9C1I9njqn0KvcaQ,1000
|
|
6
|
-
bluer_objects/objects.py,sha256=
|
|
6
|
+
bluer_objects/objects.py,sha256=WLOhB64cYa_KmOYTd7d8XJFjR4yn8o_yhJ6CIYvpWEA,1664
|
|
7
7
|
bluer_objects/path.py,sha256=9uspZqObI29NerVDF30uILLaouDtloASh0Mywyq2_ew,3946
|
|
8
8
|
bluer_objects/sample.env,sha256=pk6q6VaCMTqAQmtk0WGzSLIW3bOQkS_sVqhzW59Of34,162
|
|
9
9
|
bluer_objects/urls.py,sha256=paHaYlLMQOI46-EYNch5ohu9Q09BMkF2vvJy1QufrVI,19
|
|
10
10
|
bluer_objects/.abcli/abcli.sh,sha256=zcqSfpuonb7u9YZCO6jbYeU63pTi0WD5q7lBMSUBXqw,352
|
|
11
11
|
bluer_objects/.abcli/actions.sh,sha256=HZI-X5KUy6bXEHmxywfBN1zbHalU0mcTblTQ2HvIfOE,236
|
|
12
12
|
bluer_objects/.abcli/aka.sh,sha256=odRbw4KZb9Ld7uXny6H2pPi64_5kowKX3s68N6YvRmI,23
|
|
13
|
-
bluer_objects/.abcli/alias.sh,sha256=
|
|
13
|
+
bluer_objects/.abcli/alias.sh,sha256=5EL6EVogYJsgcr6L8aHmTHwrlyf0a9qnX6gK_nZJf3A,788
|
|
14
14
|
bluer_objects/.abcli/assets.sh,sha256=LFdj9h5Ka16eYZ4EnEx2o6N7htNGKJ2OknnaM0VJfVI,327
|
|
15
15
|
bluer_objects/.abcli/bluer_objects.sh,sha256=x7qf8hSAp3dAl0Hes4J07vL6qP-mWFUkJhvUXzTJC_8,210
|
|
16
16
|
bluer_objects/.abcli/clone.sh,sha256=KqC5d4MAXwo7UZGhKnfCq9k9CCSl3I1dpU1igYs0Yrs,1975
|
|
@@ -27,10 +27,9 @@ bluer_objects/.abcli/pdf.sh,sha256=Z6vBzemOjRBxOt7tPjm0gzVNj2fzCuLtSsKW3vODZB8,3
|
|
|
27
27
|
bluer_objects/.abcli/select.sh,sha256=CVcqVRN6bMLtEo0SptZS_QGY90_lT1Su71DlcVyddXo,878
|
|
28
28
|
bluer_objects/.abcli/storage.sh,sha256=iYHxdXJI9sGR-WKxDuYKOB06FccSQ0G0-uZn9UJQGnc,321
|
|
29
29
|
bluer_objects/.abcli/upload.sh,sha256=CFw2GkqYDbjOm2dAqg3gmcVEFohjPvjc2ttl15NOmlU,1208
|
|
30
|
-
bluer_objects/.abcli/
|
|
31
|
-
bluer_objects/.abcli/assets/
|
|
32
|
-
bluer_objects/.abcli/assets/
|
|
33
|
-
bluer_objects/.abcli/assets/publish.sh,sha256=nMz2_7pWHGFKy_ADkV5McJ7SPHYfz383Co09beQd868,945
|
|
30
|
+
bluer_objects/.abcli/assets/cd.sh,sha256=s5V_Jz8deJcYgYvx9ZnGZt4HBgdk9AngJ5p6BFVXqfk,474
|
|
31
|
+
bluer_objects/.abcli/assets/mv.sh,sha256=JQO-v371YeCeaUZIqnAMLtm6ifAOjSdVWkTNJuEgqtM,886
|
|
32
|
+
bluer_objects/.abcli/assets/publish.sh,sha256=KgQf-_uOjVHNJVCeGVAaHgrZQYxBlvPoJl6pN8-xMv0,1025
|
|
34
33
|
bluer_objects/.abcli/metadata/download.sh,sha256=BI0qqyHxKsrd8atir2JNiNUmpZP_CObj_msjlP5uRcQ,207
|
|
35
34
|
bluer_objects/.abcli/metadata/edit.sh,sha256=y4tqmAEgj6SybBkqPK8l8lj_hYhetulCo1x7ngcevy0,387
|
|
36
35
|
bluer_objects/.abcli/metadata/get.sh,sha256=6W9x0akZwwozTyOlKCW_0MndYVUAL4v1HSUPxTAsfKA,835
|
|
@@ -51,7 +50,7 @@ bluer_objects/.abcli/mlflow/lock/lock.sh,sha256=FQaLlwG5P5bw80tCloj6nH-fF0JA8jyA
|
|
|
51
50
|
bluer_objects/.abcli/mlflow/lock/unlock.sh,sha256=KS0RRlBhPah93F66ny5AbJ0OxKa1eMAJPHNqWlmmb5s,282
|
|
52
51
|
bluer_objects/.abcli/mlflow/tags/clone.sh,sha256=HY2tigFx9fG4BVDjcoQAUCKil01yESv1f4H9Y5_thm4,440
|
|
53
52
|
bluer_objects/.abcli/mlflow/tags/get.sh,sha256=hsI_zzwJkRmnxvAKlCPdkGlEbn5Ol3eVp8sOi_iA2o8,233
|
|
54
|
-
bluer_objects/.abcli/mlflow/tags/search.sh,sha256=
|
|
53
|
+
bluer_objects/.abcli/mlflow/tags/search.sh,sha256=_h3kx4YkB1hbDxUJhMq-Su_jtK-BWhTeuZic8h0jARo,164
|
|
55
54
|
bluer_objects/.abcli/mlflow/tags/set.sh,sha256=-8hYtWAChlGbKIiI502IyaEaTikuACFFwUTdUnGkW7Q,277
|
|
56
55
|
bluer_objects/.abcli/pdf/convert.sh,sha256=m_4qBzdZuJsKWfEGvVdi3muFANWLBCiCeb4PmHUgkJE,2840
|
|
57
56
|
bluer_objects/.abcli/storage/clear.sh,sha256=VzfS-DfSFcYWFcz1jVdA7MY2xChsElOF841N-2btIVI,1601
|
|
@@ -61,40 +60,51 @@ bluer_objects/.abcli/tests/clone.sh,sha256=Rl9pHvmRJ4H-y-iMA80q11UdSZFrguNaMTez0
|
|
|
61
60
|
bluer_objects/.abcli/tests/create_test_asset.sh,sha256=onRGc3VjDWA7On3isxKD3J7mxA6n349AVXRj90Z3Jzc,386
|
|
62
61
|
bluer_objects/.abcli/tests/file.sh,sha256=1PSlslmfA41nK0iQHwcelTvXT8LAqswF83vcgK98DYU,1209
|
|
63
62
|
bluer_objects/.abcli/tests/gif.sh,sha256=qLbVHcvndl8s3YDHd35T06VR5reAdV-TN7eTXHgTn-s,488
|
|
64
|
-
bluer_objects/.abcli/tests/help.sh,sha256=
|
|
63
|
+
bluer_objects/.abcli/tests/help.sh,sha256=Nt03w9mNfhycVTngVeIjpTqLmhKWpFGPq_FOcghDo50,2076
|
|
65
64
|
bluer_objects/.abcli/tests/host.sh,sha256=GBuTLNw1sU3fAb5jS-ew_qAfovVCQ5CLaz5ad04IkoA,144
|
|
66
65
|
bluer_objects/.abcli/tests/ls.sh,sha256=l8t2YW5-XbAFC35sAfX0XjAJQjsoz8i-_RnDaLXN-G8,747
|
|
67
66
|
bluer_objects/.abcli/tests/metadata.sh,sha256=t-kJ5ZJvsztzG8xyooqRcmo70VDHDcJXcWBD4-aFXQo,2596
|
|
68
67
|
bluer_objects/.abcli/tests/mlflow_cache.sh,sha256=EEAPGasQgN4j6YLp30_IMYAPCTUBxmTgoMzMSpseVbw,388
|
|
69
68
|
bluer_objects/.abcli/tests/mlflow_lock.sh,sha256=TJwp6HbVUOT1HqRfXPS8_zpKAL7-mBee_yyOhmKNzt4,717
|
|
70
69
|
bluer_objects/.abcli/tests/mlflow_logging.sh,sha256=TVzHhk9qRthpP2xdKwu3LwK00S77GqH50io3oVyS2UE,305
|
|
71
|
-
bluer_objects/.abcli/tests/mlflow_tags.sh,sha256=
|
|
72
|
-
bluer_objects/.abcli/tests/mlflow_test.sh,sha256=7MXxYq2GgD2MEJbQlpx80qLT2HaaVn_PFFMpSA_hWA4,125
|
|
70
|
+
bluer_objects/.abcli/tests/mlflow_tags.sh,sha256=eok1Hzm39hTBOqWFcE7lseKJOsVNIOr3XZOGBQdRDSw,796
|
|
73
71
|
bluer_objects/.abcli/tests/open.sh,sha256=usVDe2dIcuwIicGxL5y8KiIxPngY04aUgZuYe_5B3xY,211
|
|
74
72
|
bluer_objects/.abcli/tests/open_gif_open.sh,sha256=Hmpkic6IUFT_NvFCzkY8163Ltx25tECRB6NinXgpCXA,247
|
|
75
|
-
bluer_objects/.abcli/tests/pdf.sh,sha256=
|
|
73
|
+
bluer_objects/.abcli/tests/pdf.sh,sha256=S5pKEeZUhYcW4cn7m_Ve7RJfGxwjUjSBcJ08jnEgtkU,874
|
|
76
74
|
bluer_objects/.abcli/tests/storage_clear.sh,sha256=Pfx23I6Lj_s4hjEmtW40ULAwjFA32hoitQTosgwURTw,213
|
|
77
75
|
bluer_objects/.abcli/tests/storage_public_upload.sh,sha256=qwyUSejxDlV5Q1f7jyOLej_ADZt50HwbuSImFcrMWf8,589
|
|
78
76
|
bluer_objects/.abcli/tests/storage_status.sh,sha256=V5NpkBCxkCxXfSVLIe5pEZ_KleHLDEvFzhP2rAfyGpI,224
|
|
79
77
|
bluer_objects/.abcli/tests/storage_upload_download.sh,sha256=GvFZgzRzN9zlAGLM7m-_uDlDyATAUo7KQcW2yXYFaKw,1604
|
|
80
78
|
bluer_objects/.abcli/tests/version.sh,sha256=k-lXozSjyFgFR58cTzUYla0Ef-upx3sSK641zI5ynfE,169
|
|
81
|
-
bluer_objects
|
|
82
|
-
bluer_objects
|
|
83
|
-
bluer_objects
|
|
84
|
-
bluer_objects
|
|
85
|
-
bluer_objects/README/__init__.py,sha256=aQBG5RVeOTifQAOORO0GMVYxg6jnva9ieCK7dBj_x0U,1481
|
|
86
|
-
bluer_objects/README/alias.py,sha256=dtBzFdYYzUWXgNTZ4B9ILXcZcH_cPpLzi4tncvsY7M8,1339
|
|
87
|
-
bluer_objects/README/consts.py,sha256=GYQ8EikslsUfr8JcrXoU0w4eMIGWpIiNmlchTQbSYV0,803
|
|
88
|
-
bluer_objects/README/functions.py,sha256=PvFawBlJ8IginQn8Kk1QewAyOYRQ4wCuRKpJwr5mUJ8,5844
|
|
79
|
+
bluer_objects/README/__init__.py,sha256=wxcv8i4ol6JdjlR5FYKH-8J51-xxMRmrdLBcGafVLl8,862
|
|
80
|
+
bluer_objects/README/alias.py,sha256=lEtpaYDVI0LCgN40MUAof7YuBCfnveMxDkwIft5l-2c,1605
|
|
81
|
+
bluer_objects/README/consts.py,sha256=0grboJwVSdsZtU3DklKN1Oj6-M5cE_maUK_xOn8tn2c,916
|
|
82
|
+
bluer_objects/README/functions.py,sha256=vfCnrU5m5X3pwuH8niIfW0_fikOsB7NAeC4FSq2AbNc,7445
|
|
89
83
|
bluer_objects/README/items.py,sha256=Z7tUV27pBaNTRaKHrXN9YxN66IFc-UXynVi6iqEuk4I,2624
|
|
90
|
-
bluer_objects/README/
|
|
84
|
+
bluer_objects/README/build/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
+
bluer_objects/README/build/aliases.py,sha256=b5_aAqIokffwSDq_UnFGSugsa7B4jvVR6_2hcRl_qBs,445
|
|
86
|
+
bluer_objects/README/build/docs.py,sha256=bHRdku4fO_n9jViLl8HYvSLartum-Rct4ohAwR_b9ow,482
|
|
87
|
+
bluer_objects/README/build/modules.py,sha256=HIiLHCXNaNA15CcTS9tZzt0n-kAknytpVtFA-jo5NSM,136
|
|
88
|
+
bluer_objects/README/process/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
89
|
+
bluer_objects/README/process/assets.py,sha256=BaAnhnpqKjmnzYQe1r9NEyGLDJPhhlKwUcdj3kFfNb4,1145
|
|
90
|
+
bluer_objects/README/process/details.py,sha256=qLXFlszCKTn-H57dhztmsQYjlvuTLaFWZYGNENgCy-Y,414
|
|
91
|
+
bluer_objects/README/process/envs.py,sha256=laX7hdXBPeRsu_K8Jy9gtm5d9YZA3nwrienBRlmeoRk,627
|
|
92
|
+
bluer_objects/README/process/help.py,sha256=bPaOVknQqj_QpWRkzg_Fy17FfHKSjbDBNxhu2IJYl00,687
|
|
93
|
+
bluer_objects/README/process/include.py,sha256=8prsN_2tpw3RLtLhEQvc_yRUF0mBo3HzPw6kpwCu92s,1099
|
|
94
|
+
bluer_objects/README/process/legacy.py,sha256=8AdRPD31tG8PE8Ori8b-fV5uDq413LOIGfl7wSzXMuc,575
|
|
95
|
+
bluer_objects/README/process/mermaid.py,sha256=HTRn7bgXSuUY1yuqbrMY_snmvGaXIxp9n1Dw1fe1OO0,565
|
|
96
|
+
bluer_objects/README/process/national_internet.py,sha256=SzFVEor6jMpACqjj6XB-jusrFlG6Jxi1_BgMMwRBXL0,1308
|
|
97
|
+
bluer_objects/README/process/objects.py,sha256=mwsFmvnorgc21xQjDvXum7G2VRH98s_Bj3506fD1DyQ,941
|
|
98
|
+
bluer_objects/README/process/signature.py,sha256=lTdcmvQINBd7B_ETsS8kiuNjmJR1WcCFvuOdMkO34jo,1495
|
|
99
|
+
bluer_objects/README/process/title.py,sha256=NH0-f8QW9nmFWBRiaEU8GB0GEukDQHohJ0M6KCWLPI0,1184
|
|
100
|
+
bluer_objects/README/process/variables.py,sha256=c6mZxlG10KRvEPS5Xek6DQvKnrMe_pJPuvub3dZgQWY,272
|
|
91
101
|
bluer_objects/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
92
102
|
bluer_objects/assets/__main__.py,sha256=X1s4ABevs8y5pafPIhZBj5oFX_kMOLWLTMaCFF6_Rio,1064
|
|
93
103
|
bluer_objects/assets/functions.py,sha256=ZxvjbM_XBRJJewAyE8qdzTZdisQTviFdShYL9cVjM_E,1497
|
|
94
104
|
bluer_objects/file/__init__.py,sha256=c_79ipBkKl6OFDimOev0vnaVdpUk-Bl3oJUapOreMXc,681
|
|
95
105
|
bluer_objects/file/__main__.py,sha256=katbvYg2ykEcs14ZY1kvCKaA6KB_vhlPCLPuJlMX_kY,2165
|
|
96
106
|
bluer_objects/file/classes.py,sha256=TRgeRP2yxInPkBnywhuB4BsoBcBRA3UmQzX1dI43UxU,872
|
|
97
|
-
bluer_objects/file/functions.py,sha256=
|
|
107
|
+
bluer_objects/file/functions.py,sha256=RbkLT4bN-Nz9UiYnJgBx5I9AyPaiDstt7UXrWLs4mPM,6757
|
|
98
108
|
bluer_objects/file/load.py,sha256=1zt5xC95HFr89G9lsi3gCJMSvC4Bt0vVeeUEf3NjpOQ,4281
|
|
99
109
|
bluer_objects/file/save.py,sha256=IuSbK6GExzOhHqaVfAhoGRqtgCTaon3Fr1T7rSzyV3w,5277
|
|
100
110
|
bluer_objects/graphics/__init__.py,sha256=Dd0kQqN7Ldvp1N9oyIirPZ6W3IdUtfPj2u21Bf4W_MI,213
|
|
@@ -106,23 +116,22 @@ bluer_objects/graphics/signature.py,sha256=JLml1OR3b4uotZyaAjyrOJworUXuPhp8nDHxH
|
|
|
106
116
|
bluer_objects/graphics/text.py,sha256=nnJrLUD4LIurBntSeUFwBOsbhzALXrzHzfDnBVEcFKA,4382
|
|
107
117
|
bluer_objects/help/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
108
118
|
bluer_objects/help/__main__.py,sha256=Dxg-JpMOIlYWZklI_J2LyiHnRui5lUwWmfM7FLRzUXA,237
|
|
109
|
-
bluer_objects/help/assets.py,sha256=
|
|
119
|
+
bluer_objects/help/assets.py,sha256=4Teo-q2GZZ63VEU6fmlnyYJ2s8BVVmJcUWq4rYL2brI,1827
|
|
110
120
|
bluer_objects/help/clone.py,sha256=PDnQs7zc4sqmoBHPjVRfX7jIaePiohPGCNA5bxeerik,553
|
|
111
121
|
bluer_objects/help/create_test_asset.py,sha256=oxJORm2qk4b_q7EC6-dEuNu1_pK9Ri60PcHhrE8ruxM,375
|
|
112
122
|
bluer_objects/help/download.py,sha256=slRe4Z2xPjJ4BbdUbZUJbDWSDW-TdaDWBvgD_uINFl4,792
|
|
113
123
|
bluer_objects/help/file.py,sha256=WE-BoeWNTJC9-GpmDaFPpwmB1bS7NlWHDbSAwtXvY4g,970
|
|
114
|
-
bluer_objects/help/functions.py,sha256=
|
|
124
|
+
bluer_objects/help/functions.py,sha256=cOkGv-evh4kabrVvWj9KSKq9tJTVnjz0BBATUFn-LS8,1304
|
|
115
125
|
bluer_objects/help/gif.py,sha256=0yrTJ0U-vyqc94GH5xstAc_C9Ld0pxptdBusOpnbfzQ,1007
|
|
116
126
|
bluer_objects/help/host.py,sha256=cq4Y8mo71pqJ0AUjCGkj3smZ-MOTo9aqyxm8q2FWVAs,1050
|
|
117
127
|
bluer_objects/help/ls.py,sha256=lbYo6tyNdepxr-0R5ICkFMNylCuibYxsgVPlgHRR1cQ,957
|
|
118
128
|
bluer_objects/help/metadata.py,sha256=0cv1eWnIFsVRXCFadJKyv2n6vmsW4L4qfVoRrZ6T27Y,3724
|
|
119
129
|
bluer_objects/help/pdf.py,sha256=y3e6p-JtjyBgh77eiHKVI2COnr9re78-bvCrS460u5c,1134
|
|
120
130
|
bluer_objects/help/upload.py,sha256=SDjFDP_O2y1HIJOzWmjuksMF0G5FbrnS14BP0J4vDIE,501
|
|
121
|
-
bluer_objects/help/web.py,sha256=YGxzU0GyoQAA8tqnEoGcC4rABFW_RnI44PhvHvIG5dA,626
|
|
122
131
|
bluer_objects/help/mlflow/__init__.py,sha256=fvnGg8l24oGWKd7lbVm32GHyrE3eBlholj4RFrjFNuw,4427
|
|
123
|
-
bluer_objects/help/mlflow/cache.py,sha256=
|
|
132
|
+
bluer_objects/help/mlflow/cache.py,sha256=RAAbnGyDJTJlo9YuNv9CXVkO5kKR6LIrN8kzzT0YtLk,660
|
|
124
133
|
bluer_objects/help/mlflow/lock.py,sha256=REdB4LmlHu2_6SF1nDA50KBbYtNIKRDbYH7KduUnuEg,848
|
|
125
|
-
bluer_objects/help/mlflow/tags.py,sha256=
|
|
134
|
+
bluer_objects/help/mlflow/tags.py,sha256=vYP4SjemzoTiBvEB7ooRsOs5yIt5ZwS1ZlKeCqzK1vI,2230
|
|
126
135
|
bluer_objects/host/__init__.py,sha256=Ko43SWnZNsGKuIPU_l0w17pYrxCgVHQx3_zEoUNaHZY,272
|
|
127
136
|
bluer_objects/host/__main__.py,sha256=J0MO2sUzrI_t_X4VVYyM6n41ND0yhhSXOmZSkDAC4rg,1751
|
|
128
137
|
bluer_objects/host/functions.py,sha256=Jrm2MB60V-lyITykOTmmhf4IxOJKSwqRUzj_dJu38B0,1752
|
|
@@ -137,24 +146,29 @@ bluer_objects/metadata/enums.py,sha256=aMlAZckl_IjPZcGZhpJa7mb9MTDQ-gWuaQtJJQeHl
|
|
|
137
146
|
bluer_objects/metadata/flatten.py,sha256=Du_mieFw9WGMAGXw7N7zsVJ_A_aMbCpoYjLCC2U3UlE,589
|
|
138
147
|
bluer_objects/metadata/get.py,sha256=1eS1O-GghJ7mYCIiwcQRFwyAd1b3CUafmajAwja9HB8,1803
|
|
139
148
|
bluer_objects/metadata/post.py,sha256=1r0yLmIuEPrKJ_-RfALC5ajpLzmUqEjLYoIQMuI4Jjw,2062
|
|
140
|
-
bluer_objects/mlflow/__init__.py,sha256=
|
|
141
|
-
bluer_objects/mlflow/__main__.py,sha256=
|
|
149
|
+
bluer_objects/mlflow/__init__.py,sha256=Zng1VKLRWezGpIATPBPVer0X9NK3luo5LBqZMMHvgLw,536
|
|
150
|
+
bluer_objects/mlflow/__main__.py,sha256=RMoiVqhORrPDwdvhjMEWPxTEwbALZjC_Ti0l4AhfmUQ,6030
|
|
142
151
|
bluer_objects/mlflow/cache.py,sha256=RQu9hLI6oRhCvj0N1VLcynSutjsxU4wQDo7N3m3i3ho,310
|
|
143
|
-
bluer_objects/mlflow/logging.py,sha256=
|
|
144
|
-
bluer_objects/mlflow/models.py,sha256=
|
|
145
|
-
bluer_objects/mlflow/objects.py,sha256=
|
|
146
|
-
bluer_objects/mlflow/runs.py,sha256=
|
|
147
|
-
bluer_objects/mlflow/tags.py,sha256=
|
|
152
|
+
bluer_objects/mlflow/logging.py,sha256=qBZRbLsfIzKv3FfEZxIa2p3YGoHHEpkw2GCkTBTE8Ho,2720
|
|
153
|
+
bluer_objects/mlflow/models.py,sha256=ak2fvEJojfzjfI7VFUJsVKttJCJE9U-udcap05sKXOM,1422
|
|
154
|
+
bluer_objects/mlflow/objects.py,sha256=YXZsVMTaIy5gP6Ucyc4kgN0xx_vkpG_9TIWiPWgIvcc,1999
|
|
155
|
+
bluer_objects/mlflow/runs.py,sha256=m0bio1ZrzsxFitOMRa7gNxpGlNBR5B_RIWhVFzllcM4,2579
|
|
156
|
+
bluer_objects/mlflow/tags.py,sha256=c1BQ1QMsTW-ysH-tpbsFYgQPy4RkUWRTZO-DHmJr_4s,3705
|
|
148
157
|
bluer_objects/mlflow/testing.py,sha256=cJH5Ki02fJN_Xos1j9yvwQChXvMkOa9i12vtDKmkbNc,842
|
|
149
158
|
bluer_objects/mlflow/lock/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
150
159
|
bluer_objects/mlflow/lock/__main__.py,sha256=xF_xq2UqAsEohSOHjxaFXaw9KopOEDg6LRDM5a4VAPQ,1138
|
|
151
|
-
bluer_objects/mlflow/lock/functions.py,sha256=
|
|
160
|
+
bluer_objects/mlflow/lock/functions.py,sha256=6_2uDdk5BdhvtI6cqy_rpERjG79VFAY7w6OymmX8AlE,3033
|
|
161
|
+
bluer_objects/mlflow/serverless/__init__.py,sha256=f3v40BpqLoIt_l5BmB23tbZcUlNYz3-3xBnDPZKEXJ0,175
|
|
162
|
+
bluer_objects/mlflow/serverless/api.py,sha256=ZwYdVlKk5payPIiZiqKTzmFvhlvAZDl-OyWgxRy4P3c,1764
|
|
163
|
+
bluer_objects/mlflow/serverless/read.py,sha256=Gm5TRWaI5Doc_d0vNxURfKzCnN0oIpMVflXi0LfoXDo,410
|
|
164
|
+
bluer_objects/mlflow/serverless/search.py,sha256=RNBCiV8btLar4gWUkPjSuoQrrSQ_Jo1xOZyRz16oJg0,945
|
|
165
|
+
bluer_objects/mlflow/serverless/write.py,sha256=-c0gGLmMNVIxcHEudymY3qS4RWjXZplP7xwtMIfNZIQ,968
|
|
152
166
|
bluer_objects/pdf/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
153
167
|
bluer_objects/pdf/__main__.py,sha256=u7oJKcE7ntl1x7S5j5GV8hX_4Nm1XYSWUsb--Lb2ZB4,1590
|
|
154
168
|
bluer_objects/pdf/convert/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
155
169
|
bluer_objects/pdf/convert/batch.py,sha256=A5zhAiZ6R_fVlv4QKywk6k_2Zf1uzjoCL8zl-itpxmE,1260
|
|
156
170
|
bluer_objects/pdf/convert/combination.py,sha256=OufDTEB_v9c7x4vh0yZTn97Jq6S1kZS_Py05jXlQ7fs,738
|
|
157
|
-
bluer_objects/pdf/convert/convert.py,sha256=
|
|
171
|
+
bluer_objects/pdf/convert/convert.py,sha256=SX6XXrME3Kgus7fGzgsuUoFl0pAsWAC0DkMJgrUwiBo,3033
|
|
158
172
|
bluer_objects/pdf/convert/image.py,sha256=7kKapRlg7EUGRzuHnb4xw4dXi8kMVJ55RiJpZeE4plY,1260
|
|
159
173
|
bluer_objects/pdf/convert/md.py,sha256=TFw3DugyQJfOxRm1BLNUL15314Clt5_lYoLffO-HECU,2455
|
|
160
174
|
bluer_objects/pdf/convert/missing.py,sha256=3dgMTAWFxIoQtVn6cTKptg-Qa06dE1mUsw0wvpuVdYE,2511
|
|
@@ -175,8 +189,8 @@ bluer_objects/tests/test_README.py,sha256=5D4UV8VcjbeAPThsYVynYtVFuP8gwMAhIjEWuO
|
|
|
175
189
|
bluer_objects/tests/test_README_consts.py,sha256=fBDNjmPrQN0WhF0AtrTVRcEDQMW02MfLFQPgI3U2PcI,1290
|
|
176
190
|
bluer_objects/tests/test_README_items.py,sha256=yfH2RqvgeZhanlJOpVhXuwe5B1tJ5S9fqW4egwWQmlg,4560
|
|
177
191
|
bluer_objects/tests/test_alias.py,sha256=YqgiNUIC2plydFEdAUe2RH1NchiPMku_IXYZWprzp1g,765
|
|
178
|
-
bluer_objects/tests/test_env.py,sha256=
|
|
179
|
-
bluer_objects/tests/test_file_download.py,sha256=
|
|
192
|
+
bluer_objects/tests/test_env.py,sha256=9dUzyJn8FBoEv9j1H-NN_sr0tiiNCSxTk4Q5zrmDOYM,1358
|
|
193
|
+
bluer_objects/tests/test_file_download.py,sha256=uQH459FXfigm7wWWFmtRCrcVtUOdDcyeh788XrqtReY,619
|
|
180
194
|
bluer_objects/tests/test_file_load_save.py,sha256=unqxfiqba6RVhMS95AtHZWsT7Q097jBOKdckAT9PyFU,2390
|
|
181
195
|
bluer_objects/tests/test_file_load_save_text.py,sha256=3XnBGlv3KZvheHY-RlX1Su6LOBkkn57pkf9_dXR81r8,1017
|
|
182
196
|
bluer_objects/tests/test_fullname.py,sha256=xWFf9qqzDQ-4RxRyvyR9GWZyU5qNrKxru94UUKMJfPk,80
|
|
@@ -194,7 +208,7 @@ bluer_objects/tests/test_logger_stitch_images.py,sha256=GW_EPbByNbAhwCJ3LwVXjwe4
|
|
|
194
208
|
bluer_objects/tests/test_markdown.py,sha256=KtCWKIDs4U1M3qAGFMYhzVpdGiDV2VU8z7dCaU3s3Ec,217
|
|
195
209
|
bluer_objects/tests/test_metadata.py,sha256=Qy-Zp5yFrHmZ5tjujuLNcvI2YEyzNuAFXgy0L7sJOJ0,4389
|
|
196
210
|
bluer_objects/tests/test_metadata_flatten.py,sha256=edBaX0CF7Yte4jMSIMBM04FY6Umo3BpfSXXStqpx8IM,2760
|
|
197
|
-
bluer_objects/tests/test_mlflow.py,sha256=
|
|
211
|
+
bluer_objects/tests/test_mlflow.py,sha256=n7jk7bsToPKYyPS40NO42bl_7UZYUU_s6EfyMp32V1Q,3828
|
|
198
212
|
bluer_objects/tests/test_mlflow_lock.py,sha256=rDNfyWHZu3U88yIIFrPeQPsTneU0GR8n9gSgqpj0q9k,569
|
|
199
213
|
bluer_objects/tests/test_objects.py,sha256=pqdXvnAJ5WPlHvqqaKrd9-vqktrE9GOVxSgqHs8yK8w,1441
|
|
200
214
|
bluer_objects/tests/test_path.py,sha256=JjONWyhZyMM_u1SzD1RI_iZ5vYJDUe-B51fbbHczIig,85
|
|
@@ -206,12 +220,9 @@ bluer_objects/tests/test_storage_webdav_request.py,sha256=h2b8PeIx0-hQ2d6PmQcJZy
|
|
|
206
220
|
bluer_objects/tests/test_storage_webdav_zip.py,sha256=C19qxhkcHyTwVFzW35vL85SOcXJPkqXXaWUNll0Uyqc,1017
|
|
207
221
|
bluer_objects/tests/test_testing.py,sha256=d2NH435yqJBl9wmfMqGGd-f0Y0jsL2QhHUXkty9AwPA,235
|
|
208
222
|
bluer_objects/tests/test_version.py,sha256=Lyf3PMcA22e17BNRk_2VgPrtao6dWEgVoXo68Uds8SE,75
|
|
209
|
-
bluer_objects/tests/test_web_is_accessible.py,sha256=
|
|
210
|
-
bluer_objects/
|
|
211
|
-
bluer_objects/
|
|
212
|
-
bluer_objects/
|
|
213
|
-
bluer_objects-6.
|
|
214
|
-
bluer_objects-6.
|
|
215
|
-
bluer_objects-6.377.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
216
|
-
bluer_objects-6.377.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
|
|
217
|
-
bluer_objects-6.377.1.dist-info/RECORD,,
|
|
223
|
+
bluer_objects/tests/test_web_is_accessible.py,sha256=mcxWFXU204x4qJHGiBKDAnq64L8ZhHbMg9gkoa0jy3s,327
|
|
224
|
+
bluer_objects-6.464.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
225
|
+
bluer_objects-6.464.1.dist-info/METADATA,sha256=DSuMifdy6QwjJnBvs864CQQOsZVJg8txXuljK5ImNhw,4580
|
|
226
|
+
bluer_objects-6.464.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
227
|
+
bluer_objects-6.464.1.dist-info/top_level.txt,sha256=RX2TpddbnRkurda3G_pAdyeTztP2IhhRPx949GlEvQo,14
|
|
228
|
+
bluer_objects-6.464.1.dist-info/RECORD,,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
function test_bluer_objects_web_is_accessible() {
|
|
4
|
-
local output=$(bluer_objects_web_is_accessible void)
|
|
5
|
-
[[ "$output" -ne 0 ]] &&
|
|
6
|
-
return 1
|
|
7
|
-
|
|
8
|
-
local url="https://iribnews.ir"
|
|
9
|
-
[[ "$abcli_is_github_workflow" == true ]] &&
|
|
10
|
-
url="https://cnn.com"
|
|
11
|
-
|
|
12
|
-
output=$(bluer_objects_web_is_accessible $url)
|
|
13
|
-
[[ "$output" -ne 1 ]] &&
|
|
14
|
-
return 1
|
|
15
|
-
|
|
16
|
-
return 0
|
|
17
|
-
}
|
bluer_objects/.abcli/url.sh
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
#! /usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
function bluer_objects_web() {
|
|
4
|
-
local task=$1
|
|
5
|
-
|
|
6
|
-
local function_name=bluer_objects_web_$task
|
|
7
|
-
if [[ $(type -t $function_name) == "function" ]]; then
|
|
8
|
-
$function_name "${@:2}"
|
|
9
|
-
return
|
|
10
|
-
fi
|
|
11
|
-
|
|
12
|
-
python3 -m bluer_objects.web "$@"
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
bluer_ai_source_caller_suffix_path /web
|
bluer_objects/README/utils.py
DELETED
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from typing import List, Dict, Union, Callable, Tuple
|
|
3
|
-
|
|
4
|
-
from bluer_options.env import get_env
|
|
5
|
-
from bluer_objects import file
|
|
6
|
-
from bluer_objects import env
|
|
7
|
-
from bluer_objects import NAME as MY_NAME, ICON as MY_ICON
|
|
8
|
-
|
|
9
|
-
from bluer_objects.logger import logger
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
variables: Dict[str, str] = {}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def apply_legacy_on_line(line: str) -> str:
|
|
16
|
-
for before, after in {
|
|
17
|
-
"yaml:::": "metadata:::",
|
|
18
|
-
"--help--": "help:::",
|
|
19
|
-
"--include": "include:::",
|
|
20
|
-
"--table--": "items:::",
|
|
21
|
-
"--signature--": "signature:::",
|
|
22
|
-
}.items():
|
|
23
|
-
line = line.replace(before, after)
|
|
24
|
-
return line
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def apply_legacy(template: List[str]) -> List[str]:
|
|
28
|
-
logger.info("applying legacy conversions...")
|
|
29
|
-
template = [apply_legacy_on_line(line) for line in template]
|
|
30
|
-
return template
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def process_assets(
|
|
34
|
-
template_line: str,
|
|
35
|
-
assets_repo: str,
|
|
36
|
-
) -> str:
|
|
37
|
-
if "assets:::" in template_line:
|
|
38
|
-
template_line = " ".join(
|
|
39
|
-
[
|
|
40
|
-
(
|
|
41
|
-
(
|
|
42
|
-
"".format(
|
|
43
|
-
assets_repo,
|
|
44
|
-
token.split(":::")[1].strip(),
|
|
45
|
-
)
|
|
46
|
-
if any(
|
|
47
|
-
token.endswith(extension)
|
|
48
|
-
for extension in ["png", "jpg", "jpeg", "gif"]
|
|
49
|
-
)
|
|
50
|
-
else "[{}](https://github.com/{}/blob/main/{})".format(
|
|
51
|
-
file.name_and_extension(token.split(":::")[1].strip()),
|
|
52
|
-
assets_repo,
|
|
53
|
-
token.split(":::")[1].strip(),
|
|
54
|
-
)
|
|
55
|
-
)
|
|
56
|
-
if token.startswith("assets:::")
|
|
57
|
-
else token
|
|
58
|
-
)
|
|
59
|
-
for token in template_line.split(" ")
|
|
60
|
-
]
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
return template_line
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def process_details(template_line: str) -> List[str]:
|
|
67
|
-
suffix = template_line.split(":::", 1)[1]
|
|
68
|
-
if suffix:
|
|
69
|
-
content_section = [
|
|
70
|
-
"",
|
|
71
|
-
"<details>",
|
|
72
|
-
f"<summary>{suffix}</summary>",
|
|
73
|
-
"",
|
|
74
|
-
]
|
|
75
|
-
else:
|
|
76
|
-
content_section = [
|
|
77
|
-
"",
|
|
78
|
-
"</details>",
|
|
79
|
-
"",
|
|
80
|
-
]
|
|
81
|
-
|
|
82
|
-
return content_section
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def process_envs(template_line: str) -> str:
|
|
86
|
-
while "env:::" in template_line:
|
|
87
|
-
env_name = template_line.split("env:::", 1)[1]
|
|
88
|
-
if " " in env_name:
|
|
89
|
-
env_name = env_name.split(" ", 1)[0]
|
|
90
|
-
else:
|
|
91
|
-
if ":::" in env_name:
|
|
92
|
-
env_name = env_name.split(":::", 1)[0]
|
|
93
|
-
|
|
94
|
-
env_value = get_env(env_name)
|
|
95
|
-
|
|
96
|
-
template_line = template_line.replace(
|
|
97
|
-
f"env:::{env_name}",
|
|
98
|
-
env_value,
|
|
99
|
-
)
|
|
100
|
-
logger.info(f"{env_name} -> {env_value}")
|
|
101
|
-
|
|
102
|
-
return template_line
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
def process_help(
|
|
106
|
-
template_line: str,
|
|
107
|
-
help_function: Union[Callable[[List[str]], str], None] = None,
|
|
108
|
-
) -> Tuple[bool, List[str]]:
|
|
109
|
-
help_command = template_line.split("help:::")[1].strip()
|
|
110
|
-
|
|
111
|
-
tokens = help_command.strip().split(" ")[1:]
|
|
112
|
-
|
|
113
|
-
help_content = help_function(tokens)
|
|
114
|
-
if not help_content:
|
|
115
|
-
logger.error(f"help not found: {help_command}: {tokens}")
|
|
116
|
-
return False, []
|
|
117
|
-
|
|
118
|
-
logger.info(f"+= help: {help_command}")
|
|
119
|
-
print(help_content)
|
|
120
|
-
content_section = [
|
|
121
|
-
"```bash",
|
|
122
|
-
help_content,
|
|
123
|
-
"```",
|
|
124
|
-
]
|
|
125
|
-
|
|
126
|
-
return True, content_section
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
def process_include(
|
|
130
|
-
template_line: str,
|
|
131
|
-
template_path: str,
|
|
132
|
-
) -> List[str]:
|
|
133
|
-
include_filename_relative = template_line.split(" ")[1].strip()
|
|
134
|
-
include_filename = file.absolute(
|
|
135
|
-
include_filename_relative,
|
|
136
|
-
template_path,
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
success, content_section = file.load_text(include_filename)
|
|
140
|
-
if not success:
|
|
141
|
-
return success
|
|
142
|
-
|
|
143
|
-
content_section = [
|
|
144
|
-
line for line in content_section if not line.startswith("used by:")
|
|
145
|
-
]
|
|
146
|
-
|
|
147
|
-
include_title = (template_line.split(" ", 2) + ["", "", ""])[2]
|
|
148
|
-
if include_title:
|
|
149
|
-
content_section = [f"## {include_title}"] + content_section[1:]
|
|
150
|
-
|
|
151
|
-
if "include:::noref" not in template_line:
|
|
152
|
-
content_section += [
|
|
153
|
-
"using [{}]({}).".format(
|
|
154
|
-
file.name(include_filename),
|
|
155
|
-
include_filename_relative,
|
|
156
|
-
)
|
|
157
|
-
]
|
|
158
|
-
|
|
159
|
-
logger.info(f"{MY_NAME}.build: including {include_filename} ...")
|
|
160
|
-
|
|
161
|
-
return content_section
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
def process_mermaid(template_line: str) -> List[str]:
|
|
165
|
-
template_line_pieces = template_line.split('"')
|
|
166
|
-
if len(template_line_pieces) != 3:
|
|
167
|
-
logger.error(f"🧜🏽♀️ mermaid line not in expected format: {template_line}.")
|
|
168
|
-
return False
|
|
169
|
-
|
|
170
|
-
template_line_pieces[1] = (
|
|
171
|
-
template_line_pieces[1]
|
|
172
|
-
.replace("<", "<")
|
|
173
|
-
.replace(">", ">")
|
|
174
|
-
.replace(" ", "<br>")
|
|
175
|
-
.replace("~~", " ")
|
|
176
|
-
)
|
|
177
|
-
|
|
178
|
-
return ['"'.join(template_line_pieces)]
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
def process_objects(template_line: str) -> str:
|
|
182
|
-
if "object:::" in template_line:
|
|
183
|
-
template_line = " ".join(
|
|
184
|
-
[
|
|
185
|
-
(
|
|
186
|
-
"[{}](https://{}.{}/{}.tar.gz)".format(
|
|
187
|
-
token.split(":::")[1].strip(),
|
|
188
|
-
env.S3_PUBLIC_STORAGE_BUCKET,
|
|
189
|
-
env.S3_STORAGE_ENDPOINT_URL.split("https://", 1)[1],
|
|
190
|
-
token.split(":::")[1].strip(),
|
|
191
|
-
)
|
|
192
|
-
if token.startswith("object:::")
|
|
193
|
-
else token
|
|
194
|
-
)
|
|
195
|
-
for token in template_line.split(" ")
|
|
196
|
-
]
|
|
197
|
-
)
|
|
198
|
-
|
|
199
|
-
return template_line
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
def process_title(
|
|
203
|
-
template_line: str,
|
|
204
|
-
filename: str,
|
|
205
|
-
) -> Tuple[bool, List[str]]:
|
|
206
|
-
template_line_pieces = [
|
|
207
|
-
piece for piece in template_line.strip().split(":::") if piece
|
|
208
|
-
]
|
|
209
|
-
reference = template_line_pieces[1] if len(template_line_pieces) >= 2 else "docs"
|
|
210
|
-
|
|
211
|
-
filename_path_pieces = file.path(filename).split(os.sep)
|
|
212
|
-
if reference not in filename_path_pieces:
|
|
213
|
-
logger.error(
|
|
214
|
-
"reference: {} not found in {}.".format(
|
|
215
|
-
reference,
|
|
216
|
-
template_line,
|
|
217
|
-
)
|
|
218
|
-
)
|
|
219
|
-
return False, []
|
|
220
|
-
|
|
221
|
-
title_pieces = filename_path_pieces[filename_path_pieces.index(reference) + 1 :]
|
|
222
|
-
filename_name = file.name(filename)
|
|
223
|
-
if filename_name != "README":
|
|
224
|
-
title_pieces.append(filename_name)
|
|
225
|
-
|
|
226
|
-
return True, [
|
|
227
|
-
"# {}".format(
|
|
228
|
-
": ".join(
|
|
229
|
-
[
|
|
230
|
-
piece.replace(
|
|
231
|
-
"_",
|
|
232
|
-
"-",
|
|
233
|
-
)
|
|
234
|
-
for piece in title_pieces
|
|
235
|
-
]
|
|
236
|
-
)
|
|
237
|
-
)
|
|
238
|
-
]
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
def process_variable(template_line: str):
|
|
242
|
-
key, value = template_line.split("set:::", 1)[1].split(" ", 1)
|
|
243
|
-
variables[key] = value
|
|
244
|
-
logger.info(f"{key} = {value}")
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
def signature(
|
|
248
|
-
REPO_NAME: str,
|
|
249
|
-
NAME: str,
|
|
250
|
-
ICON: str,
|
|
251
|
-
MODULE_NAME: str,
|
|
252
|
-
VERSION: str,
|
|
253
|
-
) -> List[str]:
|
|
254
|
-
return [
|
|
255
|
-
"",
|
|
256
|
-
" ".join(
|
|
257
|
-
[
|
|
258
|
-
f"[](https://github.com/kamangir/{REPO_NAME}/actions/workflows/pylint.yml)",
|
|
259
|
-
f"[](https://github.com/kamangir/{REPO_NAME}/actions/workflows/pytest.yml)",
|
|
260
|
-
f"[](https://github.com/kamangir/{REPO_NAME}/actions/workflows/bashtest.yml)",
|
|
261
|
-
f"[](https://pypi.org/project/{MODULE_NAME}/)",
|
|
262
|
-
f"[](https://pypistats.org/packages/{MODULE_NAME})",
|
|
263
|
-
]
|
|
264
|
-
),
|
|
265
|
-
"",
|
|
266
|
-
"built by {} [`{}`]({}), based on {}[`{}-{}`]({}).".format(
|
|
267
|
-
MY_ICON,
|
|
268
|
-
"bluer README",
|
|
269
|
-
"https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README",
|
|
270
|
-
f"{ICON} " if ICON else "",
|
|
271
|
-
NAME,
|
|
272
|
-
VERSION,
|
|
273
|
-
f"https://github.com/kamangir/{REPO_NAME}",
|
|
274
|
-
),
|
|
275
|
-
]
|