Skip to main content

A terminal-based tool to manage Bibtex files.

Project description

BibTeX Manager 📚

PyPI version License: MIT

A modern, terminal-based tool (TUI) to easily manage, clean, and deduplicate your .bib bibliography files. Built with Textual.

Features

  • TUI Interface: Built with Textual for a modern terminal experience.
  • Deduplication: Automatically find and merge duplicate entries using fuzzy matching.
  • Validation: Identify incomplete entries missing critical fields (e.g., Title, Author, Year).
  • Customizable: Resizable columns, persistent settings, and dark mode support.
  • History Tracking: Undo and Redo actions easily.

Screenshots

  • File Picker: Built-in navigation to easily find and open your .bib files.

  • Main View: Displays all entries in your bibliography with customizable columns.

  • Edit Entry: Simple modal for manually updating BibTeX fields.

  • Duplicates View: Groups potential duplicates with a similarity reason.
  • Merge Duplicates: A dedicated interface to choose which entry to keep or delete within a duplicate group.

Installation

You can install bibtex-manager directly via pip:

pip install bibtex-manager

Or install it locally from the source repository:

git clone https://github.com/RichardSrn/bibtex-manager.git
cd bibtex-manager
pip install .

Usage

Simply run:

bibtex-manager

A file picker will guide you to select your .bib file (like the provided example.bib), or you can manually enter the path.

Then, everything is done through the TUI. You can navigate using the keyboard shortcuts (press ? to see them), or using the mouse.

Configuration

Settings are saved in ~/.config/bibtex-manager/config.json. You can modify the UI style, column sizes, and theme directly from within the application by clicking the Settings button.

Contributing

Contributions are welcome! If you find a bug or have a feature request, please open an issue on GitHub. If you'd like to contribute code, please fork the repository and submit a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

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

bibtex_manager-0.1.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

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

bibtex_manager-0.1.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file bibtex_manager-0.1.1.tar.gz.

File metadata

  • Download URL: bibtex_manager-0.1.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for bibtex_manager-0.1.1.tar.gz
Algorithm Hash digest
SHA256 589d087e7dfd185c7b7f842883f857d165df579478e7651b85c831254e934a3e
MD5 5b50d1e366d1a09f7dc6f0b23ce38989
BLAKE2b-256 b401e17930aa81932a35dea887f1199da6265c49602169aaa18ce1c8ccf3243c

See more details on using hashes here.

File details

Details for the file bibtex_manager-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bibtex_manager-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for bibtex_manager-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bf46af7c3353da81ad25b6fad6f7d6cc1b52e7dc785cb0a869f9b1f2fc6bb000
MD5 c92993e180b6b6f212e367eacc46e2db
BLAKE2b-256 fa915969e6a468414ae25419987ff4551c1fb891f0caa8a0e5cecb0471d681e7

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