airbyte-source-github 2.1.17__tar.gz → 2.1.19__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/PKG-INFO +1 -1
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/pyproject.toml +1 -1
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/errors_handlers.py +3 -3
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/streams.py +6 -3
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/README.md +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/__init__.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/backoff_strategies.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/config_migrations.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/constants.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/github_schema.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/graphql.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/run.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/assignees.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/branches.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/collaborators.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/comments.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/commit_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/commit_comments.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/commits.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/contributor_activity.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/deployments.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/events.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_events.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_labels.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_milestones.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_reactions.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issue_timeline_events.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issues.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/organizations.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/project_cards.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/project_columns.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/projects.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/projects_v2.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/pull_request_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/pull_request_commits.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/pull_request_stats.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/pull_requests.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/releases.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/repositories.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/review_comments.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/reviews.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/events/comment.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/events/commented.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/events/committed.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/events/cross_referenced.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/events/reviewed.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/reaction.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/reactions.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/user.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/user_graphql.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/stargazers.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/tags.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/team_members.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/team_memberships.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/teams.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/users.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/workflow_jobs.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/workflow_runs.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/workflows.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/source.py +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/spec.json +0 -0
- {airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/utils.py +0 -0
|
@@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
|
|
|
3
3
|
build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
|
5
5
|
[tool.poetry]
|
|
6
|
-
version = "2.1.
|
|
6
|
+
version = "2.1.19"
|
|
7
7
|
name = "airbyte-source-github"
|
|
8
8
|
description = "Source implementation for GitHub."
|
|
9
9
|
authors = [ "Airbyte <contact@airbyte.io>",]
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/errors_handlers.py
RENAMED
|
@@ -21,9 +21,9 @@ GITHUB_DEFAULT_ERROR_MAPPING = DEFAULT_ERROR_MAPPING | {
|
|
|
21
21
|
error_message="Conflict.",
|
|
22
22
|
),
|
|
23
23
|
403: ErrorResolution(
|
|
24
|
-
response_action=ResponseAction.
|
|
24
|
+
response_action=ResponseAction.FAIL,
|
|
25
25
|
failure_type=FailureType.config_error,
|
|
26
|
-
error_message="
|
|
26
|
+
error_message="Access denied due to insufficient permissions.",
|
|
27
27
|
),
|
|
28
28
|
404: ErrorResolution(
|
|
29
29
|
response_action=ResponseAction.RETRY,
|
|
@@ -106,7 +106,7 @@ class GithubStreamABCErrorHandler(HttpStatusErrorHandler):
|
|
|
106
106
|
return super().interpret_response(response_or_exception)
|
|
107
107
|
|
|
108
108
|
|
|
109
|
-
class ContributorActivityErrorHandler(
|
|
109
|
+
class ContributorActivityErrorHandler(GithubStreamABCErrorHandler):
|
|
110
110
|
"""
|
|
111
111
|
This custom error handler is needed for streams based on repository statistics endpoints like ContributorActivity because
|
|
112
112
|
when requesting data that hasn't been cached yet when the request is made, you'll receive a 202 response. And these requests
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#
|
|
4
4
|
|
|
5
5
|
import base64
|
|
6
|
+
import binascii
|
|
6
7
|
import re
|
|
7
8
|
import struct
|
|
8
9
|
from abc import ABC, abstractmethod
|
|
@@ -137,7 +138,7 @@ class GithubStreamABC(HttpStream, ABC):
|
|
|
137
138
|
# This whole try/except situation in `read_records()` isn't good but right now in `self._send_request()`
|
|
138
139
|
# function we have `response.raise_for_status()` so we don't have much choice on how to handle errors.
|
|
139
140
|
# Bocked on https://github.com/airbytehq/airbyte/issues/3514.
|
|
140
|
-
if not hasattr(e, "_exception")
|
|
141
|
+
if not hasattr(e, "_exception") or not hasattr(e._exception, "response"):
|
|
141
142
|
raise e
|
|
142
143
|
if e._exception.response.status_code == requests.codes.NOT_FOUND:
|
|
143
144
|
# A lot of streams are not available for repositories owned by a user instead of an organization.
|
|
@@ -827,7 +828,7 @@ class Releases(SemiIncrementalMixin, GitHubGraphQLStream):
|
|
|
827
828
|
decoded = base64.urlsafe_b64decode(encoded + "==")
|
|
828
829
|
if len(decoded) >= 4:
|
|
829
830
|
return struct.unpack(">I", decoded[-4:])[0]
|
|
830
|
-
except
|
|
831
|
+
except (ValueError, struct.error, binascii.Error):
|
|
831
832
|
return None
|
|
832
833
|
return None
|
|
833
834
|
|
|
@@ -1787,7 +1788,7 @@ class ContributorActivity(GithubStream):
|
|
|
1787
1788
|
return record
|
|
1788
1789
|
|
|
1789
1790
|
def get_error_handler(self) -> Optional[ErrorHandler]:
|
|
1790
|
-
return ContributorActivityErrorHandler(logger=self.logger, max_retries=5, error_mapping=GITHUB_DEFAULT_ERROR_MAPPING)
|
|
1791
|
+
return ContributorActivityErrorHandler(stream=self, logger=self.logger, max_retries=5, error_mapping=GITHUB_DEFAULT_ERROR_MAPPING)
|
|
1791
1792
|
|
|
1792
1793
|
def get_backoff_strategy(self) -> Optional[Union[BackoffStrategy, List[BackoffStrategy]]]:
|
|
1793
1794
|
return ContributorActivityBackoffStrategy()
|
|
@@ -1828,6 +1829,8 @@ class ContributorActivity(GithubStream):
|
|
|
1828
1829
|
partition_obj = stream_slice.get("partition")
|
|
1829
1830
|
if self.cursor and partition_obj:
|
|
1830
1831
|
self.cursor.close_slice(StreamSlice(cursor_slice={}, partition=partition_obj))
|
|
1832
|
+
else:
|
|
1833
|
+
raise e
|
|
1831
1834
|
else:
|
|
1832
1835
|
raise e
|
|
1833
1836
|
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/backoff_strategies.py
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/config_migrations.py
RENAMED
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/github_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/assignees.json
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/branches.json
RENAMED
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/comments.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/commits.json
RENAMED
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/deployments.json
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/events.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/issues.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/projects.json
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/projects_v2.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/releases.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/reviews.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/shared/user.json
RENAMED
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/stargazers.json
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/tags.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/teams.json
RENAMED
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/users.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.17 → airbyte_source_github-2.1.19}/source_github/schemas/workflows.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|