airbyte-source-github 2.1.13__tar.gz → 2.1.14.dev202603041459__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.
Files changed (63) hide show
  1. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/PKG-INFO +1 -1
  2. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/pyproject.toml +1 -1
  3. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/streams.py +24 -1
  4. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/README.md +0 -0
  5. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/__init__.py +0 -0
  6. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/backoff_strategies.py +0 -0
  7. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/config_migrations.py +0 -0
  8. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/constants.py +0 -0
  9. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/errors_handlers.py +0 -0
  10. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/github_schema.py +0 -0
  11. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/graphql.py +0 -0
  12. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/run.py +0 -0
  13. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/assignees.json +0 -0
  14. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/branches.json +0 -0
  15. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/collaborators.json +0 -0
  16. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/comments.json +0 -0
  17. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/commit_comment_reactions.json +0 -0
  18. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/commit_comments.json +0 -0
  19. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/commits.json +0 -0
  20. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/contributor_activity.json +0 -0
  21. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/deployments.json +0 -0
  22. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/events.json +0 -0
  23. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_comment_reactions.json +0 -0
  24. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_events.json +0 -0
  25. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_labels.json +0 -0
  26. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_milestones.json +0 -0
  27. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_reactions.json +0 -0
  28. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issue_timeline_events.json +0 -0
  29. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/issues.json +0 -0
  30. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/organizations.json +0 -0
  31. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/project_cards.json +0 -0
  32. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/project_columns.json +0 -0
  33. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/projects.json +0 -0
  34. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/projects_v2.json +0 -0
  35. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/pull_request_comment_reactions.json +0 -0
  36. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/pull_request_commits.json +0 -0
  37. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/pull_request_stats.json +0 -0
  38. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/pull_requests.json +0 -0
  39. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/releases.json +0 -0
  40. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/repositories.json +0 -0
  41. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/review_comments.json +0 -0
  42. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/reviews.json +0 -0
  43. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/events/comment.json +0 -0
  44. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/events/commented.json +0 -0
  45. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/events/committed.json +0 -0
  46. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/events/cross_referenced.json +0 -0
  47. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/events/reviewed.json +0 -0
  48. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/reaction.json +0 -0
  49. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/reactions.json +0 -0
  50. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/user.json +0 -0
  51. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/shared/user_graphql.json +0 -0
  52. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/stargazers.json +0 -0
  53. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/tags.json +0 -0
  54. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/team_members.json +0 -0
  55. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/team_memberships.json +0 -0
  56. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/teams.json +0 -0
  57. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/users.json +0 -0
  58. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/workflow_jobs.json +0 -0
  59. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/workflow_runs.json +0 -0
  60. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/schemas/workflows.json +0 -0
  61. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/source.py +0 -0
  62. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/spec.json +0 -0
  63. {airbyte_source_github-2.1.13 → airbyte_source_github-2.1.14.dev202603041459}/source_github/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: airbyte-source-github
3
- Version: 2.1.13
3
+ Version: 2.1.14.dev202603041459
4
4
  Summary: Source implementation for GitHub.
5
5
  Home-page: https://airbyte.com
6
6
  License: ELv2
@@ -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.13"
6
+ version = "2.1.14.dev.202603041459"
7
7
  name = "airbyte-source-github"
8
8
  description = "Source implementation for GitHub."
9
9
  authors = [ "Airbyte <contact@airbyte.io>",]
@@ -925,7 +925,30 @@ class PullRequestStats(SemiIncrementalMixin, GitHubGraphQLStream):
925
925
  """
926
926
 
927
927
  large_stream = True
928
- is_sorted = "asc"
928
+
929
+ def __init__(self, **kwargs):
930
+ super().__init__(**kwargs)
931
+ self._first_read = True
932
+
933
+ def read_records(self, stream_state: Mapping[str, Any] = None, **kwargs) -> Iterable[Mapping[str, Any]]:
934
+ """
935
+ Decide if this is a first read or not by the presence of the state object
936
+ """
937
+ self._first_read = not bool(stream_state)
938
+ yield from super().read_records(stream_state=stream_state, **kwargs)
939
+
940
+ @property
941
+ def is_sorted(self) -> str:
942
+ """
943
+ On first read (no state), use ascending order with checkpoint support.
944
+ On subsequent reads (has state), use descending order so newest records come first,
945
+ allowing early exit when we reach already-seen records.
946
+ This avoids re-reading all historical records on incremental syncs,
947
+ which was causing rate limit exhaustion and heartbeat timeouts for large organizations.
948
+ """
949
+ if self._first_read:
950
+ return "asc"
951
+ return "desc"
929
952
 
930
953
  def parse_response(self, response: requests.Response, **kwargs) -> Iterable[Mapping]:
931
954
  repository = response.json()["data"]["repository"]