{"id":20188631,"url":"https://github.com/praw-dev/asyncprawcore","last_synced_at":"2025-04-10T06:51:04.756Z","repository":{"id":43349353,"uuid":"169184610","full_name":"praw-dev/asyncprawcore","owner":"praw-dev","description":"Low-level asynchronous communication layer for Async PRAW 7+.","archived":false,"fork":false,"pushed_at":"2024-04-15T15:07:47.000Z","size":4759,"stargazers_count":6,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-04-22T13:08:45.485Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/praw-dev.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null},"funding":{"github":["praw-dev","bboe","LilSpazJoekp"]}},"created_at":"2019-02-05T03:18:17.000Z","updated_at":"2024-04-01T20:27:56.000Z","dependencies_parsed_at":"2023-01-31T05:31:22.276Z","dependency_job_id":"b95a4dca-6404-4d56-9727-72f24ff5afdb","html_url":"https://github.com/praw-dev/asyncprawcore","commit_stats":{"total_commits":385,"total_committers":21,"mean_commits":"18.333333333333332","dds":"0.49610389610389616","last_synced_commit":"abb531c4475b8084042e3ac2e077c6bc2457916e"},"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praw-dev%2Fasyncprawcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praw-dev%2Fasyncprawcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praw-dev%2Fasyncprawcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/praw-dev%2Fasyncprawcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/praw-dev","download_url":"https://codeload.github.com/praw-dev/asyncprawcore/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325692,"owners_count":20920714,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T03:29:53.969Z","updated_at":"2025-04-10T06:51:04.733Z","avatar_url":"https://github.com/praw-dev.png","language":"Python","readme":".. _main_page:\n\nasyncprawcore\n=============\n\n.. image:: https://img.shields.io/pypi/v/asyncprawcore.svg\n    :alt: Latest asyncprawcore Version\n    :target: https://pypi.python.org/pypi/asyncprawcore\n\n.. image:: https://img.shields.io/pypi/pyversions/asyncprawcore\n    :alt: Supported Python Versions\n    :target: https://pypi.python.org/pypi/asyncprawcore\n\n.. image:: https://img.shields.io/pypi/dm/asyncprawcore\n    :alt: PyPI - Downloads - Monthly\n    :target: https://pypi.python.org/pypi/asyncprawcore\n\n.. image:: https://github.com/praw-dev/asyncprawcore/actions/workflows/ci.yml/badge.svg?event=push\n    :alt: GitHub Actions Status\n    :target: https://github.com/praw-dev/asyncprawcore/actions/workflows/ci.yml\n\n.. image:: https://coveralls.io/repos/github/praw-dev/asyncprawcore/badge.svg\n    :alt: Coveralls Coverage\n    :target: https://coveralls.io/github/praw-dev/asyncprawcore\n\n.. image:: https://api.securityscorecards.dev/projects/github.com/praw-dev/asyncprawcore/badge\n    :alt: OpenSSF Scorecard\n    :target: https://api.securityscorecards.dev/projects/github.com/praw-dev/asyncprawcore\n\n.. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg\n    :alt: Contributor Covenant\n    :target: https://github.com/praw-dev/.github/blob/main/CODE_OF_CONDUCT.md\n\n.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\n    :alt: pre-commit\n    :target: https://github.com/pre-commit/pre-commit\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :alt: Black code style\n    :target: https://github.com/psf/black\n\nasyncprawcore is a low-level communication layer used by Async PRAW 7+.\n\nInstallation\n------------\n\nInstall asyncprawcore using ``pip`` via:\n\n.. code-block:: console\n\n    pip install asyncprawcore\n\nExecution Example\n-----------------\n\nThe following example demonstrates how to use asyncprawcore to obtain the list of\ntrophies for a given user using the script-app type. This example assumes you have the\nenvironment variables ``PRAWCORE_CLIENT_ID`` and ``PRAWCORE_CLIENT_SECRET`` set to the\nappropriate values for your application.\n\n.. code-block:: python\n\n    import os\n    import pprint\n    import asyncio\n    import asyncprawcore\n\n\n    async def main():\n        authenticator = asyncprawcore.TrustedAuthenticator(\n            asyncprawcore.Requestor(\"YOUR_VALID_USER_AGENT\"),\n            os.environ[\"PRAWCORE_CLIENT_ID\"],\n            os.environ[\"PRAWCORE_CLIENT_SECRET\"],\n        )\n        authorizer = asyncprawcore.ReadOnlyAuthorizer(authenticator)\n        await authorizer.refresh()\n\n        async with asyncprawcore.session(authorizer) as session:\n            pprint.pprint(await session.request(\"GET\", \"/api/v1/user/bboe/trophies\"))\n\n\n    if __name__ == \"__main__\":\n        asyncio.run(main())\n\nSave the above as ``trophies.py`` and then execute via:\n\n.. code-block:: console\n\n    python trophies.py\n\nAdditional examples can be found at:\nhttps://github.com/praw-dev/asyncprawcore/tree/main/examples\n\nDepending on asyncprawcore\n--------------------------\n\nasyncprawcore follows `semantic versioning \u003chttps://semver.org/\u003e`_ with the exception\nthat deprecations will not be preceded by a minor release. In essence, expect only major\nversions to introduce breaking changes to asyncprawcore's public interface. As a result,\nif you depend on asyncprawcore then it is a good idea to specify not only the minimum\nversion of asyncprawcore your package requires, but to also limit the major version.\n\nBelow are two examples of how you may want to specify your asyncprawcore dependency:\n\nsetup.py\n~~~~~~~~\n\n.. code-block:: python\n\n    setup(..., install_requires=[\"asyncprawcore \u003e=0.1, \u003c1\"], ...)\n\nrequirements.txt\n~~~~~~~~~~~~~~~~\n\n.. code-block:: text\n\n    asyncprawcore \u003e=1.5.1, \u003c2\n","funding_links":["https://github.com/sponsors/praw-dev","https://github.com/sponsors/bboe","https://github.com/sponsors/LilSpazJoekp"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraw-dev%2Fasyncprawcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpraw-dev%2Fasyncprawcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpraw-dev%2Fasyncprawcore/lists"}