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.0.tar.gz (17.2 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.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bibtex_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 17.2 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.0.tar.gz
Algorithm Hash digest
SHA256 4db3a9eaa409fbbb5772c86f00e2157f168952236ce2b829a045538d8c9ab340
MD5 a8843b87472b75a6a25f958b45798971
BLAKE2b-256 14cf738891b4f0a3bfdafb54503f77c307978438eb6395ef4051c62068fa2b2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bibtex_manager-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2ef7c80c387d1c0476bdb0746dcc195be02309ae91760ca631eaec28f919e3c
MD5 71dde6b46e23913f48fc0d3bf292978a
BLAKE2b-256 dd44f6e528e40ae80e384f624589381fcf4a9f9208e3ca54eabbdbe38c920480

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