Skip to main content

A nice lint runner

Project description

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

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

fnug-0.0.27.tar.gz (70.2 kB view details)

Uploaded Source

Built Distributions

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

fnug-0.0.27-cp310-abi3-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10+Windows x86-64

fnug-0.0.27-cp310-abi3-win32.whl (2.0 MB view details)

Uploaded CPython 3.10+Windows x86

fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl (20.5 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl (19.5 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl (17.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl (20.1 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (22.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (19.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (19.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ i686

fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (17.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (19.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file fnug-0.0.27.tar.gz.

File metadata

  • Download URL: fnug-0.0.27.tar.gz
  • Upload date:
  • Size: 70.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.7

File hashes

Hashes for fnug-0.0.27.tar.gz
Algorithm Hash digest
SHA256 eb43b6dc46938227732e33bde384e79a189ce61412d30e27a9b4db32f5cde1d9
MD5 a769d636410b61311479b5fda433a5d2
BLAKE2b-256 b8a8e05f03ee8d008e002eaa4fab6d78eb40c66bd1d28ec232ff1aa2dbaa3331

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: fnug-0.0.27-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.7

File hashes

Hashes for fnug-0.0.27-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 aeb079128088c344b044b785fd2eec8ebdc7db542d75bb1718856d9275e494d5
MD5 aa32d5b042842ee6676cf9759d0eded5
BLAKE2b-256 42338ebc5b5994bde92daa766e1fb9dfaffe8eb956d91ec2519c75027b4e7c04

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-win32.whl.

File metadata

  • Download URL: fnug-0.0.27-cp310-abi3-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.7

File hashes

Hashes for fnug-0.0.27-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 a099cd27466c83dd399eb24473facfb01745704d942bc239517af14fdfad6676
MD5 0b33b716b40cbc435737ae2cab79cea7
BLAKE2b-256 82ee80edc5e094eb32180bb39ec7d0f21a642217e61480b8627209808eadc078

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 08fd0951a224617404f94c760895e3e16505d045e46693fcec560c0f71fe3247
MD5 4247e396beb63e1da30a9ea9f4e0497e
BLAKE2b-256 7286795cb1d646cbbdb8e662e229c58e69ea50d0ff2b1da2fcf9dd0d30a449ee

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 383fe284d3a3c51a5f3c182db3729c7b36c96ceaf566f3311afe1763cb32e9cb
MD5 73014514e00f8a5d3dd5ebc5e445cfab
BLAKE2b-256 2af10b84469702b048dab5e116bb7a88a8b4aa293123a487f100a5166d7b715c

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4fe60a6cc7ac75cd83e7300190753e4490ad14cfebfcbc90128bc026804f1df3
MD5 d734b2d4a30e0de2757c1ad1f0c99c89
BLAKE2b-256 7b5475c733d637b7cb190fe3175daba993137ebfddb774cc15eb97bd9715e117

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f6fc514de01d57e79d41278c37ba031921d7d620a3c1e563a06ed8c419fb5470
MD5 d7d48f8c79897d56752e86e63a7ee7ce
BLAKE2b-256 075d57d5ab6e05f3a65f7a1716fd980cd7704e9e26946df1fab23d29eb975b93

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44f8ac65adab487e501ed961db971459cdbcebbbe08ac16070a6a3afb2302905
MD5 cfe380b86461d947805ddcdf2061e8a4
BLAKE2b-256 f2096cc1199783c7fa26c378368d0920c57defbefeb9ad226d0b4a93dc9905b9

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 87babb63dd49953a4fd78b58f8b64bce0bee1b55082be3fbb4bb34513633cf12
MD5 9e3b906462b031c1eacc3a266a8dc0da
BLAKE2b-256 02efad9a7f5de17e70fd1a8acdd1e349b192dfcd5ba4c303229a53c750f09a67

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5aaa5c7d596560550003db2ae434462536fdb1544b4910a2fb2f2ba9f4cf4f88
MD5 a0d75f2917b60583b4d1ef0986743058
BLAKE2b-256 0b6810418011367b2322ab315a3889e064c09e70f10bad32cbaee5778eee89d9

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 14e9d13f2652b5bee1b8048a7917bf6d87c5cc6eed4bb64369be35a991dbb245
MD5 0527e2fb7daa3647d62837e69c94b977
BLAKE2b-256 cb727b57b961000b028dc49b4d3f502892869f7a46a5c02e6d36f50b195796c7

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a19df68c40c53e6f1469f684720261d1c65f45609f8dd92cb413fc25e66110bc
MD5 21bf84e57cfc3bcb181086ae081a6abc
BLAKE2b-256 0b33ac65a5b516704aabb7fe8b5903a2807bbf537f30cc4802ceac80caa98fd2

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6901bfb485daa2a21451fc1bb6be9e0704e97f3f838a90f5646596504808d708
MD5 a61a4f4343c8d9e0e75c3ce6bddc2556
BLAKE2b-256 8a51fd4f9a5686a758371c0811cfd901dacd2a601c8a0946f1c600e230a1f177

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9c001880be4e590e31faed45bce75e09e2361f1a4560174fe6ecc5971bf058d
MD5 ee957088aa029be9ef6c963c5fc882ab
BLAKE2b-256 08608ec3fc986529a94793f5e9e5f58c48a00558da71125682d093f867fa1417

See more details on using hashes here.

File details

Details for the file fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fnug-0.0.27-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf19a05f1bd390417014b961f7c8a76a7ba71e159872358030a889cf2544e556
MD5 c462bcbe244fb1a5dfd3a02c95faa38e
BLAKE2b-256 5bc01da863d9cd04ffb4c2cd05eb7f69187de836ea4e88b5a1b2a8d64bae4d01

See more details on using hashes here.

Supported by

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