prowlpy


Nameprowlpy JSON
Version 1.1.3 PyPI version JSON
download
home_pageNone
SummaryProwlpy is a python library that implements the public api of Prowl to send push notification to iPhones.
upload_time2025-10-22 04:26:59
maintainerNone
docs_urlNone
authorOMEGA_RAZER
requires_python>=3.10
licenseNone
keywords prowl push notification iphone
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Prowlpy

[![PyPI Status](https://img.shields.io/pypi/status/prowlpy?logo=PyPI)](https://pypi.python.org/pypi/prowlpy)
[![PyPI version](https://img.shields.io/pypi/v/prowlpy.svg?logo=PyPI)](https://pypi.python.org/pypi/prowlpy)
[![Python Test](https://github.com/OMEGARAZER/prowlpy/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/OMEGARAZER/prowlpy/actions/workflows/test.yml)
[![linting: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&label=linting)](https://github.com/astral-sh/ruff)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=Python)](https://github.com/astral-sh/ruff)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)

Python library to interface with the [Prowl](https://www.prowlapp.com/) API.

## Installation

Prowlpy is installable as a library to be used within scripts or apps or with a CLI to send messages from the command line.

To install user/system wide use `pip install prowlpy` otherwise add it as normal to your pyproject.toml or requirements.txt

The CLI is not installed by default. You can include it when installing. Using [uv](https://github.com/astral-sh/uv) you would use this command:

```bash
uv tool install prowlpy[cli]
```

## Usage

Prowlpy can be used in multiple ways.

### library

#### Sync or Async

Both sync and async versions of the library are available. To use async, replace Prowl with AsyncProwl

#### Sending messages

```python
from prowlpy import Prowl

apikey = "1234567890123456789012345678901234567890"
p = Prowl(apikey=apikey)
p.send(application="Test App", event="Test Event", description="The testing event has failed")
```

Prowlpy can also be used within a context manager:

```python
from prowlpy import Prowl

apikey = "1234567890123456789012345678901234567890"
with Prowl(apikey=apikey) as p:
    p.send(application="Test App", event="Test Event", description="The testing event has failed")
```

#### Verify API key(s)

Prowlpy can also be used to verify an API key before sending a message or as a testing step like this:

```python
from prowlpy import Prowl

apikey = "1234567890123456789012345678901234567890"
p = Prowl(apikey=apikey)
p.verify_key()
```

If the key is not valid or an error occurs an APIError Exception will be raised.

#### Generate API Key(s)

Prowlpy can be used to generate API keys for users if you have a valid providerkey with a process similar to this:

```python
from prowlpy import Prowl

providerkey = "0987654321098765432109876543210987654321"
p = Prowl(providerkey=providerkey)
token_response = p.retrieve_token()
print(token_response["url"])
```

The user that the key is being created for will need to fillow the link provided and accept then the key can be created on the account with:

```python
...
apikey_respose = p.retrieve_apikey(token=token_response["token"])
print(apikey_response["apikey"])
```

### CLI

The CLI can be used to send massages via Prowl like this:

```bash
prowlpy --apikey="1234567890123456789012345678901234567890" --application="Test App" --event="Testing" --description="This is a test message"
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "prowlpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "prowl, push, notification, iphone",
    "author": "OMEGA_RAZER",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/74/2e/de01c1acda450986d33d9cd4774b4b8541434b19cff7628f86793acfb015/prowlpy-1.1.3.tar.gz",
    "platform": null,
    "description": "# Prowlpy\n\n[![PyPI Status](https://img.shields.io/pypi/status/prowlpy?logo=PyPI)](https://pypi.python.org/pypi/prowlpy)\n[![PyPI version](https://img.shields.io/pypi/v/prowlpy.svg?logo=PyPI)](https://pypi.python.org/pypi/prowlpy)\n[![Python Test](https://github.com/OMEGARAZER/prowlpy/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/OMEGARAZER/prowlpy/actions/workflows/test.yml)\n[![linting: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&label=linting)](https://github.com/astral-sh/ruff)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?logo=Python)](https://github.com/astral-sh/ruff)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)\n\nPython library to interface with the [Prowl](https://www.prowlapp.com/) API.\n\n## Installation\n\nProwlpy is installable as a library to be used within scripts or apps or with a CLI to send messages from the command line.\n\nTo install user/system wide use `pip install prowlpy` otherwise add it as normal to your pyproject.toml or requirements.txt\n\nThe CLI is not installed by default. You can include it when installing. Using [uv](https://github.com/astral-sh/uv) you would use this command:\n\n```bash\nuv tool install prowlpy[cli]\n```\n\n## Usage\n\nProwlpy can be used in multiple ways.\n\n### library\n\n#### Sync or Async\n\nBoth sync and async versions of the library are available. To use async, replace Prowl with AsyncProwl\n\n#### Sending messages\n\n```python\nfrom prowlpy import Prowl\n\napikey = \"1234567890123456789012345678901234567890\"\np = Prowl(apikey=apikey)\np.send(application=\"Test App\", event=\"Test Event\", description=\"The testing event has failed\")\n```\n\nProwlpy can also be used within a context manager:\n\n```python\nfrom prowlpy import Prowl\n\napikey = \"1234567890123456789012345678901234567890\"\nwith Prowl(apikey=apikey) as p:\n    p.send(application=\"Test App\", event=\"Test Event\", description=\"The testing event has failed\")\n```\n\n#### Verify API key(s)\n\nProwlpy can also be used to verify an API key before sending a message or as a testing step like this:\n\n```python\nfrom prowlpy import Prowl\n\napikey = \"1234567890123456789012345678901234567890\"\np = Prowl(apikey=apikey)\np.verify_key()\n```\n\nIf the key is not valid or an error occurs an APIError Exception will be raised.\n\n#### Generate API Key(s)\n\nProwlpy can be used to generate API keys for users if you have a valid providerkey with a process similar to this:\n\n```python\nfrom prowlpy import Prowl\n\nproviderkey = \"0987654321098765432109876543210987654321\"\np = Prowl(providerkey=providerkey)\ntoken_response = p.retrieve_token()\nprint(token_response[\"url\"])\n```\n\nThe user that the key is being created for will need to fillow the link provided and accept then the key can be created on the account with:\n\n```python\n...\napikey_respose = p.retrieve_apikey(token=token_response[\"token\"])\nprint(apikey_response[\"apikey\"])\n```\n\n### CLI\n\nThe CLI can be used to send massages via Prowl like this:\n\n```bash\nprowlpy --apikey=\"1234567890123456789012345678901234567890\" --application=\"Test App\" --event=\"Testing\" --description=\"This is a test message\"\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Prowlpy is a python library that implements the public api of Prowl to send push notification to iPhones.",
    "version": "1.1.3",
    "project_urls": {
        "Bug Reports": "https://github.com/OMEGARAZER/prowlpy/issues",
        "Homepage": "https://omegarazer.github.io/prowlpy",
        "Source": "https://github.com/OMEGARAZER/prowlpy"
    },
    "split_keywords": [
        "prowl",
        " push",
        " notification",
        " iphone"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b377e27bbf8990bfd7c47a0a30798140e4b55a28d09f89c40c01daa5a0095c32",
                "md5": "8b68aed93c60074a263e7f4ef57e55cf",
                "sha256": "644c453ebd0993a74e51629feef8c8bf4c7903868c9c0ec82678e54f55c1b665"
            },
            "downloads": -1,
            "filename": "prowlpy-1.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8b68aed93c60074a263e7f4ef57e55cf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 21340,
            "upload_time": "2025-10-22T04:26:58",
            "upload_time_iso_8601": "2025-10-22T04:26:58.428798Z",
            "url": "https://files.pythonhosted.org/packages/b3/77/e27bbf8990bfd7c47a0a30798140e4b55a28d09f89c40c01daa5a0095c32/prowlpy-1.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "742ede01c1acda450986d33d9cd4774b4b8541434b19cff7628f86793acfb015",
                "md5": "34214c3e0bea15e82a9359178f9b700b",
                "sha256": "7d4f1b7de6d3c984d5a2e7d032a59ac7aa86c8a0012d0e0ca81ffa87787abc02"
            },
            "downloads": -1,
            "filename": "prowlpy-1.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "34214c3e0bea15e82a9359178f9b700b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 25944,
            "upload_time": "2025-10-22T04:26:59",
            "upload_time_iso_8601": "2025-10-22T04:26:59.361518Z",
            "url": "https://files.pythonhosted.org/packages/74/2e/de01c1acda450986d33d9cd4774b4b8541434b19cff7628f86793acfb015/prowlpy-1.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-22 04:26:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OMEGARAZER",
    "github_project": "prowlpy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "prowlpy"
}
        
Elapsed time: 3.72554s