2FA Authenticator
Project description
Authipy
A secure and user-friendly 2FA (Two-Factor Authentication) code generator built with Python and PyQt5. Authipy helps you manage your two-factor authentication codes in a simple desktop application.
🚀 Features
- TOTP Code Generation: Generate time-based one-time passwords (TOTP) compatible with most 2FA services
- QR Code Support: Import accounts by scanning QR codes or display QR codes for easy transfer
- Account Management:
- Add, edit, and delete 2FA accounts
- Recycle bin for deleted accounts
- Support for custom issuer names
- User-Friendly Interface:
- Clean and intuitive PyQt5-based GUI
- Copy codes with a single click
- Automatic code refresh
- Security:
- Local storage only - your secrets never leave your device
- Encrypted storage of authentication secrets
- No internet connection required
📋 Requirements
- Python 3.8 or higher
- PyQt5
- Other dependencies are handled automatically during installation
🔧 Installation
From PyPI (Recommended)
pip install authipy
From Source
- Clone the repository:
git clone https://github.com/TanmoyTheBoT/authipy.git
cd authipy
- Install dependencies:
pip install -r requirements.txt
- Install in development mode:
pip install -e .
🎮 Usage
Launch the Application
authipy
Or if installed from source:
python -m authipy.main
Adding a New Account
- Click the "Add Account" button
- Enter the required information:
- Website/Service name
- Secret key (provided by the service)
- Issuer name (optional)
- Click "Add" to save the account
Generating Codes
- Select an account from the list
- The current TOTP code will be displayed automatically
- Click the code to copy it to clipboard
- A timer shows when the code will refresh
Managing Accounts
- Delete: Right-click an account and select "Delete" or use the delete button
- Restore: Access the recycle bin from the menu to restore deleted accounts
- QR Code: Select an account and click "Show QR Code" to display/hide the QR code
🧪 Development
Setting Up Development Environment
- Install development dependencies:
pip install -r requirements-dev.txt
Running Tests
pytest
For test coverage report:
pytest --cov=src --cov-report=html
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run the tests to ensure everything works
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
📬 Contact
Tanmoy - @TanmoyTheBoT
Project Link: https://github.com/TanmoyTheBoT/authipy
📊 Project Status
This project is actively maintained and welcomes contributions. Check the issues page for feature requests and bug reports.
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
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 authipy-0.0.3.tar.gz.
File metadata
- Download URL: authipy-0.0.3.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e241e63108752758bdf4b4be54198c35451306eda2ace9de0be5b37f24998f3
|
|
| MD5 |
2ed1e543a03ed6c9cd17dc0bc07d3e91
|
|
| BLAKE2b-256 |
d6b5879c6c58bbb3634c5a41e9a321cf346cf49bfc8475e6ac5fb3ef1b40c4bc
|
File details
Details for the file authipy-0.0.3-py3-none-any.whl.
File metadata
- Download URL: authipy-0.0.3-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff94af76bf4b073dbdad07a70c52e10312e593dca19b1485188b629055048cf3
|
|
| MD5 |
d7738a0e5916e9c0636453cd544af733
|
|
| BLAKE2b-256 |
d11bab5d511898e5d212d3d7818acb823152cb3de231f83216e96fe38db84bbd
|