Skip to main content

Fnug

image image image Actions status

Fnug is a command runner, well actually it's a terminal multiplexer (like tmux), but with a focus on running all your lint and test commands, at once, and displaying the result of those command. Confused? Watch the demo

screenshot

Features

  • User-friendly terminal interface, with 100% support for both keyboard and mouse navigation
  • Git integration, automatically select lints and tests that's should be run, based on what files have uncommitted changes
  • Track file changes, and selects commands based on the changed files
  • Terminal emulation with scroll back, for those really long error messages

Installation

Python 3.10 or later is required.

pipx or rye tool are highly recommended:

# Recommended
pipx install fnug
# (or with rye tool)
rye install fnug
# Via pip (NOT RECOMMENDED)
pip install fnug

Usage

To start fnug you only need to run it in a directory with a .fnug.yaml configuration file (or with the argument -c path/to/config.yaml)

Config

Fnug is controlled by a .fnug.yaml configuration file (or .fnug.json if thats more your speed).

Minimal example:

Runs a single commands

fnug_version: 0.1.0
name: fnug
commands:
  - name: hello
    cmd: echo world

Git selection example:

Uses git auto to select commands based on what files have uncommitted changes (reselect by pressing "g")

fnug_version: 0.1.0
name: fnug
commands:
  - name: hello
    cmd: echo world
    auto:
      git: true
      path:
        - "./"
      regex:
        - "\\.fnug\\.yaml$"

File watching example:

Uses file watching to monitor the file system for changes, and select commands accordingly, can be combined with git auto

fnug_version: 0.1.0
name: fnug
commands:
  - name: hello
    cmd: echo world
    auto:
      watch: true
      path:
        - "./"
      regex:
        - "\\.fnug\\.yaml$"

Advanced example:

View this projects .fnug.yaml file for an advanced example

Demo

https://github.com/nickolaj-jepsen/fnug/assets/1039554/8f8a4d34-8beb-4fb4-9bbc-6fd0a4a384be

Metadata

Release files for fnug 0.0.27

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

Source distribution (sdist)

Source distribution for fnug 0.0.27
File Size Uploaded
fnug-0.0.27.tar.gz 70.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fnug 0.0.27
File
fnug-0.0.27-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
fnug-0.0.27-cp310-abi3-win32.whl CPython 3.10 abi3 Windows x86-32 Details
fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl CPython 3.10 abi3 Linux musl 1.2+ x86-32 Details
fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl CPython 3.10 abi3 Linux musl 1.2+ ARMv7l Details
fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.10 abi3 Linux glibc 2.17+ IBM System/390x Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.10 abi3 Linux glibc 2.17+ PowerPC 64-le Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-32 Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 abi3 Linux glibc 2.17+ ARMv7l Details
fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 204.5 MB

Release files / fnug-0.0.27.tar.gz

Download URL fnug-0.0.27.tar.gz
Size 70.2 kB
Tags Source
SHA-256 checksum
How to use checksums
eb43b6dc46938227732e33bde384e79a189ce61412d30e27a9b4db32f5cde1d9
BLAKE2b-256 checksum
How to use checksums
b8a8e05f03ee8d008e002eaa4fab6d78eb40c66bd1d28ec232ff1aa2dbaa3331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-win_amd64.whl

Download URL fnug-0.0.27-cp310-abi3-win_amd64.whl
Size 2.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
aeb079128088c344b044b785fd2eec8ebdc7db542d75bb1718856d9275e494d5
BLAKE2b-256 checksum
How to use checksums
42338ebc5b5994bde92daa766e1fb9dfaffe8eb956d91ec2519c75027b4e7c04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-win32.whl

Download URL fnug-0.0.27-cp310-abi3-win32.whl
Size 2.0 MB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
a099cd27466c83dd399eb24473facfb01745704d942bc239517af14fdfad6676
BLAKE2b-256 checksum
How to use checksums
82ee80edc5e094eb32180bb39ec7d0f21a642217e61480b8627209808eadc078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl
Size 20.5 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
08fd0951a224617404f94c760895e3e16505d045e46693fcec560c0f71fe3247
BLAKE2b-256 checksum
How to use checksums
7286795cb1d646cbbdb8e662e229c58e69ea50d0ff2b1da2fcf9dd0d30a449ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl

Download URL fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl
Size 19.5 MB
Tags CPython 3.10 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
383fe284d3a3c51a5f3c182db3729c7b36c96ceaf566f3311afe1763cb32e9cb
BLAKE2b-256 checksum
How to use checksums
2af10b84469702b048dab5e116bb7a88a8b4aa293123a487f100a5166d7b715c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl

Download URL fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl
Size 17.8 MB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
4fe60a6cc7ac75cd83e7300190753e4490ad14cfebfcbc90128bc026804f1df3
BLAKE2b-256 checksum
How to use checksums
7b5475c733d637b7cb190fe3175daba993137ebfddb774cc15eb97bd9715e117
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl
Size 20.1 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
f6fc514de01d57e79d41278c37ba031921d7d620a3c1e563a06ed8c419fb5470
BLAKE2b-256 checksum
How to use checksums
075d57d5ab6e05f3a65f7a1716fd980cd7704e9e26946df1fab23d29eb975b93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 20.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
44f8ac65adab487e501ed961db971459cdbcebbbe08ac16070a6a3afb2302905
BLAKE2b-256 checksum
How to use checksums
f2096cc1199783c7fa26c378368d0920c57defbefeb9ad226d0b4a93dc9905b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 22.5 MB
Tags CPython 3.10 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
87babb63dd49953a4fd78b58f8b64bce0bee1b55082be3fbb4bb34513633cf12
BLAKE2b-256 checksum
How to use checksums
02efad9a7f5de17e70fd1a8acdd1e349b192dfcd5ba4c303229a53c750f09a67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 19.1 MB
Tags CPython 3.10 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
5aaa5c7d596560550003db2ae434462536fdb1544b4910a2fb2f2ba9f4cf4f88
BLAKE2b-256 checksum
How to use checksums
0b6810418011367b2322ab315a3889e064c09e70f10bad32cbaee5778eee89d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Size 19.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
14e9d13f2652b5bee1b8048a7917bf6d87c5cc6eed4bb64369be35a991dbb245
BLAKE2b-256 checksum
How to use checksums
cb727b57b961000b028dc49b4d3f502892869f7a46a5c02e6d36f50b195796c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 17.3 MB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
a19df68c40c53e6f1469f684720261d1c65f45609f8dd92cb413fc25e66110bc
BLAKE2b-256 checksum
How to use checksums
0b33ac65a5b516704aabb7fe8b5903a2807bbf537f30cc4802ceac80caa98fd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 19.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
6901bfb485daa2a21451fc1bb6be9e0704e97f3f838a90f5646596504808d708
BLAKE2b-256 checksum
How to use checksums
8a51fd4f9a5686a758371c0811cfd901dacd2a601c8a0946f1c600e230a1f177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl

Download URL fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e9c001880be4e590e31faed45bce75e09e2361f1a4560174fe6ecc5971bf058d
BLAKE2b-256 checksum
How to use checksums
08608ec3fc986529a94793f5e9e5f58c48a00558da71125682d093f867fa1417
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release files / fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl

Download URL fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl
Size 2.4 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
bf19a05f1bd390417014b961f7c8a76a7ba71e159872358030a889cf2544e556
BLAKE2b-256 checksum
How to use checksums
5bc01da863d9cd04ffb4c2cd05eb7f69187de836ea4e88b5a1b2a8d64bae4d01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.7.7

Release history Release notifications | RSS feed

This release

0.0.27 This release

15 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

1 release file

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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