Skip to main content

drang-run

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.5.0

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

Metadata

Release files for drang-run 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drang-run 0.5.0
File Size Uploaded Provenance Actions
drang_run-0.5.0.tar.gz 18.3 kB Without provenance Details for drang_run-0.5.0.tar.gz

Release files / drang_run-0.5.0.tar.gz

Download URL drang_run-0.5.0.tar.gz
Size 18.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8d3ec2a7cddc8f724b35ebe3f4ae4f7c8dcf79099e25b66b663c91651fc82cc0
BLAKE2b-256 checksum
How to use checksums
ebb61caaba7a4d502b65139ed10c65dd565140160022bcd3df2484214deda188
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for drang-run 0.5.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page