texman-0.1.0 is not a library.
TexMan: A Rust-Based Package Manager for LaTeX
texman is a lightweight, command-line package manager for TeX Live, written in Rust. It allows you to install, update, remove, and manage LaTeX packages efficiently across multiple profiles, with support for backups and detailed package searches.
Features
- Package Management: Install, update, remove, and list LaTeX packages from the TeX Live repository.
- Profiles: Create and switch between isolated TeX environments (profiles).
- Backups: Create, list, restore, and remove backups of your active profile with timestamps and package counts.
- Search: Search packages by name, short description, long description, or dependencies.
- Clean: Remove unused downloaded files and optionally all backups.
- Parallel Parsing: Fast TLPDB parsing with
rayonfor multi-core performance. - Incremental Parsing: Caches parsed TLPDB data for quick startup.
Installation
Prerequisites
- Rust (1.70+ recommended) and Cargo (install via rustup).
- A working internet connection to fetch the TeX Live package database (TLPDB).
Pre-built Binaries
Download the appropriate binary for your platform from the Releases page:
- macOS (x86_64):
texman-macos-x86_64 - Linux (x86_64, glibc):
texman-linux-x86_64 - Linux (x86_64, musl):
texman-linux-x86_64-musl
Extract and move to a directory in your PATH:
Build from Source
- Clone the repository:
- Build and install:
Usage
Basic Commands
- Install a package:
- List installed packages:
- Update packages:
- Remove a package:
- Get package info:
Profile Management
- Create a profile:
- Switch profiles:
- List profiles:
- Remove a profile:
Backup Management
- Create a backup:
- List backups:
- Restore a backup:
- Remove a backup:
Search
- Search by name:
- Search with descriptions or dependencies:
Cleaup
- Remove unused files:
- Remove all backups too:
Configuration
- Storage: Packages, profiles, and backups are stored in ~/.texman/.
- Database: SQLite database at ~/.texman/db/texman.sqlite tracks installed packages and backups.
- TLPDB Cache: Cached at ~/.texman/db/tlpdb.txt and tlpdb.bin, refreshed every 24 hours.
Supported Platforms
- macOS (x86_64)
- Linux (x86_64, glibc and musl-based distros like Arch, Ubuntu, Fedora)
Contributing
Contributions are welcome! Please submit issues or pull requests to GitHub.