Skip to main content

🌀 bluer-options

🌀 bluer_options implements an options argument for Bash.

installation

pip install bluer_options

if using outside the bluer-ai ecosystem, add this line to ~/.bash_profile or ~/.bashrc,

source $(python3 -m bluer_options locate)/.bash/bluer_options.sh

for more refer to 🔻 giza.

usage

let the function receive one or more options arguments (example below) then parse them with bluer_ai_option, bluer_ai_option_int, and bluer_ai_option_choice.

function func() {
    local options=$1

    local var=$(bluer_ai_option "$options" var default)
    local key=$(bluer_ai_option_int "$options" key 0)
    local choice=$(bluer_ai_option_choice "$options" value_1,value_2,value_3 default)

    :
}

this enables the user to call func as,

func var=12,~key,value_1

all options have defaults and order doesn't matter.

example 1

here is an example use of an options in the vancouver-watching 🌈 ingest command:

 > @help vanwatch ingest
vanwatch \
	ingest \
	[area=<area>,count=<-1>,~download,dryrun,~upload] \
	[-|<object-name>] \
	[process,count=<-1>,~download,dryrun,gif,model=<model-id>,publish,~upload] \
	[--detect_objects 0] \
	[--overwrite 1] \
	[--verbose 1]

this command takes in an options, an object, and args. an options is a string representation of a dictionary, such as,

area=<vancouver>,~batch,count=<-1>,dryrun,gif,model=<model-id>,~process,publish,~upload

which is equivalent, in json notation, to,

{
    "area": "vancouver",
    "batch": false,
    "count": -1,
    "dryrun": true,
    "gif": true,
    "model": "<model-id>",
    "process": false,
    "publish": true,
    "upload": false,
}
example 2

from reddit

How can I automate these tree commands I frequently need to type out? I would like to run:

git add .
git commit -m "Initial "commit"
git push

I got bored of typing them out each time. Can I make an alias or something like "gc" (for git commit). The commit message is always the same "Initial commit".

first, install bluer-options. this will also install blueness.

pip install bluer_options

then, copy example1.sh to your machine and add this line to the end of your bash_profile,

source <path/to/example1.sh>

now, you have access to the @git super command. here is how it works.

  1. @git help shows usage instructions (see below).
  2. @git commit runs the three commands. you can customize the message by running @git commit <message>. you can also avoid the push by running @git commit <message> ~push.
  3. for any <task> other than commit, @git <task> <args> runs git <task> <args>.
 > @git help
 @git commit [<message>] \
	~push
 . git commit with <message> and push.
@git <command>
 . git <command>.

image


🌀 blue-options for the Global South.


pylint pytest PyPI version PyPI - Downloads

built by 🌀 blueness-3.122.1.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bluer_options-5.345.1.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bluer_options-5.345.1-py3-none-any.whl (52.2 kB view details)

Uploaded Python 3

File details

Details for the file bluer_options-5.345.1.tar.gz.

File metadata

  • Download URL: bluer_options-5.345.1.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bluer_options-5.345.1.tar.gz
Algorithm Hash digest
SHA256 c4f4e84b48e6b41f44a98547f7ea6d97b152182078c0e376faf83a5a45979781
MD5 5faec3af350364299daec6ef4548475d
BLAKE2b-256 e2a29164b66a657cdfe3e17963e48eb0b27f0cfa43d740b8277591a290971ecd

See more details on using hashes here.

File details

Details for the file bluer_options-5.345.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bluer_options-5.345.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9ca62f69a07da0a637a25fe6911c6ed57ea4186f2e33db551dccd720cf751d60
MD5 abdbacc9a0ab598a9ca4c576a40b9475
BLAKE2b-256 d133c51d274f0643015ff28a572e4214b8e1350eaa9737ddba741757078535fe

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.345.1 This release

2 files

5.344.1

2 files

5.343.1

2 files

5.341.1

2 files

5.338.1

2 files

5.337.1

2 files

5.333.1

2 files

5.331.1

2 files

5.304.1

2 files

5.302.1

2 files

5.300.1

2 files

5.298.1

2 files

5.296.1

2 files

5.295.1

2 files

5.294.1

2 files

5.292.1

2 files

5.291.1

2 files

5.288.1

2 files

5.285.1

2 files

5.280.1

2 files

5.273.1

2 files

5.272.1

2 files

5.270.1

2 files

5.269.1

2 files

5.267.1

2 files

5.265.1

2 files

5.264.1

2 files

5.256.1

2 files

5.255.1

2 files

5.223.1

2 files

5.221.1

2 files

5.219.1

2 files

5.217.1

2 files

5.215.1

2 files

5.213.1

2 files

5.211.1

2 files

5.209.1

2 files

5.208.1

2 files

5.206.1

2 files

5.204.1

2 files

5.202.1

2 files

5.200.1

2 files

5.198.1

2 files

5.194.1

2 files

5.189.1

2 files

5.187.1

2 files

5.185.1

2 files

5.183.1

2 files

5.181.1

2 files

5.180.1

2 files

5.175.1

2 files

5.173.1

2 files

5.170.1

2 files

5.166.1

2 files

5.164.1

2 files

5.162.1

2 files

5.159.1

2 files

5.157.1

2 files

5.155.1

2 files

5.153.1

2 files

5.151.1

2 files

5.148.1

2 files

5.144.1

2 files

5.141.1

2 files

5.139.1

2 files

5.137.1

2 files

5.136.1

2 files

5.135.1

2 files

5.133.1

2 files

5.131.1

2 files

5.129.1

2 files

5.127.1

2 files

5.125.1

2 files

5.122.1

2 files

5.115.1

2 files

5.108.1

2 files

5.106.1

2 files

5.99.1

2 files

5.97.1

2 files

5.95.1

2 files

5.93.1

2 files

5.91.1

2 files

5.89.1

2 files

5.87.1

2 files

5.86.1

2 files

5.84.1

2 files

5.83.1

2 files

5.82.1

2 files

5.81.1

2 files

5.80.1

2 files

5.79.1

2 files

5.78.1

2 files

5.77.1

2 files

5.76.1

2 files

5.75.1

2 files

5.74.1

2 files

5.71.1

2 files

5.69.1

2 files

5.67.1

2 files

5.65.1

2 files

5.63.1

2 files

5.60.1

2 files

5.58.1

2 files

5.56.1

2 files

5.55.1

2 files

5.53.1

2 files

5.51.1

2 files

5.48.1

2 files

5.46.1

2 files

5.44.1

2 files

5.41.1

2 files

5.34.1

2 files

5.30.1

2 files

5.27.1

2 files

5.23.1

2 files

5.18.1

2 files

5.8.1

2 files

5.6.1

2 files

5.5.1

2 files

5.4.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page