About this project

slb-glossary is a Python-based tool designed to interface with the SLB Energy Glossary. It provides both a programmatic API and a command-line interface (CLI) to search for energy-related terms and definitions. Key capabilities include: - Live Search: Directly scrapes the SLB Energy Glossary website using a browser-based session (via Playwright/patchright) to retrieve the most current terms and definitions. - Local Caching: Implements a local SQLite database (using FTS5) to cache previously searched terms, allowing for faster subsequent lookups and offline access. - Advanced Search Modes: Supports standard lexical search, as well as semantic and hybrid search (via model2vec and sqlite-vec) to find terms based on conceptual similarity rather than just keyword matching. - Data Management: Allows users to synchronize the live glossary to a local database, import custom data from CSV, JSON, or Excel files, and export results to various formats. - Integration: Includes an MCP (Model Context Protocol) server implementation to expose glossary tools to AI agents. - Flexible CLI: Offers a comprehensive set of commands for searching, defining terms, and managing the local database, including an interactive TUI mode.