Skip to main content

dedlin

Dedlin is an interactive line-by-line text editor and a DSL, similar to edlin or ed.

It is scriptable, which makes it useful for find, insert, replace, delete, and reorder operations on existing files.

Soon it will support non-line number ranges, e.g. "/Done/ DELETE

Dedlin extends on edlin enough that it is not backwards compatible.

I have made changes to make the app less user hostile than classic ed or edlin, but there is a --vim_mode where all help, warnings, feedback will be suppressed.

Badges

Libraries.io dependency status for latest release

Downloads

CodeFactor

Installation

Requires Python 3.13 or higher.

Install globally in an isolated tool environment:

uv tool install dedlin

Or use pipx:

pipx install dedlin

Run pre-built image with docker. Painful, but you're using an edlin clone, so that is what you're looking for.

# This is should work in powershell or linux bash. Not windows git-bash.
docker run --rm -it -v "${PWD}/:/app"  ghcr.io/matthewdeanmartin/dedlin:latest file.txt

Usage

Launch and edit file_name.txt

If you installed with pip or pipx

dedlin file_name.txt

Command line help

> python -m dedlin --help
Dedlin.

An improved version of the edlin.

Usage:
  dedlin [<file>] [options]
  dedlin (-h | --help)
  dedlin --version

Options:
  -h --help          Show this screen.
  --version          Show version.
  --macro=<macro>    Run macro file.
  --echo             Echo commands.
  --halt_on_error    End program on error.
  --promptless_quit  Skip prompt on quit.
  --vim_mode         User hostile, no feedback.
  --verbose          Displaying all debugging info.
  --blind_mode       Optimize for blind users (experimental).
  --headless         Run without interactive prompts.

Sample session

   _          _  _  _
 __| | ___  __| || |(_) _ _
/ _` |/ -_)/ _` || || || ' \
\__,_|\___|\__,_||_||_||_||_|


Editing /home/mmartin/github/dedlin/sample.txt
? * 1i
1 INSERT
Control C to exit insert mode
?    1 :  cabbage
?    2 :  bread
?    3 :  carrots
?    4 :  ghost peppers
?    5 :  coffee
?    6 :  tortillas
?    7 :

Exiting insert mode

? * SORT
 SORT
Sorted
? * LIST
1,6 LIST
   1 : bread
   2 : cabbage
   3 : carrots
   4 : coffee
   5 : ghost peppers
   6 : tortillas

? * EXIT
1,6 EXIT

Documentation

Metadata

Release files for dedlin 1.20.0

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

Source distribution (sdist)

Source distribution for dedlin 1.20.0
File Size Uploaded
dedlin-1.20.0.tar.gz 32.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dedlin 1.20.0
File Interpreter ABI Platform
dedlin-1.20.0-py3-none-any.whl Python 3 none any Details

Total release size: 73.7 kB

Release files / dedlin-1.20.0.tar.gz

Download URL dedlin-1.20.0.tar.gz
Size 32.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cda17b055f79af15b7f243601e11ca81ff78ae236a783fb9eb9c5d5941527056
BLAKE2b-256 checksum
How to use checksums
8903b31c22afb6984e9651df3edeef8a1a3511038a8d814d8e7939c654ea9165
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 18, 2026.

Transparency log

Release files / dedlin-1.20.0-py3-none-any.whl

Download URL dedlin-1.20.0-py3-none-any.whl
Size 40.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e760def8e0468c1c0258d354b8588a4e7500051fd24673935acb02522f73713
BLAKE2b-256 checksum
How to use checksums
f20ab2e44e0a555a783a6bf7d744e68683db79868692a1117a985a9dbbe1aece
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.20.0 This release

2 release files

1.19.4

2 release files

1.19.3

2 release files

1.19.2

2 release files

1.19.1

2 release files

1.19.0

2 release files

1.18.0

2 release files

1.17.0

2 release files

1.16.0

2 release files

1.15.0

2 release files

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.0

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