pycord-quart


Namepycord-quart JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/ParrotXray/pycord-quart
SummaryA pycord extension for Discord OAuth2 authentication in Quart applications.
upload_time2025-07-09 05:53:41
maintainerNone
docs_urlNone
authorParrotXray
requires_python>=3.10
licenseMIT
keywords discord ipc quart websocket asyncio py-cord
VCS
bugtrack_url
requirements aiohttp typing-extensions py-cord pydantic quart-cors quart
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pycord-quart
A pycord extension for Discord OAuth2 authentication in Quart applications.

# Installation 
Python >= 3.10.x is required.
```bash=
# Windows
pip install --upgrade pycord-quart

# Linux
pip3 install --upgrade pycord-quart
```
# Examples
```py= 
from quart import Quart, request, session, redirect, url_for, jsonify
from pycord.ipc import Client
from pycord.quart import DiscordAuth, require_auth, get_current_user

app = Quart(__name__)
ipc_client = Client(secret_key=<"your IPCSecret">, host=<"your IPC Server IP">, port=<"your IPC Server Port">)

app.config["SECRET_KEY"] = <"your SecretKey">

discord_auth = DiscordAuth(
    client_id=<"your DiscordClientID">,
    client_secret=<"your DiscordClientSecret">,
    redirect_uri=<"your DiscordRedirectURI">,
    scopes=['identify', 'email', 'guilds'],
)

@app.route("/api/auth/login", methods=["GET"])
async def api_login():
    response = await discord_auth.login_handler()
    
    return jsonify(response.to_json), response.code

@app.route("/api/auth/callback", methods=["GET"])
async def api_callback():
    response = await discord_auth.callback_handler()

    return jsonify(response.to_json), response.code

@app.route("/api/auth/logout", methods=["POST"])
async def api_logout():
    response = await discord_auth.logout_handler()

    return jsonify(response.to_json), response.code

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080, debug=True)
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ParrotXray/pycord-quart",
    "name": "pycord-quart",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "discord, ipc, quart, websocket, asyncio, py-cord",
    "author": "ParrotXray",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f3/5f/c7e05b1bff3b75d383fcf2bace45cf72db115c3f781b720744ccc4d6683a/pycord_quart-0.1.0.tar.gz",
    "platform": null,
    "description": "# pycord-quart\r\nA pycord extension for Discord OAuth2 authentication in Quart applications.\r\n\r\n# Installation \r\nPython >= 3.10.x is required.\r\n```bash=\r\n# Windows\r\npip install --upgrade pycord-quart\r\n\r\n# Linux\r\npip3 install --upgrade pycord-quart\r\n```\r\n# Examples\r\n```py= \r\nfrom quart import Quart, request, session, redirect, url_for, jsonify\r\nfrom pycord.ipc import Client\r\nfrom pycord.quart import DiscordAuth, require_auth, get_current_user\r\n\r\napp = Quart(__name__)\r\nipc_client = Client(secret_key=<\"your IPCSecret\">, host=<\"your IPC Server IP\">, port=<\"your IPC Server Port\">)\r\n\r\napp.config[\"SECRET_KEY\"] = <\"your SecretKey\">\r\n\r\ndiscord_auth = DiscordAuth(\r\n    client_id=<\"your DiscordClientID\">,\r\n    client_secret=<\"your DiscordClientSecret\">,\r\n    redirect_uri=<\"your DiscordRedirectURI\">,\r\n    scopes=['identify', 'email', 'guilds'],\r\n)\r\n\r\n@app.route(\"/api/auth/login\", methods=[\"GET\"])\r\nasync def api_login():\r\n    response = await discord_auth.login_handler()\r\n    \r\n    return jsonify(response.to_json), response.code\r\n\r\n@app.route(\"/api/auth/callback\", methods=[\"GET\"])\r\nasync def api_callback():\r\n    response = await discord_auth.callback_handler()\r\n\r\n    return jsonify(response.to_json), response.code\r\n\r\n@app.route(\"/api/auth/logout\", methods=[\"POST\"])\r\nasync def api_logout():\r\n    response = await discord_auth.logout_handler()\r\n\r\n    return jsonify(response.to_json), response.code\r\n\r\nif __name__ == \"__main__\":\r\n    app.run(host=\"0.0.0.0\", port=8080, debug=True)\r\n```\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A pycord extension for Discord OAuth2 authentication in Quart applications.",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/ParrotXray/pycord-quart",
        "Issue Tracker": "https://github.com/ParrotXray/pycord-quart/issues",
        "Repository": "https://github.com/ParrotXray/pycord-quart",
        "Source": "https://github.com/ParrotXray/pycord-quart"
    },
    "split_keywords": [
        "discord",
        " ipc",
        " quart",
        " websocket",
        " asyncio",
        " py-cord"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b73390eecfcb3a3e7c0ebee8204fef8100fd2fe8addc30fb4a6ce1b3e8e0f011",
                "md5": "8e4db33e51e6fb1488554833daa98472",
                "sha256": "6b633c36b78cc51ec7aa1d766094909396c2b680138112fd58f05000e0f8eb73"
            },
            "downloads": -1,
            "filename": "pycord_quart-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8e4db33e51e6fb1488554833daa98472",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 8813,
            "upload_time": "2025-07-09T05:53:40",
            "upload_time_iso_8601": "2025-07-09T05:53:40.546291Z",
            "url": "https://files.pythonhosted.org/packages/b7/33/90eecfcb3a3e7c0ebee8204fef8100fd2fe8addc30fb4a6ce1b3e8e0f011/pycord_quart-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f35fc7e05b1bff3b75d383fcf2bace45cf72db115c3f781b720744ccc4d6683a",
                "md5": "5be66f1b5f1e8a2cbcdd620ad555d35b",
                "sha256": "486a21eb8fd5deaa9715a1adc94d2a2d11013f211c55d06a0063e9b1469494f7"
            },
            "downloads": -1,
            "filename": "pycord_quart-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5be66f1b5f1e8a2cbcdd620ad555d35b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 10491,
            "upload_time": "2025-07-09T05:53:41",
            "upload_time_iso_8601": "2025-07-09T05:53:41.893440Z",
            "url": "https://files.pythonhosted.org/packages/f3/5f/c7e05b1bff3b75d383fcf2bace45cf72db115c3f781b720744ccc4d6683a/pycord_quart-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-09 05:53:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ParrotXray",
    "github_project": "pycord-quart",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": []
        },
        {
            "name": "typing-extensions",
            "specs": []
        },
        {
            "name": "py-cord",
            "specs": []
        },
        {
            "name": "pydantic",
            "specs": []
        },
        {
            "name": "quart-cors",
            "specs": []
        },
        {
            "name": "quart",
            "specs": []
        }
    ],
    "lcname": "pycord-quart"
}
        
Elapsed time: 1.35599s