whisper-chat


Namewhisper-chat JSON
Version 1.0.9 PyPI version JSON
download
home_pagehttps://github.com/NUCCASJNR/Whisper
SummaryWhisper is a secure, anonymous chat application for the command line, enabling private communication, user profile management, and more—all from your terminal.
upload_time2024-10-17 09:35:48
maintainerNone
docs_urlNone
authornuccasjr
requires_python>=3.6
licenseNone
keywords anonymous-chat cli secure-communication
VCS
bugtrack_url
requirements amqp asgiref async-timeout attrs autobahn Automat billiard black celery certifi cffi channels channels-redis charset-normalizer click click-didyoumean click-plugins click-repl cloudinary constantly cryptography daphne Django django-channels django-cors-headers django-redis django-rest-framework django-restframework djangorestframework djangorestframework-simplejwt docutils drf-yasg exceptiongroup flake8 gunicorn honeybadger hyperlink idna importlib_metadata incremental inflection iniconfig isort jaraco.classes jaraco.context jaraco.functools jeepney keyring kombu markdown-it-py mccabe mdurl more-itertools msgpack mypy-extensions mysqlclient nh3 oauthlib packaging pathspec pillow pkginfo platformdirs pluggy prompt-toolkit psutil psycopg2-binary pyasn1 pyasn1-modules pycodestyle pycparser pyflakes Pygments PyJWT pyOpenSSL pytest pytest-django pytest-mock python-dateutil python-dotenv pytz PyYAML readme_renderer redis requests requests-oauthlib requests-toolbelt rfc3986 rich SecretStorage service-identity setuptools six sqlparse twine Twisted txaio typing_extensions tzdata uritemplate urllib3 vine wcwidth wheel zipp zope.interface
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# Whisper CLI Tool

Whisper CLI is a command-line interface tool that allows users to interact with the Whisper application, performing actions like signing up, logging in, setting availability for chat, viewing profiles, and listing active users.

## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
  - [Login](#login)
  - [Signup](#signup)
  - [Ready to Chat](#ready-to-chat)
  - [Profile](#profile)
  - [Active Users](#active-users)
- [Commands](#commands)
- [Contributing](#contributing)
- [License](#license)

## Installation

### Prerequisites
Make sure you have the following installed:
- Python 3.6+
- `pip` (Python package installer)
- `requests` package for handling HTTP requests

To install the necessary dependencies, run the following command:
```bash
pip install whisper_chat
```

## Usage

Once you have installed the dependencies, you can use the `whisper` command in your terminal to interact with the CLI tool.

### General Command Format

The basic format for using the Whisper CLI is:
```bash
whisper <command> --username <username> --password <password> --option <option>
```

Each command has specific options and flags as described below.

### Signup
To create a new user account:
```bash
whisper signup --username <your-username> --password <your-password>
```

This command registers you as a new user in the application. Ensure that both username and password are provided.

### Login
To log into the application:
```bash
whisper login --username <your-username> --password <your-password>
```

This command logs you in using your credentials and returns an authentication token that will be used in subsequent requests.


### Ready to Chat
To set your availability for chatting:
```bash
whisper ready_to_chat --username <your-username>
```

After running this command, you will be prompted to enter whether you're ready to chat:
- Enter `Yes`, `Y`, or `ON` to mark yourself as available.
- Enter `No`, `N`, or `OFF` to mark yourself as unavailable.

### Profile
To view your profile information:
```bash
whisper profile --username <your-username>
```

This command retrieves and displays details about your profile, such as your username, email, and current availability status.

### Active Users
To view a list of all active users (users who are available for chatting):
```bash
whisper active_users --username <your-username>
```

This command will return a list of all users who are online and ready to chat.

## Commands

The CLI supports the following commands:

| Command         | Description                                       | Required Arguments          | Optional Arguments |
|-----------------|---------------------------------------------------|-----------------------------|--------------------|
| `login`         | Logs into the application                         | `--username`, `--password`  |                    |
| `signup`        | Registers a new user                              | `--username`, `--password`  |                    |
| `ready_to_chat` | Sets your chat availability (ready/not ready)      | `--username`                |                    |
| `profile`       | Displays your profile information                 | `--username`                |                    |
| `active_users`  | Lists all users who are available for chatting     | `--username`                |                    |

### Examples

- **Login**
  ```bash
  whisper login --username Al-Areef --password Wagwan
- **Signup**
  ```bash
  whisper signup --username Al-Areef --password Wagwan
  ```
- **Set Ready to Chat**
  ```bash
  whisper ready_to_chat --username Al-Areef
  ```
  Then you will be prompted to type `Yes/Y` or `No/N` to set your availability.
  
- **View Profile**
  ```bash
  whisper profile --username sAl-Areef
  ```

- **List Active Users**
  ```bash
  whisper active_users --username Al-Areef
  ```

## Contributing

We welcome contributions! If you have any features or improvements, feel free to open an issue or submit a pull request. Make sure to include tests for your new features or bug fixes.

## License

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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/NUCCASJNR/Whisper",
    "name": "whisper-chat",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "anonymous-chat cli secure-communication",
    "author": "nuccasjr",
    "author_email": "alareefadegbite@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/dc/0f/edff8e12e0c4fdecdda7b3333e10ac3a036c217712e8fd3e6f9a234d1d7b/whisper_chat-1.0.9.tar.gz",
    "platform": null,
    "description": "\n# Whisper CLI Tool\n\nWhisper CLI is a command-line interface tool that allows users to interact with the Whisper application, performing actions like signing up, logging in, setting availability for chat, viewing profiles, and listing active users.\n\n## Table of Contents\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Login](#login)\n  - [Signup](#signup)\n  - [Ready to Chat](#ready-to-chat)\n  - [Profile](#profile)\n  - [Active Users](#active-users)\n- [Commands](#commands)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\n### Prerequisites\nMake sure you have the following installed:\n- Python 3.6+\n- `pip` (Python package installer)\n- `requests` package for handling HTTP requests\n\nTo install the necessary dependencies, run the following command:\n```bash\npip install whisper_chat\n```\n\n## Usage\n\nOnce you have installed the dependencies, you can use the `whisper` command in your terminal to interact with the CLI tool.\n\n### General Command Format\n\nThe basic format for using the Whisper CLI is:\n```bash\nwhisper <command> --username <username> --password <password> --option <option>\n```\n\nEach command has specific options and flags as described below.\n\n### Signup\nTo create a new user account:\n```bash\nwhisper signup --username <your-username> --password <your-password>\n```\n\nThis command registers you as a new user in the application. Ensure that both username and password are provided.\n\n### Login\nTo log into the application:\n```bash\nwhisper login --username <your-username> --password <your-password>\n```\n\nThis command logs you in using your credentials and returns an authentication token that will be used in subsequent requests.\n\n\n### Ready to Chat\nTo set your availability for chatting:\n```bash\nwhisper ready_to_chat --username <your-username>\n```\n\nAfter running this command, you will be prompted to enter whether you're ready to chat:\n- Enter `Yes`, `Y`, or `ON` to mark yourself as available.\n- Enter `No`, `N`, or `OFF` to mark yourself as unavailable.\n\n### Profile\nTo view your profile information:\n```bash\nwhisper profile --username <your-username>\n```\n\nThis command retrieves and displays details about your profile, such as your username, email, and current availability status.\n\n### Active Users\nTo view a list of all active users (users who are available for chatting):\n```bash\nwhisper active_users --username <your-username>\n```\n\nThis command will return a list of all users who are online and ready to chat.\n\n## Commands\n\nThe CLI supports the following commands:\n\n| Command         | Description                                       | Required Arguments          | Optional Arguments |\n|-----------------|---------------------------------------------------|-----------------------------|--------------------|\n| `login`         | Logs into the application                         | `--username`, `--password`  |                    |\n| `signup`        | Registers a new user                              | `--username`, `--password`  |                    |\n| `ready_to_chat` | Sets your chat availability (ready/not ready)      | `--username`                |                    |\n| `profile`       | Displays your profile information                 | `--username`                |                    |\n| `active_users`  | Lists all users who are available for chatting     | `--username`                |                    |\n\n### Examples\n\n- **Login**\n  ```bash\n  whisper login --username Al-Areef --password Wagwan\n- **Signup**\n  ```bash\n  whisper signup --username Al-Areef --password Wagwan\n  ```\n- **Set Ready to Chat**\n  ```bash\n  whisper ready_to_chat --username Al-Areef\n  ```\n  Then you will be prompted to type `Yes/Y` or `No/N` to set your availability.\n  \n- **View Profile**\n  ```bash\n  whisper profile --username sAl-Areef\n  ```\n\n- **List Active Users**\n  ```bash\n  whisper active_users --username Al-Areef\n  ```\n\n## Contributing\n\nWe welcome contributions! If you have any features or improvements, feel free to open an issue or submit a pull request. Make sure to include tests for your new features or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for more details.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Whisper is a secure, anonymous chat application for the command line, enabling private communication, user profile management, and more\u2014all from your terminal.",
    "version": "1.0.9",
    "project_urls": {
        "Documentation": "https://github.com/NUCCASJNR/Whisper/tree/main/docs",
        "Homepage": "https://github.com/NUCCASJNR/Whisper",
        "Source": "https://github.com/NUCCASJNR/Whisper",
        "Tracker": "https://github.com/NUCCASJNR/Whisper/issues"
    },
    "split_keywords": [
        "anonymous-chat",
        "cli",
        "secure-communication"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4cf44ffc4ab3c5088bc69fcf40e2abf292b82e42ce4bd21b18418a48874edf44",
                "md5": "0fb1185a68f326e1e78e4d863d43a7f6",
                "sha256": "6467179054706cdb4531b4891c7e6ee3fc1df00412e08642c7cb1b47e2226d30"
            },
            "downloads": -1,
            "filename": "whisper_chat-1.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0fb1185a68f326e1e78e4d863d43a7f6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 6228,
            "upload_time": "2024-10-17T09:35:44",
            "upload_time_iso_8601": "2024-10-17T09:35:44.400833Z",
            "url": "https://files.pythonhosted.org/packages/4c/f4/4ffc4ab3c5088bc69fcf40e2abf292b82e42ce4bd21b18418a48874edf44/whisper_chat-1.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc0fedff8e12e0c4fdecdda7b3333e10ac3a036c217712e8fd3e6f9a234d1d7b",
                "md5": "007ac1b1d2cd4701db35587194176ba2",
                "sha256": "4e1f7b045f27a8520e1e66b2320b206fedb21309a8a08fcede0e1eeb8ebd8cea"
            },
            "downloads": -1,
            "filename": "whisper_chat-1.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "007ac1b1d2cd4701db35587194176ba2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 5584,
            "upload_time": "2024-10-17T09:35:48",
            "upload_time_iso_8601": "2024-10-17T09:35:48.793374Z",
            "url": "https://files.pythonhosted.org/packages/dc/0f/edff8e12e0c4fdecdda7b3333e10ac3a036c217712e8fd3e6f9a234d1d7b/whisper_chat-1.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-17 09:35:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NUCCASJNR",
    "github_project": "Whisper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "amqp",
            "specs": [
                [
                    "==",
                    "5.2.0"
                ]
            ]
        },
        {
            "name": "asgiref",
            "specs": [
                [
                    "==",
                    "3.8.1"
                ]
            ]
        },
        {
            "name": "async-timeout",
            "specs": [
                [
                    "==",
                    "4.0.3"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "23.2.0"
                ]
            ]
        },
        {
            "name": "autobahn",
            "specs": [
                [
                    "==",
                    "23.6.2"
                ]
            ]
        },
        {
            "name": "Automat",
            "specs": [
                [
                    "==",
                    "22.10.0"
                ]
            ]
        },
        {
            "name": "billiard",
            "specs": [
                [
                    "==",
                    "4.2.0"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    "==",
                    "24.10.0"
                ]
            ]
        },
        {
            "name": "celery",
            "specs": [
                [
                    "==",
                    "5.3.6"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2023.11.17"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "channels",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "channels-redis",
            "specs": [
                [
                    "==",
                    "4.2.0"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.3.2"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "click-didyoumean",
            "specs": [
                [
                    "==",
                    "0.3.0"
                ]
            ]
        },
        {
            "name": "click-plugins",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "click-repl",
            "specs": [
                [
                    "==",
                    "0.3.0"
                ]
            ]
        },
        {
            "name": "cloudinary",
            "specs": [
                [
                    "==",
                    "1.39.0"
                ]
            ]
        },
        {
            "name": "constantly",
            "specs": [
                [
                    "==",
                    "23.10.4"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "42.0.3"
                ]
            ]
        },
        {
            "name": "daphne",
            "specs": [
                [
                    "==",
                    "4.1.2"
                ]
            ]
        },
        {
            "name": "Django",
            "specs": [
                [
                    "==",
                    "5.0.8"
                ]
            ]
        },
        {
            "name": "django-channels",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "django-cors-headers",
            "specs": [
                [
                    "==",
                    "4.3.1"
                ]
            ]
        },
        {
            "name": "django-redis",
            "specs": [
                [
                    "==",
                    "5.4.0"
                ]
            ]
        },
        {
            "name": "django-rest-framework",
            "specs": [
                [
                    "==",
                    "0.1.0"
                ]
            ]
        },
        {
            "name": "django-restframework",
            "specs": [
                [
                    "==",
                    "0.0.1"
                ]
            ]
        },
        {
            "name": "djangorestframework",
            "specs": [
                [
                    "==",
                    "3.14.0"
                ]
            ]
        },
        {
            "name": "djangorestframework-simplejwt",
            "specs": [
                [
                    "==",
                    "5.3.1"
                ]
            ]
        },
        {
            "name": "docutils",
            "specs": [
                [
                    "==",
                    "0.21.2"
                ]
            ]
        },
        {
            "name": "drf-yasg",
            "specs": [
                [
                    "==",
                    "1.21.7"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.2.1"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    "==",
                    "7.1.1"
                ]
            ]
        },
        {
            "name": "gunicorn",
            "specs": [
                [
                    "==",
                    "21.2.0"
                ]
            ]
        },
        {
            "name": "honeybadger",
            "specs": [
                [
                    "==",
                    "0.19.0"
                ]
            ]
        },
        {
            "name": "hyperlink",
            "specs": [
                [
                    "==",
                    "21.0.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.6"
                ]
            ]
        },
        {
            "name": "importlib_metadata",
            "specs": [
                [
                    "==",
                    "8.5.0"
                ]
            ]
        },
        {
            "name": "incremental",
            "specs": [
                [
                    "==",
                    "22.10.0"
                ]
            ]
        },
        {
            "name": "inflection",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "iniconfig",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "isort",
            "specs": [
                [
                    "==",
                    "5.13.2"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco.context",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco.functools",
            "specs": [
                [
                    "==",
                    "4.1.0"
                ]
            ]
        },
        {
            "name": "jeepney",
            "specs": [
                [
                    "==",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.4.1"
                ]
            ]
        },
        {
            "name": "kombu",
            "specs": [
                [
                    "==",
                    "5.3.5"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "3.0.0"
                ]
            ]
        },
        {
            "name": "mccabe",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.5.0"
                ]
            ]
        },
        {
            "name": "msgpack",
            "specs": [
                [
                    "==",
                    "1.0.8"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "mysqlclient",
            "specs": [
                [
                    "==",
                    "2.2.1"
                ]
            ]
        },
        {
            "name": "nh3",
            "specs": [
                [
                    "==",
                    "0.2.18"
                ]
            ]
        },
        {
            "name": "oauthlib",
            "specs": [
                [
                    "==",
                    "3.2.2"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "23.2"
                ]
            ]
        },
        {
            "name": "pathspec",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "10.2.0"
                ]
            ]
        },
        {
            "name": "pkginfo",
            "specs": [
                [
                    "==",
                    "1.10.0"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.6"
                ]
            ]
        },
        {
            "name": "pluggy",
            "specs": [
                [
                    "==",
                    "1.5.0"
                ]
            ]
        },
        {
            "name": "prompt-toolkit",
            "specs": [
                [
                    "==",
                    "3.0.43"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "5.9.8"
                ]
            ]
        },
        {
            "name": "psycopg2-binary",
            "specs": [
                [
                    "==",
                    "2.9.9"
                ]
            ]
        },
        {
            "name": "pyasn1",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "pyasn1-modules",
            "specs": [
                [
                    "==",
                    "0.3.0"
                ]
            ]
        },
        {
            "name": "pycodestyle",
            "specs": [
                [
                    "==",
                    "2.12.1"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.21"
                ]
            ]
        },
        {
            "name": "pyflakes",
            "specs": [
                [
                    "==",
                    "3.2.0"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "PyJWT",
            "specs": [
                [
                    "==",
                    "2.8.0"
                ]
            ]
        },
        {
            "name": "pyOpenSSL",
            "specs": [
                [
                    "==",
                    "24.0.0"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    "==",
                    "8.2.1"
                ]
            ]
        },
        {
            "name": "pytest-django",
            "specs": [
                [
                    "==",
                    "4.8.0"
                ]
            ]
        },
        {
            "name": "pytest-mock",
            "specs": [
                [
                    "==",
                    "3.14.0"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.8.2"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2023.3.post1"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "readme_renderer",
            "specs": [
                [
                    "==",
                    "44.0"
                ]
            ]
        },
        {
            "name": "redis",
            "specs": [
                [
                    "==",
                    "5.0.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "requests-oauthlib",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "requests-toolbelt",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "rfc3986",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "13.9.2"
                ]
            ]
        },
        {
            "name": "SecretStorage",
            "specs": [
                [
                    "==",
                    "3.3.3"
                ]
            ]
        },
        {
            "name": "service-identity",
            "specs": [
                [
                    "==",
                    "24.1.0"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "75.1.0"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "sqlparse",
            "specs": [
                [
                    "==",
                    "0.4.4"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    "==",
                    "5.1.1"
                ]
            ]
        },
        {
            "name": "Twisted",
            "specs": [
                [
                    "==",
                    "23.10.0"
                ]
            ]
        },
        {
            "name": "txaio",
            "specs": [
                [
                    "==",
                    "23.1.1"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "tzdata",
            "specs": [
                [
                    "==",
                    "2024.1"
                ]
            ]
        },
        {
            "name": "uritemplate",
            "specs": [
                [
                    "==",
                    "4.1.1"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "vine",
            "specs": [
                [
                    "==",
                    "5.1.0"
                ]
            ]
        },
        {
            "name": "wcwidth",
            "specs": [
                [
                    "==",
                    "0.2.13"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    "==",
                    "0.44.0"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.20.2"
                ]
            ]
        },
        {
            "name": "zope.interface",
            "specs": [
                [
                    "==",
                    "6.2"
                ]
            ]
        }
    ],
    "lcname": "whisper-chat"
}
        
Elapsed time: 1.19679s