quiper


Namequiper JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA macOS overlay for AI web applications, providing a floating window with a web view and hotkey support.
upload_time2025-09-08 05:16:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords ai chatgpt gemini grok hotkey macos ollama overlay webview
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Quiper

A versatile macOS application that provides a system-wide overlay for multiple AI services, including Grok, Gemini ChatGPT and everything other engine that provides a web application. This tool allows you to quickly access your favorite AI assistants with a global hotkey, quickly switch between engines and manage multiple chat instances for each service.

![Quiper](https://quiper.sassanh.com/quiper-screenshot.jpg)

## Features

- **Multi-Service Support:** Seamlessly switch between Grok and Gemini.
- **Multi-Instance Chats:** Manage up to 10 simultaneous chat sessions for each service.
- **Global Hotkeys:**
  - `Option+Space` (customizable) to show/hide the application window.
  - `Command+Control+<digit-n>` to switch to nth engine.
  - `Cmd+0` through `Cmd+9` to switch between chat instances.
- **Customizable:** Easily change the global hotkey to your preferred combination.

## Installation

You can install the application using pip:

```bash
python3 -m pip install quiper
```

Or you can clone the repository and run it directly:

```bash
git clone https://github.com/sassanh/quiper.git
cd quiper
uv run quiper
```

To build the application into a standalone macOS app, run:

```bash
uv run poe build-app
```

The dmg file will be created in the `dist` directory. You can then drag the app to your Applications folder.

To have the application launch automatically at login, run:

```bash
/Applications/quiper.app/Contents/MacOS/quiper --install
```

## How It Works

This application is built with PyObjC, which allows Python to interact with Apple's native Objective-C frameworks. It creates a borderless, always-on-top window that contains a `WKWebView` for each chat instance. The global hotkeys are registered using the `quickmachotkey` library, and the application state is managed in the `AppController` class.

## Contributing

This is an open-source project, and contributions are welcome. If you have ideas for new features or improvements, please open an issue or submit a pull request on the [GitHub repository](https://github.com/sassanh/quiper).

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Credits

It is greatly inspired by the [macos-grok-overlay](https://github.com/tchlux/macos-grok-overlay) project by [tchlux](https://github.com/tchlux), which was originally designed for the Grok AI service. The base of this codebase is mostly copied from that project, mostly the boilerplate code for setting up the macOS application.

Most of the code has been written with gemini-cli and grok. That's why it is so unorganized and messy :D If people find it useful, I will refactor it and make it cleaner, maybe even rewrite it in Swift.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "quiper",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": "Sassan Haradji <me@sassanh.com>",
    "keywords": "ai, chatgpt, gemini, grok, hotkey, macos, ollama, overlay, webview",
    "author": null,
    "author_email": "Sassan Haradji <me@sassanh.com>",
    "download_url": "https://files.pythonhosted.org/packages/98/28/f3b08b5fe8694d1ba5128d297062b2c450dcf6669114566b9f63f1c8c175/quiper-0.1.1.tar.gz",
    "platform": null,
    "description": "# Quiper\n\nA versatile macOS application that provides a system-wide overlay for multiple AI services, including Grok, Gemini ChatGPT and everything other engine that provides a web application. This tool allows you to quickly access your favorite AI assistants with a global hotkey, quickly switch between engines and manage multiple chat instances for each service.\n\n![Quiper](https://quiper.sassanh.com/quiper-screenshot.jpg)\n\n## Features\n\n- **Multi-Service Support:** Seamlessly switch between Grok and Gemini.\n- **Multi-Instance Chats:** Manage up to 10 simultaneous chat sessions for each service.\n- **Global Hotkeys:**\n  - `Option+Space` (customizable) to show/hide the application window.\n  - `Command+Control+<digit-n>` to switch to nth engine.\n  - `Cmd+0` through `Cmd+9` to switch between chat instances.\n- **Customizable:** Easily change the global hotkey to your preferred combination.\n\n## Installation\n\nYou can install the application using pip:\n\n```bash\npython3 -m pip install quiper\n```\n\nOr you can clone the repository and run it directly:\n\n```bash\ngit clone https://github.com/sassanh/quiper.git\ncd quiper\nuv run quiper\n```\n\nTo build the application into a standalone macOS app, run:\n\n```bash\nuv run poe build-app\n```\n\nThe dmg file will be created in the `dist` directory. You can then drag the app to your Applications folder.\n\nTo have the application launch automatically at login, run:\n\n```bash\n/Applications/quiper.app/Contents/MacOS/quiper --install\n```\n\n## How It Works\n\nThis application is built with PyObjC, which allows Python to interact with Apple's native Objective-C frameworks. It creates a borderless, always-on-top window that contains a `WKWebView` for each chat instance. The global hotkeys are registered using the `quickmachotkey` library, and the application state is managed in the `AppController` class.\n\n## Contributing\n\nThis is an open-source project, and contributions are welcome. If you have ideas for new features or improvements, please open an issue or submit a pull request on the [GitHub repository](https://github.com/sassanh/quiper).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Credits\n\nIt is greatly inspired by the [macos-grok-overlay](https://github.com/tchlux/macos-grok-overlay) project by [tchlux](https://github.com/tchlux), which was originally designed for the Grok AI service. The base of this codebase is mostly copied from that project, mostly the boilerplate code for setting up the macOS application.\n\nMost of the code has been written with gemini-cli and grok. That's why it is so unorganized and messy :D If people find it useful, I will refactor it and make it cleaner, maybe even rewrite it in Swift.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A macOS overlay for AI web applications, providing a floating window with a web view and hotkey support.",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "ai",
        " chatgpt",
        " gemini",
        " grok",
        " hotkey",
        " macos",
        " ollama",
        " overlay",
        " webview"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "60a72548209a038cd5d9c412083c33c47b9ee596b2b5cfb0cf50636296f3d5d4",
                "md5": "cf98d93dc59c4acfe40ae00e9cd4f706",
                "sha256": "fa6cad29360073dc308460649a5f03e8c3ff71be0c0abfa6178214f50368e4be"
            },
            "downloads": -1,
            "filename": "quiper-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cf98d93dc59c4acfe40ae00e9cd4f706",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 160962,
            "upload_time": "2025-09-08T05:16:36",
            "upload_time_iso_8601": "2025-09-08T05:16:36.625855Z",
            "url": "https://files.pythonhosted.org/packages/60/a7/2548209a038cd5d9c412083c33c47b9ee596b2b5cfb0cf50636296f3d5d4/quiper-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9828f3b08b5fe8694d1ba5128d297062b2c450dcf6669114566b9f63f1c8c175",
                "md5": "5cede4faeeb8cca9bae6340a35b6a76e",
                "sha256": "66cd79f0da4da84eb5f59bfe48b8e8d1fef330f68c7a2c536aabb0939a9b332b"
            },
            "downloads": -1,
            "filename": "quiper-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5cede4faeeb8cca9bae6340a35b6a76e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 159976,
            "upload_time": "2025-09-08T05:16:37",
            "upload_time_iso_8601": "2025-09-08T05:16:37.900255Z",
            "url": "https://files.pythonhosted.org/packages/98/28/f3b08b5fe8694d1ba5128d297062b2c450dcf6669114566b9f63f1c8c175/quiper-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-08 05:16:37",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "quiper"
}
        
Elapsed time: 0.94279s