A command-line personal assistant with address book and notes
Project description
๐ PythoNauts Assistant CLI
PythoNauts Assistant CLI โ is a console assistant that allows you to:
- store contacts (phones, emails, addresses, birthdays)
- manage notes with tags
- search and view records
- use command auto-completion
- conveniently work with colored terminal hints
- show contact list in a table view
The application works locally and saves your data in
~/.pn-assistant/addressbook.pkl, regardless of your operating system.
๐ Installation
1. Install via PyPI (recommended)
pip install pn-assistant
2. Run the program
After installation, a new command becomes available:
pn-assistant
This launches the PythoNauts Assistant CLI interface.
๐ Where are data stored?
Contacts and notes are stored not in the package, but in your home directory:
- Linux / macOS:
/home/USER/.pn-assistant/addressbook.pkl - Windows:
C:\Users\USER\.pn-assistant\addressbook.pkl
The file is created automatically.
๐ Main Features
๐ฅ Contact Management
Action | Command
--------------------------------------------------------
Add contact | `add John 380991234567`
Change phone | `change John 380991234567 0671234567`
Delete contact | `delete John`
Show phone | `phone John`
Show email | `email John`
Show birthday | `birthday John`
Show full info | `contact John`
Show all contacts | `all`
โ Email
Action | Command
--------------------------------------------------------
Add email | `add-email John example@gmail.com`
Change email | `change-email John old@gmail.com new@gmail.com`
Delete email | `delete-email John example@gmail.com`
๐ Birthdays
Action | Command
--------------------------------------------------------
Add birthday | `add-birthday John 2000-01-31`
Show birthday | `birthday John`
Birthdays within next 7 days | `birthdays`
Within the next 35 days | `birthdays 35`
๐ Addresses
Action | Command
--------------------------------------------------------
Add address | `add-address John Kyiv, Lesi Ukrainky 12`
๐ Notes
Action | Command
--------------------------------------------------------
Add note | `add-note`
Delete note | `delete-note`
Edit note | `change-note`
Find by title | `find-note-by-title`
Find by tag | `find-note-by-tag`
Show all notes | `all-notes`
๐ค General Commands
Action | Command
--------------------------------------------------------
Greeting | `hello`
Exit | `exit` or `close`
Help | `help`
๐งฉ Command Auto-completion
The application supports:
- suggestions while typing (tab to complete)
- nearest command search (
Did you mean..?) - a colored interface (via
colorama) - output of contacts as a table (using
prettytable)
โ FAQ
Where are my contacts stored?
~/.pn-assistant/addressbook.pkl (Linux/macOS)
or
C:\Users\USER\.pn-assistant\addressbook.pkl (Windows).
Why do I still see old data after uninstalling the package?
Data remains in addressbook.pkl. To start fresh โ delete this file.
Can I transfer my data to another computer?
Yes, copy addressbook.pkl to the same location on the new machine.
How do I add a new command or change the assistantโs behavior?
Edit the code in src/personal_assistant and
reinstall the package locally (pip install -e .).
โจ๏ธ Quick Usage Examples
Add a contact
pn-assistant> add John 380991234567
Add an email
pn-assistant> add-email John john@gmail.com
Check birthday
pn-assistant> birthday John
View all contacts
pn-assistant> all
๐ System Requirements
- Python โฅ 3.9
- Packets: colorama, prettytable, prompt_toolkit, wcwidth
- Works on Linux, macOS and Windows
๐ฆ Project Structure (for developers)
personal-assistant/
โ
โโโ src/personal_assistant/
โ โโโ addressbook.py
โ โโโ colorize.py
โ โโโ command_use.py
โ โโโ commands.py
โ โโโ errors.py
โ โโโ fields.py
โ โโโ input_parser.py
โ โโโ main.py
โ โโโ notes.py
โ โโโ pickle_data.py
โ โโโ record.py
โ โโโ utils.py
โ โโโ **init**.py
โ
โโโ pyproject.toml
โโโ setup.cfg
โโโ requirements.txt
โโโ README.md
๐ Development & Local Installation
Clone the repository
git clone https://github.com/yulikafsd/personal_assistant
cd personal_assistant
Local installation in development mode
pip install -e .
Run the local version
assistant
๐ค Publishing to PyPI
Build the distribution
python -m build
Upload
twine upload dist/*
๐ License & Contribution
The project is licensed under MIT License. Contributions: via pull request or issue on GitHub.
โค๏ธ Authors
Team PythoNauts
Your personal CLI assistant for working with contacts and notes.
๐ซ Contact / Support
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 pn_assistant-1.0.0.tar.gz.
File metadata
- Download URL: pn_assistant-1.0.0.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
568956f436e223a147ed30ccca22ecd3fd4f03e3a7f45a62cb46cb2d8a0cf14a
|
|
| MD5 |
3f53bc386b600ff3d4b207ae9b17725b
|
|
| BLAKE2b-256 |
3197820b53413c1c2ba7f5bc234ab22181bec13ee8edcaaa20b36f9052513b03
|
File details
Details for the file pn_assistant-1.0.0-py3-none-any.whl.
File metadata
- Download URL: pn_assistant-1.0.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e722458379cfdfcbf919fb3d7a02d199539f58010b2a5c2a2bf3b37253bc9021
|
|
| MD5 |
63918a7d538a436b9a50d1fcc2f4ef36
|
|
| BLAKE2b-256 |
ca2a3aa87096b66960ec969f0df6c07650989787a138e19fd2fd052cba4cd006
|