Skip to main content

A lightweight text file management system for developers

Project description

UniBinaryTextVault (TVault)

License: MIT Python Version Platform

A lightweight, command-line text file management system with automatic backup support.

✨ Features

  • Simple CRUD operations: Create, read, update, and delete text files
  • Automatic backups: Every write operation creates a backup
  • TOTP support: Generate time-based one-time passwords from files containing "tt" in their names
  • Cross-platform: Works on Linux, macOS, and Windows
  • No database required: Uses plain text files
  • Easy to use: Simple command-line interface

📦 Installation

Method 1: Install from PyPI (Recommended)

pip3 install UniBinaryTextVault

After installation, you need to run the setup:

# In Python interpreter
from tvault.dev import install
install()

Method 2: Install from source

git clone https://github.com/UniBinary/TextVault.git
cd TextVault
pip3 install .

🚀 Quick Start

# Create a new text file
tvault new notes

# Write content to the file
tvault write notes

# Read the file
tvault read notes

# Create a backup
tvault backup notes

# List all files
tvault list

# Get help
tvault --help

📖 Usage

Basic Operations

Command Description Example
tvault new <file> Create a new text file tvault new notes
tvault read <file> Read content from a file tvault read notes
tvault write <file> Write content to a file (with backup) tvault write notes
tvault backup <file> Create a backup of a file tvault backup notes
tvault recover <file> Recover file from backup tvault recover notes
tvault remove <file> Remove a file tvault remove notes
tvault removebak <file> Remove backup file tvault removebak notes
tvault readbak <file> Read content from backup tvault readbak notes
tvault list List all files in vault tvault list
tvault dumpdb Backup entire vault tvault dumpdb
tvault rmdb Remove vault and uninstall tvault rmdb

TOTP Feature

If a filename contains "tt" (e.g., totp-secret), TVault can generate TOTP codes:

# Create a file with TOTP secret
tvault new totp-secret
tvault write totp-secret  # Enter your TOTP secret

# Read the file to get current TOTP code
tvault read totp-secret
# Output: TOTP: 123456

Advanced Options

# Force overwrite when creating files
tvault new existing-file --force

# Use custom data directory
tvault new notes --data-dir /path/to/custom/dir

🛠️ Development

Project Structure

textvault/
├── tvault/
│   ├── __init__.py      # Package initialization
│   ├── tvault.py        # Main CLI logic
│   ├── dev.py           # Development tools
│   ├── tvault              # Shell wrapper script
│   └── intros/          # Documentation files
├── setup.py             # Installation configuration
└── README.md            # This file

Running Tests

# Install development dependencies
pip3 install -e .

# Run the development mode
python3 -c "from tvault.dev import run; run()"

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Reporting Issues

If you encounter any issues, please:

  1. Check the existing issues
  2. Create a new issue with:
    • A clear description of the problem
    • Steps to reproduce
    • Expected vs actual behavior
    • Your environment (OS, Python version)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📞 Contact

🙏 Acknowledgments

  • Thanks to all contributors and users
  • Built with Python's standard library and pyotp

Note: This is version 1.0.0.1. The project is actively maintained and improved.

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

unibinarytextvault-1.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

unibinarytextvault-1.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file unibinarytextvault-1.1.tar.gz.

File metadata

  • Download URL: unibinarytextvault-1.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for unibinarytextvault-1.1.tar.gz
Algorithm Hash digest
SHA256 8be571632b6c127713b93cea59dfdc840bec64549ae9e305be0f76e232b5a4b8
MD5 5f7ba5c15381625e48685e2a6ce7c361
BLAKE2b-256 cc5488a5374d86b5b955c359d0676799efd186a9205a074195791a67674c6249

See more details on using hashes here.

File details

Details for the file unibinarytextvault-1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for unibinarytextvault-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 929751f38aca58ed16e1a36e83ea015e7d189d2854cdeae75fd7caa5882370e6
MD5 4115b2f92be47c2b919ef81d9324d919
BLAKE2b-256 22bee71eb9f01677fb47cb5fa902891bc4f60be7614219e51fe7342fda5eae95

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