A lightweight text file management system for developers
Project description
UniBinaryTextVault (TVault)
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Reporting Issues
If you encounter any issues, please:
- Check the existing issues
- 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
- Author: UniBinary
- Email: tp114514251@outlook.com
- GitHub: UniBinary
- Issues: GitHub Issues
🙏 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8be571632b6c127713b93cea59dfdc840bec64549ae9e305be0f76e232b5a4b8
|
|
| MD5 |
5f7ba5c15381625e48685e2a6ce7c361
|
|
| BLAKE2b-256 |
cc5488a5374d86b5b955c359d0676799efd186a9205a074195791a67674c6249
|
File details
Details for the file unibinarytextvault-1.1-py3-none-any.whl.
File metadata
- Download URL: unibinarytextvault-1.1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
929751f38aca58ed16e1a36e83ea015e7d189d2854cdeae75fd7caa5882370e6
|
|
| MD5 |
4115b2f92be47c2b919ef81d9324d919
|
|
| BLAKE2b-256 |
22bee71eb9f01677fb47cb5fa902891bc4f60be7614219e51fe7342fda5eae95
|