Skip to main content

Generate a run of integers or characters. Similar to jot and seq.

Project description

A simple command line tool to print sequences of numbers.

drang-run is comparable to jot or seq, but with a more intuitive interface. It was inspired (and named after) a post by Dr. Drang.

Installation

Just install like any other package:

$ pip3 install drang-run

This will install the run command.

$ run --version
run, version 0.4.4

Usage

Basic usage includes up to three arguments:

run [START] STOP [STEP]

[START] and [STEP] are optional and default to 1.

$ run 4
1
2
3
4
$ run 5 8
5
6
7
8
$ run 0 10 3
0
3
6
9

Reverse the sequence with -r:

$ run 4 -r
4
3
2
1

Or switch the arguments:

$ run 4 1 -1
4
3
2
1

Format the output with --format. The option accepts any kind of Python format string.

$ run 998 1002 --format "{: >4}."
 998.
 999.
1000.
1001.
1002.

You can use decimals for [START], STOP and [STEP]:

$ run 1.1 1.5 .15
1.1
1.25
1.4

Using letters for [START] and STOP will generate character sequences:

$ run d g
d
e
f
g

By default, the items are separated by a newline character \n, but you can change this with -s:

$ run d g -s "\t"
d       e       f       g

Run additional sequences with --also START STOP STEP:

$ run 1 2 --also 3 4 1
1-3
1-4
2-3
2-4

Of course, this can be used with characters and be formatted:

$ run 1 2 --also b c 1 --format "{0:02}. {1}_{1}"
01. a_a
01. b_b
02. a_a
02. b_b

Since version 0.4.0 you can define variables with the --def option. A variable can be set to a simple arithmetic expression that is evaluated with the current counter values. Similar to the format string (-f) the counters can be referenced with {0}, {1} and so on. All defined variables are initialized with 0 and can be used in other expressions, even in the definition of themselves.

$ run 4 --also 1 3 1 --def sum "{0}+{1}" --def akk "{akk}+{sum}" --format "{0} + {1} = {sum} ({akk})"
1 + 1 = 2 (2)
1 + 2 = 3 (5)
1 + 3 = 4 (9)
2 + 1 = 3 (12)
2 + 2 = 4 (16)
2 + 3 = 5 (21)
3 + 1 = 4 (25)
3 + 2 = 5 (30)
3 + 3 = 6 (36)
4 + 1 = 5 (41)
4 + 2 = 6 (47)
4 + 3 = 7 (54)

The expressions allow for some additional functions to be used. Notably the randint(max) and rand() functions for genrating random numbers:

$ run 10 --def r "randint(100)" --format "{r}" -s ,
51,0,55,50,56,43,20,5,51,90

In version 0.4.3 the --filter option was added to filter out some values from the run. The option requires an expression similar to --def that evaluates to a boolean value. Any iteration that evaluates to False will be omitted from the run.

$ run 100 --filter "{}%3==0 and {}%5==0"
15
30
45
60
75
90

Examples

Generating a CSV file with a lists of decimal, binary and hexadecimal numbers:

$ echo "dec,bin,oct,hex" > hostnames.csv
$ run 0 255 -f "{0:2},{0:08b},{0:02o},{0:02X}" >> numbers.csv

Generating a list of computers in a network with hostnames and IP.

$ echo "room,hostname,ip" > hostnames.csv
$ run 4 --also 1 24 1 --also 1 16 1 -f "{0}{1:02},r{0}{1:02}-{2:02},18.45.{1}{0}.{2}" >> hostnames.csv

Project details


Download files

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

Source Distribution

drang-run-0.4.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

drang_run-0.4.4-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file drang-run-0.4.4.tar.gz.

File metadata

  • Download URL: drang-run-0.4.4.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Darwin/21.5.0

File hashes

Hashes for drang-run-0.4.4.tar.gz
Algorithm Hash digest
SHA256 29f1af760f105c02a721a404796877d979d6f235cb871f21cf0f154c6c93e829
MD5 2d0b8fb4afddda8182e42f59906e152f
BLAKE2b-256 20ba349465cfe23650782d38871a322cbda4b4e4ac3526c7be762fcb91f333a3

See more details on using hashes here.

File details

Details for the file drang_run-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: drang_run-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Darwin/21.5.0

File hashes

Hashes for drang_run-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6e8d4f3445a562bd9baddf678a8beba74d2548705ec6a86d3c1bfa74e81207a6
MD5 003b21960ce359cff014a189406a0ee5
BLAKE2b-256 53cfd72da446512035059b463c3cfef9edaf0ec03f49a431cdede0dd327d69ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page