kindlestrip
A pip install-able conversion of Paul Durrant's kindlestrip library to strip the penultimate record from a Mobipocket file. (http://www.mobileread.com/forums/showthread.php?t=96903)
Usage
To install:
pip install kindlestrip
To use:
$ kindlestrip input.mobi output.mobi
$ du -sh *
268K input.mobi
200K output.mobi
Or run it without installing, straight from PyPI with uv:
$ uvx kindlestrip input.mobi output.mobi
kindlestrip.py is also a self-contained PEP 723
script, so you can run the local file without installing anything:
$ uv run kindlestrip.py input.mobi output.mobi
Options:
$ kindlestrip --help
$ kindlestrip -d input.mobi output.mobi # also dump the stripped SRCS records
Development
Requires Python 3.10–3.14. Common tasks are in the justfile:
$ just test # run pytest
$ just lint # ruff check + format
$ just build # build sdist + wheel
Releasing
Versions follow CalVer (YYYY.MM.PATCH) and are managed by
bump-my-version. Releases publish to
PyPI automatically via GitHub Actions using Trusted
Publishing (OIDC — no API tokens).
To cut a release:
$ just release # bump the patch (e.g. 2026.7.0 -> 2026.7.1), commit, tag, push
$ just release month # start a new month (recomputes YYYY.MM from today's date)
just release bumps the version in kindlestrip.py and pyproject.toml, creates a
commit and a bare CalVer git tag (e.g. 2026.7.1), and runs git push --follow-tags.
Pushing that tag triggers .github/workflows/release.yml, which builds with uv build
and publishes to PyPI. Only a version tag publishes — a plain git push never does.
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 kindlestrip-2026.7.1.tar.gz.
File metadata
- Download URL: kindlestrip-2026.7.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11c5a9f48edccae62333b63478ac7b0a86db23caabd89e96c3fe036b3c0893b9
|
|
| MD5 |
eee93fb46278abd13233cf49111bac28
|
|
| BLAKE2b-256 |
9e167024f33f29d66ec53ad283d327ab2e0c6b9541f1684af59a9d0b5f433c15
|
Provenance
The following attestation bundles were made for kindlestrip-2026.7.1.tar.gz:
Publisher:
release.yml on jefftriplett/kindlestrip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kindlestrip-2026.7.1.tar.gz -
Subject digest:
11c5a9f48edccae62333b63478ac7b0a86db23caabd89e96c3fe036b3c0893b9 - Sigstore transparency entry: 2209627155
- Sigstore integration time:
-
Permalink:
jefftriplett/kindlestrip@d0d139cecd965ee7673d92ee0547cf96bb25dec8 -
Branch / Tag:
refs/tags/2026.7.1 - Owner: https://github.com/jefftriplett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d0d139cecd965ee7673d92ee0547cf96bb25dec8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kindlestrip-2026.7.1-py3-none-any.whl.
File metadata
- Download URL: kindlestrip-2026.7.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
723419b93858459125382d1b169a4d51631b469b5dc89e3396cc4b45cffaf341
|
|
| MD5 |
551173ff33452656b0f20222cafc81ee
|
|
| BLAKE2b-256 |
b4252bcaf47186ec5f619edf4a43ed28370a644c66169645404cfdbc4795c45c
|
Provenance
The following attestation bundles were made for kindlestrip-2026.7.1-py3-none-any.whl:
Publisher:
release.yml on jefftriplett/kindlestrip
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kindlestrip-2026.7.1-py3-none-any.whl -
Subject digest:
723419b93858459125382d1b169a4d51631b469b5dc89e3396cc4b45cffaf341 - Sigstore transparency entry: 2209627196
- Sigstore integration time:
-
Permalink:
jefftriplett/kindlestrip@d0d139cecd965ee7673d92ee0547cf96bb25dec8 -
Branch / Tag:
refs/tags/2026.7.1 - Owner: https://github.com/jefftriplett
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d0d139cecd965ee7673d92ee0547cf96bb25dec8 -
Trigger Event:
push
-
Statement type: