| Name | mynotes-cli JSON |
| Version |
0.3.7
JSON |
| download |
| home_page | None |
| Summary | CLI notes manager with tags, colored output, exports and shell autocompletion |
| upload_time | 2025-10-09 07:26:18 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.8 |
| license | None |
| keywords |
notes
cli
terminal
tags
productivity
python
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# π mynotes-cli β Simple Terminal Notes Manager
> Manage colorful notes with tags, export to TXT/MD/PDF, and enjoy autocompletion in your terminal.
---
## π Installation
### 1οΈβ£ Clone or unpack the project
```bash
git clone https://github.com/antoninsiska/mynotes-cli.git
cd mynotes-cli
```
Or if you have a ZIP file:
```bash
unzip mynotes-cli.zip
cd mynotes-cli
```
---
### 2οΈβ£ Install locally
```bash
pip install -e .
```
This command makes the `mynotes` command available in your Python environment.
> π‘ Optional (for PDF export):
> ```bash
> pip install reportlab
> ```
---
## βοΈ Enable autocompletion
`mynotes` uses **argcomplete**, which allows shell autocompletion by pressing `TAB`.
### π Bash
Run:
```bash
python -m argcomplete.global
```
Then restart your shell or reload it:
```bash
source ~/.bashrc
```
### π Zsh
```bash
autoload -U bashcompinit && bashcompinit
eval "$(register-python-argcomplete --shell zsh mynotes)"
```
To make it persistent, add the last line to your `~/.zshrc`.
### π Fish
```bash
register-python-argcomplete --shell fish mynotes | source
```
Or permanently:
```bash
register-python-argcomplete --shell fish mynotes > ~/.config/fish/completions/mynotes.fish
```
---
## β‘ Shortcut alias `my`
If you prefer shorter commands:
```bash
alias my="mynotes"
```
To make it persistent:
```bash
echo 'alias my="mynotes"' >> ~/.bashrc
source ~/.bashrc
```
---
## π§ Basic usage
### Add a note
```bash
mynotes add "Buy milk"
mynotes add "Finish presentation" --tags school fll
```
### List notes
```bash
mynotes list
mynotes list --tag school
```
> `list` shows a colorful table with tags (using **Rich**).
> Use `--plain` for plain text output.
### Edit a note
```bash
mynotes edit 2 --text "Buy milk and eggs"
mynotes edit 2 --add-tags ftc --remove-tags school
```
### Delete a note
```bash
mynotes delete 1
```
---
## π·οΈ Tags
### List all tags
```bash
mynotes tag list
```
### Add a new tag
```bash
mynotes tag add school --color bright_blue
```
### Edit a tag
```bash
mynotes tag edit school --new-name School --color yellow
```
### Delete a tag
```bash
mynotes tag delete fll
```
> Available colors:
> `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white`
> + bright variants such as `bright_blue`, `bright_yellow`.
Tags are automatically styled for contrast:
- light colors β black text
- dark colors β white text
---
## π€ Export
### To TXT
```bash
mynotes export --format txt --out notes.txt
```
### To Markdown
```bash
mynotes export --format md --out notes.md --tag ftc
```
### To PDF
```bash
mynotes export --format pdf --out notes.pdf
```
> PDF export uses `reportlab` (if installed). Otherwise, a simple fallback is used.
---
## π¦ Storage
- Notes: `~/.mynotes.json`
- Tags: `~/.mynotes_tags.json`
You can override paths:
```bash
MYNOTES_PATH=/custom/path/notes.json MYNOTES_TAGS_PATH=/custom/path/tags.json mynotes list
```
---
## π§© Autocomplete examples
Try pressing `TAB`:
```bash
mynotes [TAB] # β add, list, edit, delete, tag, export
mynotes tag [TAB] # β list, add, edit, delete
mynotes list --tag [TAB] # β shows existing tags
mynotes edit [TAB] # β offers existing note IDs
```
---
## π‘ Tips
- `mynotes --l` is a shortcut for `mynotes list`
- `mynotes --a "text"` adds a note
- `mynotes --d 3` deletes note with ID 3
---
## π§° Troubleshooting
### β `mynotes: command not found`
- Make sure your virtual environment is active
- Reinstall:
```bash
pip install -e .
```
- Or run manually:
```bash
python -m mynotes.cli
```
### β Autocompletion not working
- Run:
```bash
python -m argcomplete.global
```
- Then restart your terminal.
---
## π¨ Example output
```
π mynotes
βββββ³βββββββββββββββββββββ³βββββββββββββ³βββββββββββββββ³βββββββββββββββ
β IDβ Note β Tags β Created β Updated β
β£ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 1 β Buy milk β school fll β 5 min ago β - β
β 2 β Finish presentationβ ftc β 1 h ago β 10 min ago β
βββββ»βββββββββββββββββββββ»βββββββββββββ»βββββββββββββββ»βββββββββββββββ
```
---
## π§‘ Author
**AntonΓn Ε iΕ‘ka**
CLI utility built in Python using `argparse`, `rich`, `argcomplete`, and `reportlab`.
Version: 0.3.0
Β© 2025 AntonΓn Ε iΕ‘ka β Licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "mynotes-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "notes, cli, terminal, tags, productivity, python",
"author": null,
"author_email": "Anton\u00edn \u0160i\u0161ka <your.email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/32/3b/b2f1eb6c993ebb9297885bc96de24c52eb1febd1867544389ad7230df0af/mynotes_cli-0.3.7.tar.gz",
"platform": null,
"description": "# \ud83d\udcdd mynotes-cli \u2014 Simple Terminal Notes Manager\n\n> Manage colorful notes with tags, export to TXT/MD/PDF, and enjoy autocompletion in your terminal.\n\n---\n\n## \ud83d\ude80 Installation\n\n### 1\ufe0f\u20e3 Clone or unpack the project\n```bash\ngit clone https://github.com/antoninsiska/mynotes-cli.git\ncd mynotes-cli\n```\nOr if you have a ZIP file:\n```bash\nunzip mynotes-cli.zip\ncd mynotes-cli\n```\n\n---\n\n### 2\ufe0f\u20e3 Install locally\n```bash\npip install -e .\n```\nThis command makes the `mynotes` command available in your Python environment.\n\n> \ud83d\udca1 Optional (for PDF export):\n> ```bash\n> pip install reportlab\n> ```\n\n---\n\n## \u2699\ufe0f Enable autocompletion\n\n`mynotes` uses **argcomplete**, which allows shell autocompletion by pressing `TAB`.\n\n### \ud83d\udc1a Bash\nRun:\n```bash\npython -m argcomplete.global\n```\nThen restart your shell or reload it:\n```bash\nsource ~/.bashrc\n```\n\n### \ud83c\udf00 Zsh\n```bash\nautoload -U bashcompinit && bashcompinit\neval \"$(register-python-argcomplete --shell zsh mynotes)\"\n```\nTo make it persistent, add the last line to your `~/.zshrc`.\n\n### \ud83d\udc1f Fish\n```bash\nregister-python-argcomplete --shell fish mynotes | source\n```\nOr permanently:\n```bash\nregister-python-argcomplete --shell fish mynotes > ~/.config/fish/completions/mynotes.fish\n```\n\n---\n\n## \u26a1 Shortcut alias `my`\nIf you prefer shorter commands:\n```bash\nalias my=\"mynotes\"\n```\nTo make it persistent:\n```bash\necho 'alias my=\"mynotes\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\n---\n\n## \ud83e\udde0 Basic usage\n\n### Add a note\n```bash\nmynotes add \"Buy milk\"\nmynotes add \"Finish presentation\" --tags school fll\n```\n\n### List notes\n```bash\nmynotes list\nmynotes list --tag school\n```\n> `list` shows a colorful table with tags (using **Rich**). \n> Use `--plain` for plain text output.\n\n### Edit a note\n```bash\nmynotes edit 2 --text \"Buy milk and eggs\"\nmynotes edit 2 --add-tags ftc --remove-tags school\n```\n\n### Delete a note\n```bash\nmynotes delete 1\n```\n\n---\n\n## \ud83c\udff7\ufe0f Tags\n\n### List all tags\n```bash\nmynotes tag list\n```\n\n### Add a new tag\n```bash\nmynotes tag add school --color bright_blue\n```\n\n### Edit a tag\n```bash\nmynotes tag edit school --new-name School --color yellow\n```\n\n### Delete a tag\n```bash\nmynotes tag delete fll\n```\n\n> Available colors: \n> `black`, `red`, `green`, `yellow`, `blue`, `magenta`, `cyan`, `white` \n> + bright variants such as `bright_blue`, `bright_yellow`.\n\nTags are automatically styled for contrast: \n- light colors \u2192 black text \n- dark colors \u2192 white text\n\n---\n\n## \ud83d\udce4 Export\n\n### To TXT\n```bash\nmynotes export --format txt --out notes.txt\n```\n\n### To Markdown\n```bash\nmynotes export --format md --out notes.md --tag ftc\n```\n\n### To PDF\n```bash\nmynotes export --format pdf --out notes.pdf\n```\n\n> PDF export uses `reportlab` (if installed). Otherwise, a simple fallback is used.\n\n---\n\n## \ud83d\udce6 Storage\n\n- Notes: `~/.mynotes.json` \n- Tags: `~/.mynotes_tags.json`\n\nYou can override paths:\n```bash\nMYNOTES_PATH=/custom/path/notes.json MYNOTES_TAGS_PATH=/custom/path/tags.json mynotes list\n```\n\n---\n\n## \ud83e\udde9 Autocomplete examples\n\nTry pressing `TAB`:\n```bash\nmynotes [TAB] # \u2192 add, list, edit, delete, tag, export\nmynotes tag [TAB] # \u2192 list, add, edit, delete\nmynotes list --tag [TAB] # \u2192 shows existing tags\nmynotes edit [TAB] # \u2192 offers existing note IDs\n```\n\n---\n\n## \ud83d\udca1 Tips\n\n- `mynotes --l` is a shortcut for `mynotes list`\n- `mynotes --a \"text\"` adds a note\n- `mynotes --d 3` deletes note with ID 3\n\n---\n\n## \ud83e\uddf0 Troubleshooting\n\n### \u274c `mynotes: command not found`\n- Make sure your virtual environment is active \n- Reinstall:\n ```bash\n pip install -e .\n ```\n- Or run manually:\n ```bash\n python -m mynotes.cli\n ```\n\n### \u274c Autocompletion not working\n- Run:\n ```bash\n python -m argcomplete.global\n ```\n- Then restart your terminal.\n\n---\n\n## \ud83c\udfa8 Example output\n\n```\n\ud83d\udcd2 mynotes\n\u250f\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2533\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2513\n\u2503 ID\u2503 Note \u2503 Tags \u2503 Created \u2503 Updated \u2503\n\u2523\u2501\u2501\u2501\u254b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u254b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u254b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u254b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u252b\n\u2503 1 \u2503 Buy milk \u2503 school fll \u2503 5 min ago \u2503 - \u2503\n\u2503 2 \u2503 Finish presentation\u2503 ftc \u2503 1 h ago \u2503 10 min ago \u2503\n\u2517\u2501\u2501\u2501\u253b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u253b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u253b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u253b\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u251b\n```\n\n---\n\n## \ud83e\udde1 Author\n**Anton\u00edn \u0160i\u0161ka** \nCLI utility built in Python using `argparse`, `rich`, `argcomplete`, and `reportlab`. \nVersion: 0.3.0\n\n\u00a9 2025 Anton\u00edn \u0160i\u0161ka \u2014 Licensed under the MIT License.\n",
"bugtrack_url": null,
"license": null,
"summary": "CLI notes manager with tags, colored output, exports and shell autocompletion",
"version": "0.3.7",
"project_urls": {
"Homepage": "https://github.com/antoninsiska/mynotes-cli",
"Issues": "https://github.com/antoninsiska/mynote-cli/issues",
"Repository": "https://github.com/antoninsiska/mynotes-cli"
},
"split_keywords": [
"notes",
" cli",
" terminal",
" tags",
" productivity",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "032efefcf1b75427778e809784632b37e3573be0f37ad04f98b00a517cb47293",
"md5": "a594a7444d58f89f58a1d04c5c4f05ba",
"sha256": "bdc69f050383cff2b714869360bcbc8e31c72b0889c91bce8816d68fd3883775"
},
"downloads": -1,
"filename": "mynotes_cli-0.3.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a594a7444d58f89f58a1d04c5c4f05ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 10064,
"upload_time": "2025-10-09T07:26:17",
"upload_time_iso_8601": "2025-10-09T07:26:17.674438Z",
"url": "https://files.pythonhosted.org/packages/03/2e/fefcf1b75427778e809784632b37e3573be0f37ad04f98b00a517cb47293/mynotes_cli-0.3.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "323bb2f1eb6c993ebb9297885bc96de24c52eb1febd1867544389ad7230df0af",
"md5": "43bce747c90958b6f910ff4428ca488c",
"sha256": "f7fc39fa9633ef0020c4e7489e0d570adffe8598f925aa89cab5ce921aaa623f"
},
"downloads": -1,
"filename": "mynotes_cli-0.3.7.tar.gz",
"has_sig": false,
"md5_digest": "43bce747c90958b6f910ff4428ca488c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11499,
"upload_time": "2025-10-09T07:26:18",
"upload_time_iso_8601": "2025-10-09T07:26:18.801658Z",
"url": "https://files.pythonhosted.org/packages/32/3b/b2f1eb6c993ebb9297885bc96de24c52eb1febd1867544389ad7230df0af/mynotes_cli-0.3.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 07:26:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "antoninsiska",
"github_project": "mynotes-cli",
"github_not_found": true,
"lcname": "mynotes-cli"
}