Name | linkcovery JSON |
Version |
1.7.8
JSON |
| download |
home_page | None |
Summary | A modern, fast, and intuitive bookmark management CLI tool |
upload_time | 2025-08-24 12:52:41 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.13 |
license | None |
keywords |
bookmark
cli
link
management
python
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<div align="center">
<img src="https://raw.githubusercontent.com/arian24b/linkcovery/refs/heads/main/linkcovery.png" alt="LinkCovery Logo" width="400"/>
</div>
# LinkCovery - Modern Bookmark Management CLI
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://github.com/psf/black)
[](https://github.com/arian24b/linkcovery)
[](https://github.com/arian24b/linkcovery)
[](https://github.com/arian24b/linkcovery/issues)
<a href="https://www.producthunt.com/products/linkcovery?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-linkcovery" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1001540&theme=light&t=1754328725689" alt="LinkCovery - The command-line bookmark manager for developers. | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
LinkCovery is a modern, fast, and intuitive bookmark management tool built with Python. It provides a beautiful command-line interface that makes managing, searching, and organizing your links effortless.
## π€ Why LinkCovery?
Browser bookmarks quickly become cluttered and inefficient. LinkCovery helps you intelligently manage and organize your links from the terminalβthe place where you, as a developer, spend most of your time. With powerful search capabilities, tagging systems, and data portability, LinkCovery transforms how you interact with your saved links, making them truly useful rather than just saved.
## β¨ Features
### π Core Functionality
- **Smart Link Management**: Add, edit, delete, and organize links with ease
- **Powerful Search**: Search by URL, description, tags, domain, or read status
- **Data Portability**: Import and export your bookmarks in JSON format
- **Read Tracking**: Keep track of which links you've read
- **Rich Statistics**: Get insights into your bookmark collection
### ποΈ Technical Excellence
- **Modern Architecture**: Clean separation of concerns with service layers
- **Type Safety**: Full Pydantic validation and type hints throughout
- **Error Handling**: Comprehensive error handling with helpful messages
- **Beautiful UI**: Rich terminal interface with tables and colors
- **Configuration**: Flexible configuration system with file-based storage
- **Cross-Platform**: Works seamlessly on macOS, Linux, and Windows
## π¦ Installation
### Prerequisites
- Python 3.13 or higher
- [uv](https://github.com/astral-sh/uv) package manager (recommended)
### Install from Source
```bash
git clone https://github.com/arian24b/linkcovery.git
cd linkcovery
uv sync
```
### Install as Package
```bash
uv add linkcovery
```
## π― Quick Start
### Add Your First Link
```bash
uv run python main.py links add "https://github.com/arian24b/linkcovery" \
--desc "LinkCovery GitHub Repository" \
--tag "github,project"
```
### List Your Links
```bash
uv run python main.py links list
```
### Search Your Bookmarks
```bash
# Search by keyword
uv run python main.py links search github
# Search by domain
uv run python main.py links search --domain github.com
# Search by tag
uv run python main.py links search --tag project
```
### Export Your Data
```bash
uv run python main.py data export my-bookmarks.json
```
### Import Bookmarks
```bash
uv run python main.py data import my-bookmarks.json
```
## οΏ½ CLI Reference
### Link Management (`links`)
- `links add <url>` - Add a new bookmark
- `--desc, -d` - Description for the link
- `--tag, -t` - Tag to categorize the link
- `--read, -r` - Mark as already read
- `links list` - List all bookmarks
- `--limit, -l` - Maximum number of links to show
- `--read-only` - Show only read links
- `--unread-only` - Show only unread links
- `links search [query]` - Search bookmarks
- `--domain` - Filter by domain
- `--tag, -t` - Filter by tag
- `--read-only` - Show only read links
- `--unread-only` - Show only unread links
- `--limit, -l` - Maximum results
- `links show <id>` - Show detailed link information
- `links edit <id>` - Edit an existing link
- `--url` - New URL
- `--desc, -d` - New description
- `--tag, -t` - New tag
- `--read` - Mark as read
- `--unread` - Mark as unread
- `links delete <id>` - Delete a link
- `--force, -f` - Skip confirmation
- `links mark-read <id>` - Mark a link as read
- `links mark-unread <id>` - Mark a link as unread
### Data Management (`data`)
- `data export <file>` - Export links to JSON
- `--force, -f` - Overwrite existing file
- `data import <file>` - Import links from JSON
### Configuration (`config`)
- `config show` - Show current configuration
- `config get <key>` - Get a specific configuration value
- `config set <key> <value>` - Set a configuration value
- `config reset` - Reset to default configuration
### General Commands
- `stats` - Show bookmark statistics
- `version` - Show version information
## βοΈ Configuration
LinkCovery stores its configuration in your system's config directory:
- **macOS**: `~/Library/Application Support/linkcovery/config.json`
- **Linux**: `~/.config/linkcovery/config.json`
- **Windows**: `%APPDATA%/linkcovery/config.json`
### Available Settings
| Setting | Default | Description |
|---------|---------|-------------|
| `app_name` | "LinkCovery" | Application name |
| `version` | "1.0.0" | Application version |
| `database_path` | (auto-detected) | Custom database path |
| `default_export_format` | "json" | Default export format |
| `max_search_results` | 50 | Maximum search results |
| `allowed_extensions` | [".json"] | Allowed file extensions |
| `debug` | false | Enable debug mode |
### Examples
```bash
# Set maximum search results
uv run python main.py config set max_search_results 100
# Enable debug mode
uv run python main.py config set debug true
# View all settings
uv run python main.py config show
```
## ποΈ Database
LinkCovery uses SQLite for data storage. The database is automatically created in your system's data directory:
- **macOS**: `~/Library/Application Support/linkcovery/links.db`
- **Linux**: `~/.local/share/linkcovery/links.db`
- **Windows**: `%APPDATA%/linkcovery/links.db`
### Database Schema
The `links` table contains:
- `id` - Unique identifier (primary key)
- `url` - The bookmark URL (unique, required)
- `domain` - Extracted domain name (required)
- `description` - Optional description text
- `tag` - Associated tag for categorization
- `is_read` - Boolean read status
- `created_at` - ISO timestamp of creation
- `updated_at` - ISO timestamp of last update
## ποΈ Project Structure
```
linkcovery/
βββ main.py # Application entry point
βββ linkcovery/
β βββ cli/ # Command-line interface
β β βββ __init__.py # Main CLI app and routing
β β βββ links.py # Link management commands
β β βββ config.py # Configuration commands
β β βββ data.py # Import/export commands
β β βββ utils.py # CLI utilities and decorators
β βββ core/ # Core business logic
β β βββ config.py # Configuration management
β β βββ database.py # Database service layer
β β βββ exceptions.py # Custom exception classes
β β βββ models.py # Pydantic and SQLAlchemy models
β β βββ utils.py # Core utility functions
β βββ services/ # Business logic services
β βββ link_service.py # Link management business logic
β βββ data_service.py # Import/export operations
βββ pyproject.toml # Project configuration
βββ README.md # This file
```
## π§ͺ Development
### Setup Development Environment
```bash
# Clone the repository
git clone https://github.com/arian24b/linkcovery.git
cd linkcovery
# Install with development dependencies
uv sync --all-groups
# Install pre-commit hooks (if available)
uv run pre-commit install
```
### Running Tests
```bash
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=linkcovery --cov-report=html
```
### Code Quality
```bash
# Run linting
uv run ruff check
# Format code
uv run ruff format
# Type checking
uv run mypy linkcovery
```
### Building
```bash
# Build binary
uv run python build_binary.py
```
## οΏ½ Examples
### Managing Links
```bash
# Add a link with description and tags
uv run python main.py links add "https://docs.python.org" \
--desc "Official Python Documentation" \
--tag "python,docs,reference"
# List only unread links
uv run python main.py links list --unread-only --limit 10
# Search for Python-related links
uv run python main.py links search python
# Mark a link as read
uv run python main.py links mark-read 5
# Edit a link's description
uv run python main.py links edit 5 --desc "Updated description"
```
### Data Management
```bash
# Export all links
uv run python main.py data export my-bookmarks-$(date +%Y%m%d).json
# Import from another file
uv run python main.py data import bookmarks-backup.json
# View statistics
uv run python main.py stats
```
### Configuration
```bash
# Increase search result limit
uv run python main.py config set max_search_results 100
# View current configuration
uv run python main.py config show
# Reset to defaults
uv run python main.py config reset
```
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes following the project's coding standards
4. Run tests and linting (`uv run pytest && uv run ruff check`)
5. Commit your changes (`git commit -m 'Add some amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
- Built with [Typer](https://typer.tiangolo.com/) for the CLI framework
- [Rich](https://rich.readthedocs.io/) for beautiful terminal output
- [SQLAlchemy](https://www.sqlalchemy.org/) for database operations
- [Pydantic](https://pydantic.dev/) for data validation and settings
- [platformdirs](https://github.com/platformdirs/platformdirs) for cross-platform paths
---
**LinkCovery** - Because your bookmarks deserve better organization! πβ¨
Raw data
{
"_id": null,
"home_page": null,
"name": "linkcovery",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": "Arian Omrani <arian24b@gmail.com>",
"keywords": "bookmark, cli, link, management, python",
"author": null,
"author_email": "Arian Omrani <arian24b@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/4a/bc/0c88332810980578caeac5cdb2c57a26a71c2cfcc25200ba14768130c519/linkcovery-1.7.8.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <img src=\"https://raw.githubusercontent.com/arian24b/linkcovery/refs/heads/main/linkcovery.png\" alt=\"LinkCovery Logo\" width=\"400\"/>\n</div>\n\n# LinkCovery - Modern Bookmark Management CLI\n\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n[](https://github.com/psf/black)\n[](https://github.com/arian24b/linkcovery)\n[](https://github.com/arian24b/linkcovery)\n[](https://github.com/arian24b/linkcovery/issues)\n\n<a href=\"https://www.producthunt.com/products/linkcovery?embed=true&utm_source=badge-featured&utm_medium=badge&utm_source=badge-linkcovery\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1001540&theme=light&t=1754328725689\" alt=\"LinkCovery - The command-line bookmark manager for developers. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\nLinkCovery is a modern, fast, and intuitive bookmark management tool built with Python. It provides a beautiful command-line interface that makes managing, searching, and organizing your links effortless.\n\n## \ud83e\udd14 Why LinkCovery?\n\nBrowser bookmarks quickly become cluttered and inefficient. LinkCovery helps you intelligently manage and organize your links from the terminal\u2014the place where you, as a developer, spend most of your time. With powerful search capabilities, tagging systems, and data portability, LinkCovery transforms how you interact with your saved links, making them truly useful rather than just saved.\n\n## \u2728 Features\n\n### \ud83d\ude80 Core Functionality\n- **Smart Link Management**: Add, edit, delete, and organize links with ease\n- **Powerful Search**: Search by URL, description, tags, domain, or read status\n- **Data Portability**: Import and export your bookmarks in JSON format\n- **Read Tracking**: Keep track of which links you've read\n- **Rich Statistics**: Get insights into your bookmark collection\n\n### \ud83c\udfd7\ufe0f Technical Excellence\n- **Modern Architecture**: Clean separation of concerns with service layers\n- **Type Safety**: Full Pydantic validation and type hints throughout\n- **Error Handling**: Comprehensive error handling with helpful messages\n- **Beautiful UI**: Rich terminal interface with tables and colors\n- **Configuration**: Flexible configuration system with file-based storage\n- **Cross-Platform**: Works seamlessly on macOS, Linux, and Windows\n\n## \ud83d\udce6 Installation\n\n### Prerequisites\n- Python 3.13 or higher\n- [uv](https://github.com/astral-sh/uv) package manager (recommended)\n\n### Install from Source\n```bash\ngit clone https://github.com/arian24b/linkcovery.git\ncd linkcovery\nuv sync\n```\n\n### Install as Package\n```bash\nuv add linkcovery\n```\n\n## \ud83c\udfaf Quick Start\n\n### Add Your First Link\n```bash\nuv run python main.py links add \"https://github.com/arian24b/linkcovery\" \\\n --desc \"LinkCovery GitHub Repository\" \\\n --tag \"github,project\"\n```\n\n### List Your Links\n```bash\nuv run python main.py links list\n```\n\n### Search Your Bookmarks\n```bash\n# Search by keyword\nuv run python main.py links search github\n\n# Search by domain\nuv run python main.py links search --domain github.com\n\n# Search by tag\nuv run python main.py links search --tag project\n```\n\n### Export Your Data\n```bash\nuv run python main.py data export my-bookmarks.json\n```\n\n### Import Bookmarks\n```bash\nuv run python main.py data import my-bookmarks.json\n```\n\n## \ufffd CLI Reference\n\n### Link Management (`links`)\n- `links add <url>` - Add a new bookmark\n - `--desc, -d` - Description for the link\n - `--tag, -t` - Tag to categorize the link\n - `--read, -r` - Mark as already read\n- `links list` - List all bookmarks\n - `--limit, -l` - Maximum number of links to show\n - `--read-only` - Show only read links\n - `--unread-only` - Show only unread links\n- `links search [query]` - Search bookmarks\n - `--domain` - Filter by domain\n - `--tag, -t` - Filter by tag\n - `--read-only` - Show only read links\n - `--unread-only` - Show only unread links\n - `--limit, -l` - Maximum results\n- `links show <id>` - Show detailed link information\n- `links edit <id>` - Edit an existing link\n - `--url` - New URL\n - `--desc, -d` - New description\n - `--tag, -t` - New tag\n - `--read` - Mark as read\n - `--unread` - Mark as unread\n- `links delete <id>` - Delete a link\n - `--force, -f` - Skip confirmation\n- `links mark-read <id>` - Mark a link as read\n- `links mark-unread <id>` - Mark a link as unread\n\n### Data Management (`data`)\n- `data export <file>` - Export links to JSON\n - `--force, -f` - Overwrite existing file\n- `data import <file>` - Import links from JSON\n\n### Configuration (`config`)\n- `config show` - Show current configuration\n- `config get <key>` - Get a specific configuration value\n- `config set <key> <value>` - Set a configuration value\n- `config reset` - Reset to default configuration\n\n### General Commands\n- `stats` - Show bookmark statistics\n- `version` - Show version information\n\n## \u2699\ufe0f Configuration\n\nLinkCovery stores its configuration in your system's config directory:\n- **macOS**: `~/Library/Application Support/linkcovery/config.json`\n- **Linux**: `~/.config/linkcovery/config.json`\n- **Windows**: `%APPDATA%/linkcovery/config.json`\n\n### Available Settings\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `app_name` | \"LinkCovery\" | Application name |\n| `version` | \"1.0.0\" | Application version |\n| `database_path` | (auto-detected) | Custom database path |\n| `default_export_format` | \"json\" | Default export format |\n| `max_search_results` | 50 | Maximum search results |\n| `allowed_extensions` | [\".json\"] | Allowed file extensions |\n| `debug` | false | Enable debug mode |\n\n### Examples\n```bash\n# Set maximum search results\nuv run python main.py config set max_search_results 100\n\n# Enable debug mode\nuv run python main.py config set debug true\n\n# View all settings\nuv run python main.py config show\n```\n\n## \ud83d\uddc4\ufe0f Database\n\nLinkCovery uses SQLite for data storage. The database is automatically created in your system's data directory:\n\n- **macOS**: `~/Library/Application Support/linkcovery/links.db`\n- **Linux**: `~/.local/share/linkcovery/links.db`\n- **Windows**: `%APPDATA%/linkcovery/links.db`\n\n### Database Schema\n\nThe `links` table contains:\n- `id` - Unique identifier (primary key)\n- `url` - The bookmark URL (unique, required)\n- `domain` - Extracted domain name (required)\n- `description` - Optional description text\n- `tag` - Associated tag for categorization\n- `is_read` - Boolean read status\n- `created_at` - ISO timestamp of creation\n- `updated_at` - ISO timestamp of last update\n\n## \ud83c\udfd7\ufe0f Project Structure\n\n```\nlinkcovery/\n\u251c\u2500\u2500 main.py # Application entry point\n\u251c\u2500\u2500 linkcovery/\n\u2502 \u251c\u2500\u2500 cli/ # Command-line interface\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py # Main CLI app and routing\n\u2502 \u2502 \u251c\u2500\u2500 links.py # Link management commands\n\u2502 \u2502 \u251c\u2500\u2500 config.py # Configuration commands\n\u2502 \u2502 \u251c\u2500\u2500 data.py # Import/export commands\n\u2502 \u2502 \u2514\u2500\u2500 utils.py # CLI utilities and decorators\n\u2502 \u251c\u2500\u2500 core/ # Core business logic\n\u2502 \u2502 \u251c\u2500\u2500 config.py # Configuration management\n\u2502 \u2502 \u251c\u2500\u2500 database.py # Database service layer\n\u2502 \u2502 \u251c\u2500\u2500 exceptions.py # Custom exception classes\n\u2502 \u2502 \u251c\u2500\u2500 models.py # Pydantic and SQLAlchemy models\n\u2502 \u2502 \u2514\u2500\u2500 utils.py # Core utility functions\n\u2502 \u2514\u2500\u2500 services/ # Business logic services\n\u2502 \u251c\u2500\u2500 link_service.py # Link management business logic\n\u2502 \u2514\u2500\u2500 data_service.py # Import/export operations\n\u251c\u2500\u2500 pyproject.toml # Project configuration\n\u2514\u2500\u2500 README.md # This file\n```\n\n## \ud83e\uddea Development\n\n### Setup Development Environment\n```bash\n# Clone the repository\ngit clone https://github.com/arian24b/linkcovery.git\ncd linkcovery\n\n# Install with development dependencies\nuv sync --all-groups\n\n# Install pre-commit hooks (if available)\nuv run pre-commit install\n```\n\n### Running Tests\n```bash\n# Run all tests\nuv run pytest\n\n# Run with coverage\nuv run pytest --cov=linkcovery --cov-report=html\n```\n\n### Code Quality\n```bash\n# Run linting\nuv run ruff check\n\n# Format code\nuv run ruff format\n\n# Type checking\nuv run mypy linkcovery\n```\n\n### Building\n```bash\n# Build binary\nuv run python build_binary.py\n```\n\n## \ufffd Examples\n\n### Managing Links\n```bash\n# Add a link with description and tags\nuv run python main.py links add \"https://docs.python.org\" \\\n --desc \"Official Python Documentation\" \\\n --tag \"python,docs,reference\"\n\n# List only unread links\nuv run python main.py links list --unread-only --limit 10\n\n# Search for Python-related links\nuv run python main.py links search python\n\n# Mark a link as read\nuv run python main.py links mark-read 5\n\n# Edit a link's description\nuv run python main.py links edit 5 --desc \"Updated description\"\n```\n\n### Data Management\n```bash\n# Export all links\nuv run python main.py data export my-bookmarks-$(date +%Y%m%d).json\n\n# Import from another file\nuv run python main.py data import bookmarks-backup.json\n\n# View statistics\nuv run python main.py stats\n```\n\n### Configuration\n```bash\n# Increase search result limit\nuv run python main.py config set max_search_results 100\n\n# View current configuration\nuv run python main.py config show\n\n# Reset to defaults\nuv run python main.py config reset\n```\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes following the project's coding standards\n4. Run tests and linting (`uv run pytest && uv run ruff check`)\n5. Commit your changes (`git commit -m 'Add some amazing feature'`)\n6. Push to the branch (`git push origin feature/amazing-feature`)\n7. Open a Pull Request\n\n## \ud83d\udcdd License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with [Typer](https://typer.tiangolo.com/) for the CLI framework\n- [Rich](https://rich.readthedocs.io/) for beautiful terminal output\n- [SQLAlchemy](https://www.sqlalchemy.org/) for database operations\n- [Pydantic](https://pydantic.dev/) for data validation and settings\n- [platformdirs](https://github.com/platformdirs/platformdirs) for cross-platform paths\n\n---\n\n**LinkCovery** - Because your bookmarks deserve better organization! \ud83d\udd17\u2728\n",
"bugtrack_url": null,
"license": null,
"summary": "A modern, fast, and intuitive bookmark management CLI tool",
"version": "1.7.8",
"project_urls": {
"Changelog": "https://github.com/arian24b/linkcovery/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/arian24b/linkcovery#readme",
"Homepage": "https://github.com/arian24b/linkcovery",
"Issues": "https://github.com/arian24b/linkcovery/issues"
},
"split_keywords": [
"bookmark",
" cli",
" link",
" management",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "8e9f26497876a5459310bad4e7c6e48cab9cb5814cd2e4b44a00492d0b54ccfa",
"md5": "cffe2c77217fa5a4a441c4139760cd96",
"sha256": "2056843d82893bd6928bc11f54b6beccbb5886173ee8bf83397ecaa24e6cb781"
},
"downloads": -1,
"filename": "linkcovery-1.7.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cffe2c77217fa5a4a441c4139760cd96",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 23816,
"upload_time": "2025-08-24T12:52:40",
"upload_time_iso_8601": "2025-08-24T12:52:40.425991Z",
"url": "https://files.pythonhosted.org/packages/8e/9f/26497876a5459310bad4e7c6e48cab9cb5814cd2e4b44a00492d0b54ccfa/linkcovery-1.7.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4abc0c88332810980578caeac5cdb2c57a26a71c2cfcc25200ba14768130c519",
"md5": "ee6620c9c06519bf57e5571ffc7fdaea",
"sha256": "6715b493b0e12d7a44102aa5cafcd6ab5b05280f9ea309e1776e8691a54dc63b"
},
"downloads": -1,
"filename": "linkcovery-1.7.8.tar.gz",
"has_sig": false,
"md5_digest": "ee6620c9c06519bf57e5571ffc7fdaea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 161058,
"upload_time": "2025-08-24T12:52:41",
"upload_time_iso_8601": "2025-08-24T12:52:41.535555Z",
"url": "https://files.pythonhosted.org/packages/4a/bc/0c88332810980578caeac5cdb2c57a26a71c2cfcc25200ba14768130c519/linkcovery-1.7.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-24 12:52:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "arian24b",
"github_project": "linkcovery",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "linkcovery"
}