supersed
supersed is a natural language-powered file editor that leverages LLMs to perform various file manipulations on txt or txt-like files based on user instructions. Simplify your workflow by managing and editing your text files using plain English commands. No more googling for the right commands!
Features
- Natural Language Editing: Modify text files using simple English commands.
- Backup and Restore: Automatically backup files before making changes and restore them if needed.
- Flexible File Targeting: Specify individual files or use patterns to target multiple files, including those in subdirectories.
- Cross-Platform Compatibility: Works seamlessly on both Linux and macOS systems.
Installation
-
Use PyPI package: If you simply want to use
supersed, install it from PyPI using.pip install supersed -
Clone the Repository: If you would like to contribute to
supersed, consider cloning the github directory.git clone https://github.com/akcanuv/supersed.git cd supersed pip install -e . -
Set Up OpenAI API Key: Obtain your OpenAI API Key from OpenAI and set it as an environment variable:
- Linux/macOS:
export OPENAI_API_KEY='your-api-key-here' - Windows (Command Prompt):
set OPENAI_API_KEY=your-api-key-here - Windows (PowerShell):
$env:OPENAI_API_KEY="your-api-key-here"Note that running the above command sets the API key as environment variables only temporarily. To set it permanently, add the statement to.bashrc,.zshrcor any other shell config file for the shell you're using.
Usage
Run the script with your desired command:
supersed "your instruction here"
Commands
- Execute a Command:
Provide an instruction and specify the scope of the commands with -s, default scope is
.:
supersed "your instruction" -s "scope"
- Save Backup: Backup specified files:
supersed save
- Restore Backup: Restore all backed-up files:
supersed restore
Examples
- Update the README.md by Reviewing supersed.py:
supersed "update the README.md file by reviewing the code in supersed.py"
- Remove All Blank Spaces in Text Files Within test_files Directory:
supersed "remove all the blank spaces in the text files in test_files directory"
- Save Current File Versions to Backup:
supersed save
- Restore Files from Backup:
supersed restore
Backup and Restore
- Backup: Before executing any changes, supersed automatically backs up the target files to a .backup directory. To manually update the backup, use the save command.
- Restore: If you need to revert changes, use the restore command to retrieve the original files from the .backup directory.
Notes
- File Patterns: Use glob patterns to specify target files. For recursive searches, use patterns like **/*.txt.
- Safety: Always ensure you have backups of important files. Use the save command to create a new backup point after satisfactory changes.
License
This project is licensed under the MIT License.
Metadata
Release files for supersed 0.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| supersed-0.3.8.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| supersed-0.3.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / supersed-0.3.8.tar.gz
| Download URL | supersed-0.3.8.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ed8507e712ce0297783bd2bd738c206458c5d61e882a86721b74460979068b3
|
|
BLAKE2b-256 checksum How to use checksums |
87f200c5a2dc9b09759a1ba01163a62e9ee59d0b812a3cdbca3902a761b0ca8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|
Release files / supersed-0.3.8-py3-none-any.whl
| Download URL | supersed-0.3.8-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36dd1ecff06907348bce241b4402ffbd19591f40d8d90e199ed907e87fa1ccdd
|
|
BLAKE2b-256 checksum How to use checksums |
d3e91ee9ef63bbb4f990b8fc2c68c8715b4cb385137d6dd679f5afc1757df157
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|