Simple tool to manage your bookmarks
Project description
PyMarks (WIP)
🌟 About
PyMarks is an efficient Python program designed to manage bookmarks. It uses SQLite3
as a database to store your bookmarks, which allows you to add, delete, and update
them as necessary.
To make it easier to access your bookmarks, PyMarks provides a
menu system using tools like Dmenu, Rofi, or fzf in the terminal. With this menu
system, you can search and fuzzy find the bookmark you are looking for and then open
it in your preferred web browser. Is an excellent tool for organizing and
accessing bookmarks.
⚡️ Requirements
📦 Installation
You can install this tool using pipx (recommended), pip or by cloning
the repository
⭐ Using pipx (recommended)
pipx install pymarks
Using pip
pip install pymarks
Clone repository
# clone repository
$ git clone "https://github.com/haaag/PyMarks"
$ cd PyMarks
# create virtual environment & source
$ python -m venv .venv && source .venv/bin/activate
# install dependencies
$ pip install -r requirements.txt
# run
$ pymarks
🚀 Usage
$ pymarks --help
PyMarks is a simple tool to assist you in efficiently
organizing and managing your bookmarks.
The tool simplifies the process of accessing, adding, updating,
and removing bookmarks.
supported menus:
['dmenu', 'rofi', 'fzf']
options:
-a, --add Add bookmark
-c, --copy Copy bookmark to system clipboar (default)
-o, --open Open bookmark in default browser
-m, --menu Select menu (default: rofi)
-j, --json JSON formatted output
-V, --version Show version
-h, --help Show help
-v, --verbose Verbose mode
optional environment variables:
PYMARKS_HOME Overrides default PyMarks location
PYMARKS_BACKUP_MAX_AGE Overrides backup age check interval
PYMARKS_BACKUP_MAX_AMOUNT Overrides backup max amount
⌨️ Keybinds (rofi exclusive)
Using rofi, you can use some keybinds.
| Keybind | Description |
|---|---|
| Alt+a | Add new record |
| Alt+c | Change database |
| Alt+d | Record detail |
| Alt+e | Record options edit, delete |
| Alt+i | App information databases, keybinds |
| Alt+t | Filter by tag |
📁 Folder structure
Directory structure $XDG_CONFIG_HOME/pymarks
$ ~/.config/pymarks (main*) tree
├── backup
│ ├── YYYY-MM-DD_bookmarks.db
│ └── YYYY-MM-DD_bookmarks.db
└── databases
├── bookmarks.db <-- Default
├── trash.db <-- Deleted records
├── private.db
└── work.db
🔥 Similar projects and inspiration
- Buku 🌟 Thank You 🤘
Done
TODO
Priority
| Description | Progress |
|---|---|
Use XDG_DIRS |
|
Add encrypt/decrypt option to database |
|
Create deleted/removed table |
|
Get keybinds in dmenu/fzf to work |
Environment variables
| Description | Progress |
|---|---|
| PYMARKS_HOME | |
| PYMARKS_BACKUP_MAX_AGE | |
| PYMARKS_BACKUP_MAX_AMOUNT |
Actions
| Description | Progress |
|---|---|
| Update record (tags, URL) | |
| Delete record (tags, URL) | |
| Option to switch databases | |
| Option to add/remove database | |
| Option to show information (backups, keys, records, etc) | |
Scrape title from website |
|
Scrape Description from website |
|
| Multi-Select (for delete? for migrate? for any action…🤔) |
Databases
| Description | Progress |
|---|---|
| Add support for multi-database (e.g: personal and work) | |
trash.db or dump.db for deleted records |
|
Option to restore from deleted to bookmark table |
|
Option to search in ALL databases |
Backups
| Description | Progress |
|---|---|
Prompt for backup every <PYMARKS_BACKUP_MAX_AGE> number of days |
|
| Option to disable check on runtime | |
Keep <PYMARKS_BACKUP_MAX_AMOUNT> of backup files |
Misc
| Description | Progress |
|---|---|
Add renumbered for the rowid (Each time a record is deleted?) |
|
validation when reading from clipboard |
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 pymarks-0.0.13.tar.gz.
File metadata
- Download URL: pymarks-0.0.13.tar.gz
- Upload date:
- Size: 19.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.24.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0157eba309b7c8b68173cdc14808e0edea37996a107cfc1828cf6e9d0e8b77e
|
|
| MD5 |
aeee9159587355cbee2391b8fc16ed96
|
|
| BLAKE2b-256 |
641295643c1114869044dc12ff612dfecc2482654953f32a7cc89cac7d368ce4
|
File details
Details for the file pymarks-0.0.13-py3-none-any.whl.
File metadata
- Download URL: pymarks-0.0.13-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.24.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9195ef4e06f3f640321750d13f14b3b40872a00618455c6b560ffaf3b1ad565e
|
|
| MD5 |
cda4c5651304b451a5e16f7b8bc523b8
|
|
| BLAKE2b-256 |
0246ad5ac7e499175a2fdc7ae4968e607af9647475ddd0af89a9d99d54d60565
|