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
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 |