blue-sandbox 5.6.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,9 @@
1
+ #! /usr/bin/env bash
2
+
3
+ abcli_source_caller_suffix_path /tests
4
+
5
+ abcli_env_dot_load \
6
+ caller,ssm,plugin=blue_sandbox,suffix=/../..
7
+
8
+ abcli_env_dot_load \
9
+ caller,filename=config.env,suffix=/..
@@ -0,0 +1,11 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox_action_git_before_push() {
4
+ blue_sandbox build_README
5
+ [[ $? -ne 0 ]] && return 1
6
+
7
+ [[ "$(abcli_git get_branch)" != "main" ]] &&
8
+ return 0
9
+
10
+ blue_sandbox pypi build
11
+ }
@@ -0,0 +1 @@
1
+ #! /usr/bin/env bash
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env bash
2
+
3
+ alias @sandbox=blue_sandbox
@@ -0,0 +1,11 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox() {
4
+ local task=$(abcli_unpack_keyword $1 version)
5
+
6
+ abcli_generic_task \
7
+ plugin=blue_sandbox,task=$task \
8
+ "${@:2}"
9
+ }
10
+
11
+ abcli_log $(blue_sandbox version --show_icon 1)
@@ -0,0 +1,12 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function blue_sandbox_browse() {
4
+ local options=$1
5
+ local what=$(abcli_option_choice "$options" actions,repo repo)
6
+
7
+ local url="https://github.com/kamangir/blue-sandbox"
8
+ [[ "$what" == "actions" ]] &&
9
+ url="$url/actions"
10
+
11
+ abcli_browse $url
12
+ }
@@ -0,0 +1,7 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function abcli_install_blue_sandbox() {
4
+ :
5
+ }
6
+
7
+ # abcli_install_module blue_sandbox 1.1.1
@@ -0,0 +1,8 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function test_blue_sandbox_README() {
4
+ local options=$1
5
+
6
+ abcli_eval ,$options \
7
+ blue_sandbox build_README
8
+ }
@@ -0,0 +1,18 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function test_blue_sandbox_help() {
4
+ local options=$1
5
+
6
+ local module
7
+ for module in \
8
+ "@sandbox" \
9
+ "blue_sandbox"; do
10
+ abcli_eval ,$options \
11
+ abcli_help $module
12
+ [[ $? -ne 0 ]] && return 1
13
+
14
+ abcli_hr
15
+ done
16
+
17
+ return 0
18
+ }
@@ -0,0 +1,8 @@
1
+ #! /usr/bin/env bash
2
+
3
+ function test_blue_sandbox_version() {
4
+ local options=$1
5
+
6
+ abcli_eval ,$options \
7
+ "blue_sandbox version ${@:2}"
8
+ }
blue_sandbox/README.py ADDED
@@ -0,0 +1,27 @@
1
+ import os
2
+
3
+ from blue_objects import file, README
4
+
5
+ from blue_sandbox import NAME, VERSION, ICON, REPO_NAME
6
+
7
+
8
+ items = [
9
+ "{}[`{}`](#) [![image]({})](#) {}".format(
10
+ ICON,
11
+ f"experiment {index}",
12
+ "https://github.com/kamangir/assets/raw/main/blue-plugin/marquee.png?raw=true",
13
+ f"description of experiment {index} ...",
14
+ )
15
+ for index in range(1, 4)
16
+ ]
17
+
18
+
19
+ def build():
20
+ return README.build(
21
+ items=items,
22
+ path=os.path.join(file.path(__file__), ".."),
23
+ ICON=ICON,
24
+ NAME=NAME,
25
+ VERSION=VERSION,
26
+ REPO_NAME=REPO_NAME,
27
+ )
@@ -0,0 +1,19 @@
1
+ NAME = "blue_sandbox"
2
+
3
+ ICON = "🌀"
4
+
5
+ DESCRIPTION = f"{ICON} A sandbox for ideas and experiments."
6
+
7
+ VERSION = "5.6.1"
8
+
9
+ REPO_NAME = "blue-sandbox"
10
+
11
+ MARQUEE = (
12
+ "https://github.com/kamangir/assets/raw/main/blue-sandbox/marquee.png?raw=true"
13
+ )
14
+
15
+ ALIAS = "@sandbox"
16
+
17
+
18
+ def fullname() -> str:
19
+ return f"{NAME}-{VERSION}"
@@ -0,0 +1,23 @@
1
+ from blueness.argparse.generic import main
2
+
3
+ from blue_sandbox import NAME, VERSION, DESCRIPTION, ICON, README
4
+ from blue_sandbox.logger import logger
5
+
6
+ main(
7
+ ICON=ICON,
8
+ NAME=NAME,
9
+ DESCRIPTION=DESCRIPTION,
10
+ VERSION=VERSION,
11
+ main_filename=__file__,
12
+ tasks={
13
+ "build_README": lambda _: README.build(),
14
+ },
15
+ logger=logger,
16
+ )
17
+
18
+
19
+
20
+
21
+
22
+
23
+
@@ -0,0 +1 @@
1
+ BLUE_PLUGIN_CONFIG=value
blue_sandbox/env.py ADDED
@@ -0,0 +1,11 @@
1
+ import os
2
+ from blue_options.env import load_config, load_env
3
+
4
+ load_env(__name__)
5
+ load_config(__name__)
6
+
7
+
8
+ BLUE_PLUGIN_CONFIG = os.getenv(
9
+ "BLUE_PLUGIN_CONFIG",
10
+ "",
11
+ )
@@ -0,0 +1,7 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,10 @@
1
+ from blueness import module
2
+ from blue_options.help.functions import help_main
3
+
4
+ from blue_sandbox import NAME
5
+ from blue_sandbox.help.functions import help_functions
6
+
7
+ NAME = module.name(__file__, NAME)
8
+
9
+
10
+ help_main(NAME, help_functions)
@@ -0,0 +1,6 @@
1
+ from abcli.help.generic import help_functions as generic_help_functions
2
+
3
+ from blue_sandbox import ALIAS
4
+
5
+
6
+ help_functions = generic_help_functions(plugin_name=ALIAS)
blue_sandbox/host.py ADDED
@@ -0,0 +1,18 @@
1
+ from typing import List
2
+
3
+ from abcli.host import signature as abcli_signature
4
+
5
+ from blue_sandbox import fullname
6
+
7
+
8
+ def signature() -> List[str]:
9
+ return [
10
+ fullname(),
11
+ ] + abcli_signature()
12
+
13
+
14
+
15
+
16
+
17
+
18
+
blue_sandbox/logger.py ADDED
@@ -0,0 +1,11 @@
1
+ from blue_options.logger import get_logger
2
+ from blue_sandbox import ICON
3
+
4
+ logger = get_logger(ICON)
5
+
6
+
7
+
8
+
9
+
10
+
11
+
File without changes
blue_sandbox/urls.py ADDED
@@ -0,0 +1,8 @@
1
+ urlpatterns = []
2
+
3
+
4
+
5
+
6
+
7
+
8
+
@@ -0,0 +1,121 @@
1
+ Creative Commons Legal Code
2
+
3
+ CC0 1.0 Universal
4
+
5
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12
+ HEREUNDER.
13
+
14
+ Statement of Purpose
15
+
16
+ The laws of most jurisdictions throughout the world automatically confer
17
+ exclusive Copyright and Related Rights (defined below) upon the creator
18
+ and subsequent owner(s) (each and all, an "owner") of an original work of
19
+ authorship and/or a database (each, a "Work").
20
+
21
+ Certain owners wish to permanently relinquish those rights to a Work for
22
+ the purpose of contributing to a commons of creative, cultural and
23
+ scientific works ("Commons") that the public can reliably and without fear
24
+ of later claims of infringement build upon, modify, incorporate in other
25
+ works, reuse and redistribute as freely as possible in any form whatsoever
26
+ and for any purposes, including without limitation commercial purposes.
27
+ These owners may contribute to the Commons to promote the ideal of a free
28
+ culture and the further production of creative, cultural and scientific
29
+ works, or to gain reputation or greater distribution for their Work in
30
+ part through the use and efforts of others.
31
+
32
+ For these and/or other purposes and motivations, and without any
33
+ expectation of additional consideration or compensation, the person
34
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35
+ is an owner of Copyright and Related Rights in the Work, voluntarily
36
+ elects to apply CC0 to the Work and publicly distribute the Work under its
37
+ terms, with knowledge of his or her Copyright and Related Rights in the
38
+ Work and the meaning and intended legal effect of CC0 on those rights.
39
+
40
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
41
+ protected by copyright and related or neighboring rights ("Copyright and
42
+ Related Rights"). Copyright and Related Rights include, but are not
43
+ limited to, the following:
44
+
45
+ i. the right to reproduce, adapt, distribute, perform, display,
46
+ communicate, and translate a Work;
47
+ ii. moral rights retained by the original author(s) and/or performer(s);
48
+ iii. publicity and privacy rights pertaining to a person's image or
49
+ likeness depicted in a Work;
50
+ iv. rights protecting against unfair competition in regards to a Work,
51
+ subject to the limitations in paragraph 4(a), below;
52
+ v. rights protecting the extraction, dissemination, use and reuse of data
53
+ in a Work;
54
+ vi. database rights (such as those arising under Directive 96/9/EC of the
55
+ European Parliament and of the Council of 11 March 1996 on the legal
56
+ protection of databases, and under any national implementation
57
+ thereof, including any amended or successor version of such
58
+ directive); and
59
+ vii. other similar, equivalent or corresponding rights throughout the
60
+ world based on applicable law or treaty, and any national
61
+ implementations thereof.
62
+
63
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
64
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
65
+ irrevocably and unconditionally waives, abandons, and surrenders all of
66
+ Affirmer's Copyright and Related Rights and associated claims and causes
67
+ of action, whether now known or unknown (including existing as well as
68
+ future claims and causes of action), in the Work (i) in all territories
69
+ worldwide, (ii) for the maximum duration provided by applicable law or
70
+ treaty (including future time extensions), (iii) in any current or future
71
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
72
+ including without limitation commercial, advertising or promotional
73
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74
+ member of the public at large and to the detriment of Affirmer's heirs and
75
+ successors, fully intending that such Waiver shall not be subject to
76
+ revocation, rescission, cancellation, termination, or any other legal or
77
+ equitable action to disrupt the quiet enjoyment of the Work by the public
78
+ as contemplated by Affirmer's express Statement of Purpose.
79
+
80
+ 3. Public License Fallback. Should any part of the Waiver for any reason
81
+ be judged legally invalid or ineffective under applicable law, then the
82
+ Waiver shall be preserved to the maximum extent permitted taking into
83
+ account Affirmer's express Statement of Purpose. In addition, to the
84
+ extent the Waiver is so judged Affirmer hereby grants to each affected
85
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
86
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
87
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
88
+ maximum duration provided by applicable law or treaty (including future
89
+ time extensions), (iii) in any current or future medium and for any number
90
+ of copies, and (iv) for any purpose whatsoever, including without
91
+ limitation commercial, advertising or promotional purposes (the
92
+ "License"). The License shall be deemed effective as of the date CC0 was
93
+ applied by Affirmer to the Work. Should any part of the License for any
94
+ reason be judged legally invalid or ineffective under applicable law, such
95
+ partial invalidity or ineffectiveness shall not invalidate the remainder
96
+ of the License, and in such case Affirmer hereby affirms that he or she
97
+ will not (i) exercise any of his or her remaining Copyright and Related
98
+ Rights in the Work or (ii) assert any associated claims and causes of
99
+ action with respect to the Work, in either case contrary to Affirmer's
100
+ express Statement of Purpose.
101
+
102
+ 4. Limitations and Disclaimers.
103
+
104
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
105
+ surrendered, licensed or otherwise affected by this document.
106
+ b. Affirmer offers the Work as-is and makes no representations or
107
+ warranties of any kind concerning the Work, express, implied,
108
+ statutory or otherwise, including without limitation warranties of
109
+ title, merchantability, fitness for a particular purpose, non
110
+ infringement, or the absence of latent or other defects, accuracy, or
111
+ the present or absence of errors, whether or not discoverable, all to
112
+ the greatest extent permissible under applicable law.
113
+ c. Affirmer disclaims responsibility for clearing rights of other persons
114
+ that may apply to the Work or any use thereof, including without
115
+ limitation any person's Copyright and Related Rights in the Work.
116
+ Further, Affirmer disclaims responsibility for obtaining any necessary
117
+ consents, permissions or other rights required for any use of the
118
+ Work.
119
+ d. Affirmer understands and acknowledges that Creative Commons is not a
120
+ party to this document and has no duty or obligation with respect to
121
+ this CC0 or use of the Work.
@@ -0,0 +1,50 @@
1
+ Metadata-Version: 2.2
2
+ Name: blue_sandbox
3
+ Version: 5.6.1
4
+ Summary: 🌀 A sandbox for ideas and experiments.
5
+ Home-page: https://github.com/kamangir/blue-sandbox
6
+ Author: Arash Abadpour (Kamangir)
7
+ Author-email: arash@kamangir.net
8
+ License: Public Domain
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Unix Shell
11
+ Classifier: License :: Public Domain
12
+ Classifier: Operating System :: OS Independent
13
+ Description-Content-Type: text/markdown
14
+ License-File: LICENSE
15
+ Requires-Dist: blueness
16
+ Requires-Dist: blue-options
17
+ Requires-Dist: abcli
18
+ Requires-Dist: boto3
19
+ Requires-Dist: geojson
20
+ Requires-Dist: geopandas
21
+ Requires-Dist: matplotlib
22
+ Requires-Dist: numpy
23
+ Requires-Dist: opencv-python
24
+ Requires-Dist: pymysql
25
+ Requires-Dist: pyyaml
26
+ Requires-Dist: pylint
27
+ Requires-Dist: pytest
28
+ Requires-Dist: python-dotenv[cli]
29
+ Requires-Dist: tqdm
30
+ Dynamic: author
31
+ Dynamic: author-email
32
+ Dynamic: classifier
33
+ Dynamic: description
34
+ Dynamic: description-content-type
35
+ Dynamic: home-page
36
+ Dynamic: license
37
+ Dynamic: requires-dist
38
+ Dynamic: summary
39
+
40
+ # 🌀 blue-sandbox
41
+
42
+ 🌀 A sandbox for ideas and experiments.
43
+
44
+ ```bash
45
+ pip install blue-sandbox
46
+ ```
47
+
48
+ | | | |
49
+ | --- | --- | --- |
50
+ | 🌀[`experiment 1`](#) [![image](https://github.com/kamangir/assets/raw/main/blue-plugin/marquee.png?raw=true)](#) description of experiment 1 ... | 🌀[`experiment 2`](#) [![image](https://github.com/kamangir/assets/raw/main/blue-plugin/marquee.png?raw=true)](#) description of experiment 2 ... | 🌀[`experiment 3`](#) [![image](https://github.com/kamangir/assets/raw/main/blue-plugin/marquee.png?raw=true)](#) description of experiment 3 ... |
@@ -0,0 +1,28 @@
1
+ blue_sandbox/README.py,sha256=SgLxRHMaFxtB8u90QQVaCw9x93qUIFjUGXcHrVHUJQI,598
2
+ blue_sandbox/__init__.py,sha256=B5IGBbMnlatMLGG5uwGUDOS0OS40_fSUXqIQWWKMY4w,321
3
+ blue_sandbox/__main__.py,sha256=aPRHSpGpk-bDbzhHpfLNsd3y1gGEHpnhoTF-RBweNwc,361
4
+ blue_sandbox/config.env,sha256=89ao50sGXYWiU-NMV_fUVXAXdTHKKfWV03BY3_p6EOE,25
5
+ blue_sandbox/env.py,sha256=ljEErQJNy0cdSvPpJ_ziMNvXK6Qlvi_8VBgTqjSm2uk,173
6
+ blue_sandbox/functions.py,sha256=U41kQFNPpfYV6KJpMnkqgqLkozqXiG4tgV6rj8IW1BU,7
7
+ blue_sandbox/host.py,sha256=uJpiM105rnm6ySF16zA7waWekGBdec-dlpoRRU_QqwU,210
8
+ blue_sandbox/logger.py,sha256=ZoFrTIfJJGNtZUm2d7lkQjdB2SPl_KBKDmHJOcIivPM,107
9
+ blue_sandbox/sample.env,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ blue_sandbox/urls.py,sha256=tIZ36ONJEoUBM-tFhOpkVhLwb1OgLegUeEaBDqW4USM,24
11
+ blue_sandbox/.abcli/abcli.sh,sha256=xsJ4IzuQsvLZog6U8VTBFVXsEi6ADe13L8rn47XtlbU,196
12
+ blue_sandbox/.abcli/actions.sh,sha256=vImEUI105GRcxs2mAKGMqcvoErtmOPZZ-7dfSmUUxvE,230
13
+ blue_sandbox/.abcli/aka.sh,sha256=RHDU_JbEEL2B0vvvRJ3NVSsRSEjSu09jNY85n7DLe-k,21
14
+ blue_sandbox/.abcli/alias.sh,sha256=R1dhdw3KalMeD4hZ7nGbqDsecsSoQYa6InnQD0CCj2E,50
15
+ blue_sandbox/.abcli/blue_sandbox.sh,sha256=PGRJOgNGlC3XL5cw4ecZH40LDuc_6NVazTKhCWtZ-3g,233
16
+ blue_sandbox/.abcli/browse.sh,sha256=f8qa4qDVts2Am6_ldDwNeJXzhBQTk9PUKl0-a9wW1ww,287
17
+ blue_sandbox/.abcli/install.sh,sha256=dOY6YyorhLGjAoGpPeu4WAEPYUXRiHG4Mqxv_V-aj5s,113
18
+ blue_sandbox/.abcli/tests/README.sh,sha256=rmJM-BPnTcmpPbJ5GXsF8vd_a84JKryeKkZyVScUing,145
19
+ blue_sandbox/.abcli/tests/help.sh,sha256=KGgts9-3OJsJCufIN2cGzPrNjgl714HV86lT69BoaEM,305
20
+ blue_sandbox/.abcli/tests/version.sh,sha256=jF8zoJN1eKE3LfDeRVG9uHEosmEVJX6RtKfdioyeN-o,150
21
+ blue_sandbox/help/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
22
+ blue_sandbox/help/__main__.py,sha256=3Cqp5oISrZCOUApmwoQoCj_0sQgtkiEkm_ob3LFKzRE,234
23
+ blue_sandbox/help/functions.py,sha256=6pqjFj4iQYWuRyhmEKe-ErPCZW963n-Q1AdfNbfeQos,165
24
+ blue_sandbox-5.6.1.dist-info/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
25
+ blue_sandbox-5.6.1.dist-info/METADATA,sha256=ElTccE0wvSP0z2u1bVuq2IbS3rjEnU4Pawcj6DYJy7U,1629
26
+ blue_sandbox-5.6.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
27
+ blue_sandbox-5.6.1.dist-info/top_level.txt,sha256=4D9Cb9QUCaqdYAmBiCwvtlaYBtUYVVxv0Sxcr_pzgS8,13
28
+ blue_sandbox-5.6.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.8.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ blue_sandbox