Fnug
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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| fnug-0.0.27.tar.gz | 70.2 kB | Details |
Built distributions (wheels)
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
|