{"id":13411776,"url":"https://github.com/PagerDuty/pdpyras","last_synced_at":"2025-03-14T17:31:07.096Z","repository":{"id":32786792,"uuid":"136546659","full_name":"PagerDuty/pdpyras","owner":"PagerDuty","description":"Low-level PagerDuty REST/Events API client for Python","archived":false,"fork":false,"pushed_at":"2025-01-03T17:02:53.000Z","size":1334,"stargazers_count":133,"open_issues_count":0,"forks_count":28,"subscribers_count":120,"default_branch":"main","last_synced_at":"2025-03-09T23:27:00.198Z","etag":null,"topics":["in-scope","pagerduty","python","type-library"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PagerDuty.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"docs/contributing.html","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-08T00:45:28.000Z","updated_at":"2025-01-23T06:23:14.000Z","dependencies_parsed_at":"2024-06-18T15:27:08.769Z","dependency_job_id":"1a40f198-798d-49fe-90ea-39ee10ac704c","html_url":"https://github.com/PagerDuty/pdpyras","commit_stats":{"total_commits":212,"total_committers":12,"mean_commits":"17.666666666666668","dds":0.08490566037735847,"last_synced_commit":"d39593657a9b9154c772175555e72711b4dc4af5"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PagerDuty%2Fpdpyras","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PagerDuty%2Fpdpyras/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PagerDuty%2Fpdpyras/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PagerDuty%2Fpdpyras/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PagerDuty","download_url":"https://codeload.github.com/PagerDuty/pdpyras/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243618659,"owners_count":20320273,"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":["in-scope","pagerduty","python","type-library"],"created_at":"2024-07-30T20:01:16.815Z","updated_at":"2025-03-14T17:31:07.088Z","avatar_url":"https://github.com/PagerDuty.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"===========================================\nPDPYRAS: PagerDuty Python REST API Sessions\n===========================================\n\n**DEPRECATED:** Please use `python-pagerduty\n\u003chttps://pagerduty.github.io/python-pagerduty\u003e`_ for new projects instead, and\nfor existing projects, refer to the `PDPYRAS Migration Guide\n\u003chttps://pagerduty.github.io/python-pagerduty/pdpyras_migration_guide.html\u003e`_.\n\nA module that supplies lightweight Python clients for the PagerDuty REST API v2 and Events API v2.\n\nFor how-to, refer to the `User Guide\n\u003chttps://pagerduty.github.io/pdpyras/user_guide.html\u003e`_.\n\n|circleci-build|\n\nOverview\n--------\nThis library supplies classes extending `requests.Session`_ from the Requests_\nHTTP library that serve as Python interfaces to the `REST API v2`_ and `Events\nAPI v2`_ of PagerDuty. One might call it an opinionated wrapper library. It was\ndesigned with the philosophy that Requests_ is a perfectly adequate HTTP\nclient, and that abstraction should focus only on the most generally applicable\nand frequently-implemented core features, requirements and tasks. Design\ndecisions concerning how any particular PagerDuty resource is accessed or\nmanipulated through APIs are left to the user or implementer to make.\n\nFeatures\n--------\n- Uses Requests' automatic HTTP connection pooling and persistence\n- Tested in / support for Python 3.6 through 3.13\n- Abstraction layer for authentication, pagination, filtering and wrapped\n  entities\n- Configurable cooldown/reattempt logic for handling rate limiting and\n  transient HTTP or network issues\n\nHistory\n-------\nThis module was borne of necessity for a basic API client to eliminate code\nduplication in some of PagerDuty Support's internal Python-based API tooling.\n\nWe found ourselves frequently performing REST API requests using beta or\nnon-documented API endpoints for one reason or another, so we needed the client\nthat provided easy access to features of the underlying HTTP library (i.e. to\nobtain the response headers, or set special request headers). We also needed\nsomething that eliminated tedious tasks like querying objects by name,\npagination and authentication. Finally, we discovered that the way we were\nusing `Requests`_ wasn't making use of its connection pooling feature, and\nwanted a way to easily enforce this as a standard practice.\n\nWe evaluated at the time a few other open-source API libraries and deemed them\nto be either overkill for our purposes or not giving the implementer enough\ncontrol over how API calls were made.\n\nLicense\n-------\nAll the code in this distribution is Copyright (c) 2023 PagerDuty.\n\n``pdpyras`` is made available under the MIT License:\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in\n    all copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n    THE SOFTWARE.\n\nWarranty\n--------\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n    THE SOFTWARE.\n\n.. References:\n.. -----------\n\n.. _`Requests`: https://docs.python-requests.org/en/master/\n.. _`Errors`: https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTYz-errors\n.. _`Events API v2`: https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgw-events-api-v2-overview\n.. _`PagerDuty API Reference`: https://developer.pagerduty.com/api-reference/\n.. _`REST API v2`: https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTUw-rest-api-v2-overview\n.. _`setuptools`: https://pypi.org/project/setuptools/\n.. _requests.Response: https://docs.python-requests.org/en/master/api/#requests.Response\n.. _requests.Session: https://docs.python-requests.org/en/master/api/#request-sessions\n\n.. |circleci-build| image:: https://circleci.com/gh/PagerDuty/pdpyras.svg?style=svg\n    :target: https://circleci.com/gh/PagerDuty/pdpyras\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPagerDuty%2Fpdpyras","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPagerDuty%2Fpdpyras","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPagerDuty%2Fpdpyras/lists"}