NCeu (NCurses Email Usage)
NCeu is a command-line interface tool for managing and analyzing your Gmail inbox, inspired by the ncdu (NCurses Disk Usage) utility. It provides an interactive, text-based user interface for exploring your emails, grouping them by sender, and performing actions like archiving.
Features
- Authenticate with Gmail using OAuth2
- Download and analyze emails from your inbox
- Group emails by sender
- Sort emails by count or date
- View email details
- Archive individual emails or all emails from a sender directly from the interface
- Progress bar for archiving multiple emails
- ncurses-based UI for smooth navigation
Prerequisites
- Python 3.6+
- pip (Python package manager)
Installation
You can install NCeu using pip:
pip install nceu
This will install NCeu as a system-wide application.
If you want to install it from source:
-
Clone this repository:
git clone https://github.com/ad3002/nceu.git cd nceu -
Install the package:
pip install . -
Set up Google Cloud Project and enable Gmail API:
- Go to the Google Cloud Console
- Create a new project
- Enable the Gmail API for your project
- Create credentials (OAuth client ID) for a desktop application
- Download the client configuration and save it as
credentials.jsonin your working directory
Setting Up a Test User
For security reasons, it's recommended to set up a test Gmail account instead of using your primary account during development and testing:
- Create a new Gmail account for testing purposes.
- In your Google Cloud Console project:
- Go to the OAuth consent screen settings
- Add your test Gmail address to the "Test users" section
- Use this test account when authorizing the application during development and testing.
This approach allows you to safely test all features without risking your primary email account.
Usage
After installation, you can run NCeu from anywhere in your system by simply typing:
nceu
On first run, you'll be prompted to authorize the application. Follow the provided URL to grant necessary permissions. Use your test account credentials for this step.
Navigation
- Use arrow keys to move up and down the list
- Press 'Enter' to view emails from a sender or email details
- Press 's' to change sort order (in sender view)
- Press 'a' to archive an email (in email view)
- Press 'a' to archive all emails from a sender (in sender view) with a progress bar showing the status
- Press 'q' to go back or quit the application
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Inspired by the ncdu utility
- Uses Google's Gmail API
Disclaimer
This tool requires access to your Gmail account. Please review the code and use it at your own risk. Always be cautious when granting access to your email account, and preferably use a test account as described in the "Setting Up a Test User" section.
Metadata
Release files for nceu 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nceu-0.3.0.tar.gz | 7.8 kB | Without provenance | Details |
Release files / nceu-0.3.0.tar.gz
| Download URL | nceu-0.3.0.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d83a1cfab7623be27d747718315b90c93317da496b4b881cbd00bc62ae04503
|
|
BLAKE2b-256 checksum How to use checksums |
52e145a10ae3125ef744a9cc927bd6a8982971b2ab0d9d452e051ecb3f4b3817
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.19
|
Security for nceu 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.