Terminal-first file navigator and FSCP automation workbench built with Textual.
Project description
FERP – For Executing Repetitive Processes
FERP is a terminal-friendly file manager and automation workbench. It combines an interactive file navigator, contextual metadata inspection, and a protocol-driven script runner so you can explore directories and execute repeatable workflows through a TUI—without requiring terminal knowledge.
Highlights
- Keyboard-first navigation
- A full list of keys are available in the app.
- Context panes
- Script list reads from the user config
config.json(platformdirs). - Output panel streams FSCP results and records transcripts under the user data
logsdirectory. - README modal (Enter on a script) displays bundled documentation.
- Script list reads from the user config
- Managed script runtime
- Scripts execute via the FSCP host ↔ script protocol.
- Interactive prompts, confirmations, progress, and structured results are supported.
- Logs are timestamped and automatically pruned (default 50 files / 14 days).
Quick Start
pipx install ferp
[!NOTE] To use the default scripts, open the command palette (
Ctrl+P) and select Install/Update Default Scripts.
[!WARNING] This option is intended for users who do not wish to manage scripts manually. It will remove any existing scripts you have installed.
If you prefer to install scripts individually, create a bundle for the desired script using the source files from ferp-scripts.
Configuring Scripts
Scripts are declared in your user config config.json (created on first script install). Each entry defines:
script: path to the executable (e.g.scripts/ferp.zip_dir/script.py).target:current_directory,highlighted_file, orhighlighted_directory.file_extensions: optional list of suffixes (forhighlighted_filetargets).- Optional README at
scripts/<id>/readme.md.
Each script lives under scripts/<id>/ (the directory name matches the fully-qualified ID, such as ferp.zip_dir). Inside the directory:
script.pycontains the executable FSCP script.readme.mdprovides the optional documentation shown inside FERP.
Dev toggle for script config
During development you can point FERP at the repo copy of ferp/scripts/config.json instead of the user config file:
FERP_DEV_CONFIG=1 python -m ferp
When enabled, FERP reads the config directly from the repository and skips the one-time copy into the user config directory.
Authoring FSCP Scripts
Python scripts executed from FERP speak the FSCP protocol. See
SCRIPT_AUTHORS.md for the SDK guide, examples, logging, cancellation, cleanup,
and packaging details.
Terminal Commands
FERP opens your system terminal in the current directory (shown in the top bar).
- Open a terminal using
Ctrl+t. - The spawned terminal inherits the current working directory.
- On Windows system, prefers PowerShell and falls back to CommandPrompt.
Task List
FERP includes a lightweight task list for quick capture and review.
- Press
tto add a task from anywhere in the UI. - Press
lto open the task list and review or mark tasks as complete. - Tag tasks with
@for text highlighting and filtering. - Toggle completion status with the space bar.
- The task status indicator updates automatically as tasks are completed.
Other Features
- Script catalog refresh: Reload the script list after editing config.
- Default script updates: Pull the latest default scripts from the release feed.
- Process list: View and stop running scripts from the command palette.
- Tasks: Capture quick tasks and review them in the task list.
- Themes: Switch themes from the command palette.
- Startup directory: Set the default path Ferp opens on launch.
- Logs: Open the latest transcript log from the command palette.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ferp-0.7.3.tar.gz.
File metadata
- Download URL: ferp-0.7.3.tar.gz
- Upload date:
- Size: 77.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7e6eae7a6f61428269a1e7bdb884879fa7172fc611beedb0be56a3d059b188e
|
|
| MD5 |
30082cc3be53251473598ec5ced8ca65
|
|
| BLAKE2b-256 |
831e0fa14ed91fc40045da5a91766985dc82d719012554b5ba9757cb32be4eaf
|
Provenance
The following attestation bundles were made for ferp-0.7.3.tar.gz:
Publisher:
publish.yml on zappbrandigan/ferp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferp-0.7.3.tar.gz -
Subject digest:
a7e6eae7a6f61428269a1e7bdb884879fa7172fc611beedb0be56a3d059b188e - Sigstore transparency entry: 908775798
- Sigstore integration time:
-
Permalink:
zappbrandigan/ferp@72773d1eb2214c4ce6fcb98b88660b484353e842 -
Branch / Tag:
refs/tags/v0.7.3 - Owner: https://github.com/zappbrandigan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@72773d1eb2214c4ce6fcb98b88660b484353e842 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ferp-0.7.3-py3-none-any.whl.
File metadata
- Download URL: ferp-0.7.3-py3-none-any.whl
- Upload date:
- Size: 99.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bc46a2ba4fa8641ce9a945c88e44cd577eeec7c944524c63e94875917bce851
|
|
| MD5 |
9567e88ffb6d748626b8122728123457
|
|
| BLAKE2b-256 |
31971bac873a7084307a565fedca45a1d2da42d9a4cb24595c8a366a5818a1c0
|
Provenance
The following attestation bundles were made for ferp-0.7.3-py3-none-any.whl:
Publisher:
publish.yml on zappbrandigan/ferp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ferp-0.7.3-py3-none-any.whl -
Subject digest:
4bc46a2ba4fa8641ce9a945c88e44cd577eeec7c944524c63e94875917bce851 - Sigstore transparency entry: 908775805
- Sigstore integration time:
-
Permalink:
zappbrandigan/ferp@72773d1eb2214c4ce6fcb98b88660b484353e842 -
Branch / Tag:
refs/tags/v0.7.3 - Owner: https://github.com/zappbrandigan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@72773d1eb2214c4ce6fcb98b88660b484353e842 -
Trigger Event:
push
-
Statement type: