Save tabs from Safari to a SQLite database. Supports Datasette. Can sync multiple devices with Turso.
Project description
safari-to-sqlite
Save tabs from Safari to a SQLite database. Multiple devices can be synced with Turso. Search and explore with Datasette!
How to install
This package is available on PyPI and can be installed with pipx:
brew install pipx
pipx install safari-to-sqlite
Usage
To save your Safari tabs to a SQLite database, run:
safari-to-sqlite
This will save the tabs to a file called safari-tabs.db
in your current directory.
Or to specify a database file:
safari-to-sqlite tabs.db
Authentication
Cross device sync is possible using a Turso account. You can configure your own database or allow this tool to automatically perform setup for you. To authenticate, run:
safari-to-sqlite auth
If you don't have an existing Turso account or database, no problem! This command will walk you through the setup process by installing the Turso CLI with brew and creating a new database for you. Otherwise, you can manually enter your own database URL and token.
Downloading missing body content
Safari may not return the tab's body content if it is not available for some reason. To download and extract page content when this is missing, run:
safari-to-sqlite download
Development
Pull requests are very welcome! For major changes, please open an issue first to discuss what you would like to change.
Setup
brew install python3
# If you don't have python3 installed
git clone git@github.com:hbmartin/safari-to-sqlite.git
cd safari-to-sqlite
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m safari_to_sqlite
Code Formatting
This project is linted with ruff and uses Black code formatting.
Authors
- Harold Martin - harold.martin at gmail
License
© Harold Martin - released under Apache-2.0 license
Safari is a registered trademark of Apple Inc.
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
Hashes for safari_to_sqlite-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 515d310c1ee4108a5b68f1e02d6ac8c88c8aeb861fa27c8e315b692c93981ed6 |
|
MD5 | 7930a1f001bb573114d2179541b3d11c |
|
BLAKE2b-256 | 316c09609399a3229e55e9af7709e725bc2c002d71faf1f797588dfe22bf0d89 |