bkmr


Namebkmr JSON
Version 4.20.0 PyPI version JSON
download
home_pagehttps://github.com/sysid/bkmr
SummarySuper fast bookmark manager with semantic full text search'
upload_time2025-04-25 16:36:19
maintainerNone
docs_urlNone
authorsysid <sysid@gmx.de>
requires_python>=3.10
licenseBSD-3-Clause
keywords bookmark cli terminal snippet launcher
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bkmr

![Crates.io](https://img.shields.io/crates/v/bkmr)
![Crates.io](https://img.shields.io/crates/d/bkmr)
[![Docs.rs](https://docs.rs/bkmr/badge.svg)](https://docs.rs/bkmr)
[![Build Status][build-image]][build-url]

# Beyond Bookmarks: A CLI Knowledge Management System

[bkmr reborn](https://sysid.github.io/bkmr-reborn/)

`bkmr` is a fast, feature-rich command-line tool that extends far beyond traditional bookmark management.

Store, organize, find, and interact with various content types:

- Web URLs with automatic metadata extraction
- Code snippets for quick access and reuse
- Shell commands with execution capabilities
- Markdown documents with live rendering
- Plain text with template interpolation
- Local files and directories
- Semantic embeddings for AI-powered search

## Why bkmr?

- **Developer-focused**: Integrates seamlessly with your workflow and toolchain
- **Multifunctional**: Handles many content types with context-aware actions
- **Intelligent**: Full-text and semantic search capabilities
- **Privacy-focused**: Local database, no cloud dependencies unless enabled
- **Fast**: 20x faster than similar Python tools

## Core Features

```bash
# Quick fuzzy search across your content with interactive selection
bkmr search --fzf

# Advanced filtering with tags
bkmr search -t python,security "authentication"

# Add web URLs, enrich with metadata automatically
bkmr add https://example.com tag1,tag2  # title, description, etc will be loaded automatically

# Store code snippets
bkmr add "SELECT * FROM users WHERE role = 'admin'" sql,snippet --type snip --title "My Sql"
bkmr search --fzf --fzf-style enhanced -t _snip_  # show interactive selection menu

# shell scripts, added via interactive editor
bkmr add sysadmin,utils --type shell
# Bookmark Template
# Lines starting with '#' are comments and will be ignored.
# Section markers (---SECTION_NAME---) are required and must not be removed.

---ID---

---URL---
#!/bin/bash
echo "Hello World!"
---TITLE---
System Status
---TAGS---
_shell_
---COMMENTS---
Show the system status
---EMBEDDABLE---
false
---END---

# Run the script (default action for this content-type is called automatically when search returns excactly one)
bkmr search -t _shell_ "System Status"
> Found 1 bookmark: System Status (ID: 22). Executing default action...
> Hello World!


# Store markdown which will be rendered in the browser
bkmr add "# Project Notes\n\n## Tasks\n- [ ] Complete documentation\n- [ ] Write tests" notes,project --type md --title Markdown
bkmr open <id>  # open it in WEB browser

# Store environment variables for sourcing in a shell
bkmr add "export DB_USER=dev\nexport DB_PASSWORD=secret\nexport API_KEY=test_key" dev,env --type env --title 'My Environment'
bkmr search --fzf --fzf-style enhanced -t _env_  # select it for sourcing

# Execute shell commands via bookmark (deprecated, use content-type _shell_ instead)
bkmr add "shell::find ~/projects -name '*.go' | xargs grep 'func main'" tools,search --title 'Search Golang'

# Semantic search with AI
bkmr --openai sem-search "containerized application security" --limit 3
```
### Bookmarks
<img src="./docs/bkmr4-bookmarks.png" alt="bookmarks" width="800"/>

### Snippets
<img src="./docs/bkmr4-fzf-snippets.png" alt="fzf-snippets" width="800"/>

## Demos

See bkmr in action:

- <a href="https://asciinema.org/a/VTsHuw1Ugsbo10EP0tZ3PdpoG?autoplay=1&speed=2&t=3" alt="Overview">Overview</a>

- <a href="https://asciinema.org/a/wpnsTw3Cl7DK2R7jK7WVpp9OR?autoplay=1&speed=2&t=3" alt="Getting Started">Getting Started</a>
- <a href="https://asciinema.org/a/M97UJMKxw1nxnzO4SaowGZAmb?autoplay=1&speed=2&t=3" alt="Search and Filter">Search and Filter</a>
- <a href="https://asciinema.org/a/uCuNPSlqRemlcXiVQ3CIqq8uV?autoplay=1&speed=2&t=3" alt="Edit and Update">Edit and Update</a>
- <a href="https://asciinema.org/a/jNOLfhc6aFV3wPGTgOzgrM7Kc?autoplay=1&speed=2&t=3" alt="Tag Management">Tag Management</a>

## Getting Started

1. **Install:**
   ```bash
   cargo install bkmr

   # or via pip/pipx/uv
   pip install bkmr

   # or via brew
   brew tap sysid/bkmr
   brew info bkmr

   ```

2. **Setup:**
   ```bash
   # Configuration 
   bkmr --generate-config > ~/.config/bkmr/config.toml

   # Create database
   bkmr create-db ~/.config/bkmr/bkmr.db
   
   # Optional: Configure location (override config.toml)
   export BKMR_DB_URL=~/path/to/db
   ```

3. **Start using:**
   ```bash
   # Add your first bookmark
   bkmr add https://github.com/yourusername/yourrepo github,project
   
   # Find it again
   bkmr search github
   ```

## Command Reference

| Command | Description |
|---------|-------------|
| `search` | Search across all content with full-text and tag filtering |
| `sem-search` | AI-powered semantic search using OpenAI embeddings |
| `add` | Add new content (URLs, snippets, files, shell commands, etc.) |
| `open` | Launch or interact with stored items |
| `edit` | Modify existing items |
| `tags` | View and manage your tag taxonomy |
| `set-embeddable` | Configure items for semantic search |

## Smart Content Actions

`bkmr` intelligently handles different content types with appropriate actions:

| Content Type          | Default Action                        | System Tag   |
|-----------------------|---------------------------------------|--------------|
| URLs                  | Open in browser                       | (none)       |
| Snippets              | Copy to clipboard                     | `_snip_`     |
| Shell Scripts         | Execute in terminal                   | `_shell_`    |
| Environment Variables | Print to stdout for sourcing in shell | `_env_`      |
| Markdown              | Render and view in browser            | `_md_`       |
| Text Documents        | Copy to clipboard                     | `_imported_` |
| Local Files           | Open with default application         | (none)       |

## Advanced Features

- **Template interpolation**: Use Jinja-style templates in URLs and commands
- **Content embedding**: Store semantic representations for AI-powered search
- **Context-aware actions**: Different behaviors based on content type
- **Multiple output formats**: Terminal display, clipboard, or JSON export

For detailed documentation on advanced features:
- [Configuration Options](./docs/configuration.md)
- [Content Types](./docs/content-types.md)
- [Smart Actions](./docs/smart-actions.md)
- [Template Interpolation](./docs/template-interpolation.md)
- [Semantic Search](./docs/semantic-search.md)
- [Advanced Usage](./docs/advanced_usage.md)

## Developer Workflow Integration

`bkmr` transforms your terminal into a knowledge hub for development tasks:

1. **Unified knowledge store** - Access code snippets, documentation, and resources with one command
2. **Reduced context switching** - Launch applications and execute commands without leaving your workflow
3. **Smart clipboard management** - Quickly access common snippets without leaving the terminal
4. **Documentation at your fingertips** - Render markdown and technical notes instantly
5. **Automation shortcuts** - Turn complex command sequences into reusable bookmarks

## Upgrading from Previous Versions

If you're upgrading from a previous version, `bkmr` will automatically:
1. Check for necessary database migrations
2. Create a timestamped backup of your current database
3. Apply migrations to support newer features

## Community and Contributions

We welcome contributions! Please check our [Contributing Guidelines](./CONTRIBUTING.md) to get started.

<!-- Badges -->
[build-image]: https://github.com/sysid/bkmr/actions/workflows/release_wheels.yml/badge.svg
[build-url]: https://github.com/sysid/bkmr/actions/workflows/release_wheels.yml


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sysid/bkmr",
    "name": "bkmr",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "bookmark, cli, terminal, snippet, launcher",
    "author": "sysid <sysid@gmx.de>",
    "author_email": "sysid <sysid@gmx.de>",
    "download_url": "https://files.pythonhosted.org/packages/15/bb/38a8b61f62857f1ecde64b7f94a04dbefe25bdd2fec262451ccc68da142e/bkmr-4.20.0.tar.gz",
    "platform": null,
    "description": "# bkmr\n\n![Crates.io](https://img.shields.io/crates/v/bkmr)\n![Crates.io](https://img.shields.io/crates/d/bkmr)\n[![Docs.rs](https://docs.rs/bkmr/badge.svg)](https://docs.rs/bkmr)\n[![Build Status][build-image]][build-url]\n\n# Beyond Bookmarks: A CLI Knowledge Management System\n\n[bkmr reborn](https://sysid.github.io/bkmr-reborn/)\n\n`bkmr` is a fast, feature-rich command-line tool that extends far beyond traditional bookmark management.\n\nStore, organize, find, and interact with various content types:\n\n- Web URLs with automatic metadata extraction\n- Code snippets for quick access and reuse\n- Shell commands with execution capabilities\n- Markdown documents with live rendering\n- Plain text with template interpolation\n- Local files and directories\n- Semantic embeddings for AI-powered search\n\n## Why bkmr?\n\n- **Developer-focused**: Integrates seamlessly with your workflow and toolchain\n- **Multifunctional**: Handles many content types with context-aware actions\n- **Intelligent**: Full-text and semantic search capabilities\n- **Privacy-focused**: Local database, no cloud dependencies unless enabled\n- **Fast**: 20x faster than similar Python tools\n\n## Core Features\n\n```bash\n# Quick fuzzy search across your content with interactive selection\nbkmr search --fzf\n\n# Advanced filtering with tags\nbkmr search -t python,security \"authentication\"\n\n# Add web URLs, enrich with metadata automatically\nbkmr add https://example.com tag1,tag2  # title, description, etc will be loaded automatically\n\n# Store code snippets\nbkmr add \"SELECT * FROM users WHERE role = 'admin'\" sql,snippet --type snip --title \"My Sql\"\nbkmr search --fzf --fzf-style enhanced -t _snip_  # show interactive selection menu\n\n# shell scripts, added via interactive editor\nbkmr add sysadmin,utils --type shell\n# Bookmark Template\n# Lines starting with '#' are comments and will be ignored.\n# Section markers (---SECTION_NAME---) are required and must not be removed.\n\n---ID---\n\n---URL---\n#!/bin/bash\necho \"Hello World!\"\n---TITLE---\nSystem Status\n---TAGS---\n_shell_\n---COMMENTS---\nShow the system status\n---EMBEDDABLE---\nfalse\n---END---\n\n# Run the script (default action for this content-type is called automatically when search returns excactly one)\nbkmr search -t _shell_ \"System Status\"\n> Found 1 bookmark: System Status (ID: 22). Executing default action...\n> Hello World!\n\n\n# Store markdown which will be rendered in the browser\nbkmr add \"# Project Notes\\n\\n## Tasks\\n- [ ] Complete documentation\\n- [ ] Write tests\" notes,project --type md --title Markdown\nbkmr open <id>  # open it in WEB browser\n\n# Store environment variables for sourcing in a shell\nbkmr add \"export DB_USER=dev\\nexport DB_PASSWORD=secret\\nexport API_KEY=test_key\" dev,env --type env --title 'My Environment'\nbkmr search --fzf --fzf-style enhanced -t _env_  # select it for sourcing\n\n# Execute shell commands via bookmark (deprecated, use content-type _shell_ instead)\nbkmr add \"shell::find ~/projects -name '*.go' | xargs grep 'func main'\" tools,search --title 'Search Golang'\n\n# Semantic search with AI\nbkmr --openai sem-search \"containerized application security\" --limit 3\n```\n### Bookmarks\n<img src=\"./docs/bkmr4-bookmarks.png\" alt=\"bookmarks\" width=\"800\"/>\n\n### Snippets\n<img src=\"./docs/bkmr4-fzf-snippets.png\" alt=\"fzf-snippets\" width=\"800\"/>\n\n## Demos\n\nSee bkmr in action:\n\n- <a href=\"https://asciinema.org/a/VTsHuw1Ugsbo10EP0tZ3PdpoG?autoplay=1&speed=2&t=3\" alt=\"Overview\">Overview</a>\n\n- <a href=\"https://asciinema.org/a/wpnsTw3Cl7DK2R7jK7WVpp9OR?autoplay=1&speed=2&t=3\" alt=\"Getting Started\">Getting Started</a>\n- <a href=\"https://asciinema.org/a/M97UJMKxw1nxnzO4SaowGZAmb?autoplay=1&speed=2&t=3\" alt=\"Search and Filter\">Search and Filter</a>\n- <a href=\"https://asciinema.org/a/uCuNPSlqRemlcXiVQ3CIqq8uV?autoplay=1&speed=2&t=3\" alt=\"Edit and Update\">Edit and Update</a>\n- <a href=\"https://asciinema.org/a/jNOLfhc6aFV3wPGTgOzgrM7Kc?autoplay=1&speed=2&t=3\" alt=\"Tag Management\">Tag Management</a>\n\n## Getting Started\n\n1. **Install:**\n   ```bash\n   cargo install bkmr\n\n   # or via pip/pipx/uv\n   pip install bkmr\n\n   # or via brew\n   brew tap sysid/bkmr\n   brew info bkmr\n\n   ```\n\n2. **Setup:**\n   ```bash\n   # Configuration \n   bkmr --generate-config > ~/.config/bkmr/config.toml\n\n   # Create database\n   bkmr create-db ~/.config/bkmr/bkmr.db\n   \n   # Optional: Configure location (override config.toml)\n   export BKMR_DB_URL=~/path/to/db\n   ```\n\n3. **Start using:**\n   ```bash\n   # Add your first bookmark\n   bkmr add https://github.com/yourusername/yourrepo github,project\n   \n   # Find it again\n   bkmr search github\n   ```\n\n## Command Reference\n\n| Command | Description |\n|---------|-------------|\n| `search` | Search across all content with full-text and tag filtering |\n| `sem-search` | AI-powered semantic search using OpenAI embeddings |\n| `add` | Add new content (URLs, snippets, files, shell commands, etc.) |\n| `open` | Launch or interact with stored items |\n| `edit` | Modify existing items |\n| `tags` | View and manage your tag taxonomy |\n| `set-embeddable` | Configure items for semantic search |\n\n## Smart Content Actions\n\n`bkmr` intelligently handles different content types with appropriate actions:\n\n| Content Type          | Default Action                        | System Tag   |\n|-----------------------|---------------------------------------|--------------|\n| URLs                  | Open in browser                       | (none)       |\n| Snippets              | Copy to clipboard                     | `_snip_`     |\n| Shell Scripts         | Execute in terminal                   | `_shell_`    |\n| Environment Variables | Print to stdout for sourcing in shell | `_env_`      |\n| Markdown              | Render and view in browser            | `_md_`       |\n| Text Documents        | Copy to clipboard                     | `_imported_` |\n| Local Files           | Open with default application         | (none)       |\n\n## Advanced Features\n\n- **Template interpolation**: Use Jinja-style templates in URLs and commands\n- **Content embedding**: Store semantic representations for AI-powered search\n- **Context-aware actions**: Different behaviors based on content type\n- **Multiple output formats**: Terminal display, clipboard, or JSON export\n\nFor detailed documentation on advanced features:\n- [Configuration Options](./docs/configuration.md)\n- [Content Types](./docs/content-types.md)\n- [Smart Actions](./docs/smart-actions.md)\n- [Template Interpolation](./docs/template-interpolation.md)\n- [Semantic Search](./docs/semantic-search.md)\n- [Advanced Usage](./docs/advanced_usage.md)\n\n## Developer Workflow Integration\n\n`bkmr` transforms your terminal into a knowledge hub for development tasks:\n\n1. **Unified knowledge store** - Access code snippets, documentation, and resources with one command\n2. **Reduced context switching** - Launch applications and execute commands without leaving your workflow\n3. **Smart clipboard management** - Quickly access common snippets without leaving the terminal\n4. **Documentation at your fingertips** - Render markdown and technical notes instantly\n5. **Automation shortcuts** - Turn complex command sequences into reusable bookmarks\n\n## Upgrading from Previous Versions\n\nIf you're upgrading from a previous version, `bkmr` will automatically:\n1. Check for necessary database migrations\n2. Create a timestamped backup of your current database\n3. Apply migrations to support newer features\n\n## Community and Contributions\n\nWe welcome contributions! Please check our [Contributing Guidelines](./CONTRIBUTING.md) to get started.\n\n<!-- Badges -->\n[build-image]: https://github.com/sysid/bkmr/actions/workflows/release_wheels.yml/badge.svg\n[build-url]: https://github.com/sysid/bkmr/actions/workflows/release_wheels.yml\n\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Super fast bookmark manager with semantic full text search'",
    "version": "4.20.0",
    "project_urls": {
        "Homepage": "https://github.com/sysid/bkmr",
        "Source Code": "https://github.com/sysid/bkmr"
    },
    "split_keywords": [
        "bookmark",
        " cli",
        " terminal",
        " snippet",
        " launcher"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8c48d0d58e22d7d49e0174e61bd2957d7b6ad023b4a036858b04665d865bcbab",
                "md5": "86fa2983cb77cb133f113ac92a4d6218",
                "sha256": "cfc6628441e8e922391432a88c502f5c660fd0efbe40d87709801f90edae4ec2"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "86fa2983cb77cb133f113ac92a4d6218",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 5131010,
            "upload_time": "2025-04-25T16:35:53",
            "upload_time_iso_8601": "2025-04-25T16:35:53.614588Z",
            "url": "https://files.pythonhosted.org/packages/8c/48/d0d58e22d7d49e0174e61bd2957d7b6ad023b4a036858b04665d865bcbab/bkmr-4.20.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0187b546575c74d776eceb4da9580edfde62afc06a454deffeedda89cd463ddf",
                "md5": "8883839d9e2dae841235839736b5f978",
                "sha256": "6634e9ca2d64b9f0f929af519aedcbed22793509286040f12c4326e0865d8157"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8883839d9e2dae841235839736b5f978",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 4827617,
            "upload_time": "2025-04-25T16:35:55",
            "upload_time_iso_8601": "2025-04-25T16:35:55.845744Z",
            "url": "https://files.pythonhosted.org/packages/01/87/b546575c74d776eceb4da9580edfde62afc06a454deffeedda89cd463ddf/bkmr-4.20.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "502d3cdfa072e23ad1c637ec967cd10c3695484ed79a3ecec051fd039c87938e",
                "md5": "73385c2f86c1f0e98e2c44ea50e43997",
                "sha256": "9be944a93ad79ef1fe52273dd35855cf8fe794dbc11d839b244dd391d5b61f78"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "73385c2f86c1f0e98e2c44ea50e43997",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 7675435,
            "upload_time": "2025-04-25T16:35:58",
            "upload_time_iso_8601": "2025-04-25T16:35:58.041277Z",
            "url": "https://files.pythonhosted.org/packages/50/2d/3cdfa072e23ad1c637ec967cd10c3695484ed79a3ecec051fd039c87938e/bkmr-4.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0ea0686ce87360b8cd0ba55ee655c6e09bf983c09908df5fdcf495f0e6e55c6e",
                "md5": "fd3b46976127f299a6cc10d48e29900c",
                "sha256": "7070348520ca2d68b41f69061c6e5a9c541f7502930578570fba8c153ca8f33d"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fd3b46976127f299a6cc10d48e29900c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 5131010,
            "upload_time": "2025-04-25T16:36:00",
            "upload_time_iso_8601": "2025-04-25T16:36:00.473948Z",
            "url": "https://files.pythonhosted.org/packages/0e/a0/686ce87360b8cd0ba55ee655c6e09bf983c09908df5fdcf495f0e6e55c6e/bkmr-4.20.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a6f9cb6f37fe4871d44c25f76dd40df1a78bf1bc21aa8d0fc854d24915a6daca",
                "md5": "074ee721b0d768b503c927d552dce94e",
                "sha256": "4eed6d9c43a221983f779346c3c7e9161d9fdfdb2180b57aa2fd61661994c80c"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "074ee721b0d768b503c927d552dce94e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 4827617,
            "upload_time": "2025-04-25T16:36:02",
            "upload_time_iso_8601": "2025-04-25T16:36:02.476409Z",
            "url": "https://files.pythonhosted.org/packages/a6/f9/cb6f37fe4871d44c25f76dd40df1a78bf1bc21aa8d0fc854d24915a6daca/bkmr-4.20.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "22a3d5f902009cfac19184a4d8135e80650733ff4c2d716037a319239d9667f8",
                "md5": "b1e2d628062fc5a8993fede5afaa58bf",
                "sha256": "4b2d7d52958304c1321d0f3c5d6fe4ae0debd6c1113f0bc7d9334c42764d3cf0"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b1e2d628062fc5a8993fede5afaa58bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 7675435,
            "upload_time": "2025-04-25T16:36:04",
            "upload_time_iso_8601": "2025-04-25T16:36:04.570518Z",
            "url": "https://files.pythonhosted.org/packages/22/a3/d5f902009cfac19184a4d8135e80650733ff4c2d716037a319239d9667f8/bkmr-4.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "420aadca92a678468d120c56fbd5771877ffda3ba7c6ed8dd1c0bd8ab91060b2",
                "md5": "30bb7e632d3c19be36add223575dd3ab",
                "sha256": "094d2ee976f75a60f2f2eed8b922522e729556bfcd7ef45ce58014141eb011a8"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "30bb7e632d3c19be36add223575dd3ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 5131010,
            "upload_time": "2025-04-25T16:36:06",
            "upload_time_iso_8601": "2025-04-25T16:36:06.724115Z",
            "url": "https://files.pythonhosted.org/packages/42/0a/adca92a678468d120c56fbd5771877ffda3ba7c6ed8dd1c0bd8ab91060b2/bkmr-4.20.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "09f5c376937c1dd7f6023a8b28e5d3663bd9c2d9aaaa12dc8f01e67682bbd82b",
                "md5": "8b06ad1aa1ccc5fa608d6e976f45ff97",
                "sha256": "e99f626f3b340056aabcb8260ec1ba35239e0ad47c14d4ac4732378766baeb05"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8b06ad1aa1ccc5fa608d6e976f45ff97",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 4827617,
            "upload_time": "2025-04-25T16:36:08",
            "upload_time_iso_8601": "2025-04-25T16:36:08.762691Z",
            "url": "https://files.pythonhosted.org/packages/09/f5/c376937c1dd7f6023a8b28e5d3663bd9c2d9aaaa12dc8f01e67682bbd82b/bkmr-4.20.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5042d0a8c4630b6a3ee88ed1ca8209727512502812fb2162b2777deea85bf2fa",
                "md5": "1727e5c9c9a31e9ab2241f27d2b15be9",
                "sha256": "61d469d3517458118afdf1c698197e855a83cc03a3be882fccdccb846ae51616"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1727e5c9c9a31e9ab2241f27d2b15be9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 7675434,
            "upload_time": "2025-04-25T16:36:10",
            "upload_time_iso_8601": "2025-04-25T16:36:10.866588Z",
            "url": "https://files.pythonhosted.org/packages/50/42/d0a8c4630b6a3ee88ed1ca8209727512502812fb2162b2777deea85bf2fa/bkmr-4.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec454930a3bcf9fa2e0e18b14603e0ae13722a0e7d11d011f5059a38704f65cb",
                "md5": "284263e87a045af06443aba497a812f9",
                "sha256": "f62f250bdb67066cbc298b554b06bff9db19d878c699a0fdcc78e84953e8db10"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "284263e87a045af06443aba497a812f9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 5131009,
            "upload_time": "2025-04-25T16:36:13",
            "upload_time_iso_8601": "2025-04-25T16:36:13.418569Z",
            "url": "https://files.pythonhosted.org/packages/ec/45/4930a3bcf9fa2e0e18b14603e0ae13722a0e7d11d011f5059a38704f65cb/bkmr-4.20.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "42e0f0d6781ac7a7948b5681467d9bbf4ed61dbc9647685a472fb26a507f69f2",
                "md5": "761fa508b6189442ce914f316b2142d1",
                "sha256": "c07fbb56f37d7e58129d8c293924d14d1517fa1f3761679f1afe94b1625430e3"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "761fa508b6189442ce914f316b2142d1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 4827617,
            "upload_time": "2025-04-25T16:36:15",
            "upload_time_iso_8601": "2025-04-25T16:36:15.881113Z",
            "url": "https://files.pythonhosted.org/packages/42/e0/f0d6781ac7a7948b5681467d9bbf4ed61dbc9647685a472fb26a507f69f2/bkmr-4.20.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0dfa67edcdaf1f29832e4285961a411b906696f09fa3280e2d52eb073fc398f9",
                "md5": "64f87d8b9e13bc1aa6d42100f42f7cd9",
                "sha256": "4fe282a24b789f58092dfa0b584457ca642627da85c37b9de4f3f1ac58cedef0"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "64f87d8b9e13bc1aa6d42100f42f7cd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 7675434,
            "upload_time": "2025-04-25T16:36:17",
            "upload_time_iso_8601": "2025-04-25T16:36:17.952758Z",
            "url": "https://files.pythonhosted.org/packages/0d/fa/67edcdaf1f29832e4285961a411b906696f09fa3280e2d52eb073fc398f9/bkmr-4.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "15bb38a8b61f62857f1ecde64b7f94a04dbefe25bdd2fec262451ccc68da142e",
                "md5": "8b9984bc1e804fc4c4da301c5fae15ab",
                "sha256": "505191afd99c1393bc821998fe37a9fa9268188d1673c44353d01c5e1ee131eb"
            },
            "downloads": -1,
            "filename": "bkmr-4.20.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8b9984bc1e804fc4c4da301c5fae15ab",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 303978,
            "upload_time": "2025-04-25T16:36:19",
            "upload_time_iso_8601": "2025-04-25T16:36:19.992406Z",
            "url": "https://files.pythonhosted.org/packages/15/bb/38a8b61f62857f1ecde64b7f94a04dbefe25bdd2fec262451ccc68da142e/bkmr-4.20.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-04-25 16:36:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sysid",
    "github_project": "bkmr",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "bkmr"
}
        
Elapsed time: 2.26078s