airbyte-source-github 1.5.7__py3-none-any.whl

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 (88) hide show
  1. airbyte_source_github-1.5.7.dist-info/METADATA +144 -0
  2. airbyte_source_github-1.5.7.dist-info/RECORD +88 -0
  3. airbyte_source_github-1.5.7.dist-info/WHEEL +5 -0
  4. airbyte_source_github-1.5.7.dist-info/entry_points.txt +2 -0
  5. airbyte_source_github-1.5.7.dist-info/top_level.txt +3 -0
  6. integration_tests/__init__.py +0 -0
  7. integration_tests/abnormal_state.json +237 -0
  8. integration_tests/acceptance.py +16 -0
  9. integration_tests/configured_catalog.json +435 -0
  10. integration_tests/configured_catalog_full_refresh_test.json +415 -0
  11. integration_tests/invalid_config.json +5 -0
  12. integration_tests/sample_config.json +5 -0
  13. integration_tests/sample_state.json +137 -0
  14. source_github/__init__.py +27 -0
  15. source_github/config_migrations.py +106 -0
  16. source_github/constants.py +9 -0
  17. source_github/github_schema.py +41034 -0
  18. source_github/graphql.py +327 -0
  19. source_github/run.py +17 -0
  20. source_github/schemas/assignees.json +63 -0
  21. source_github/schemas/branches.json +48 -0
  22. source_github/schemas/collaborators.json +80 -0
  23. source_github/schemas/comments.json +104 -0
  24. source_github/schemas/commit_comment_reactions.json +4 -0
  25. source_github/schemas/commit_comments.json +53 -0
  26. source_github/schemas/commits.json +126 -0
  27. source_github/schemas/contributor_activity.json +109 -0
  28. source_github/schemas/deployments.json +77 -0
  29. source_github/schemas/events.json +63 -0
  30. source_github/schemas/issue_comment_reactions.json +4 -0
  31. source_github/schemas/issue_events.json +335 -0
  32. source_github/schemas/issue_labels.json +30 -0
  33. source_github/schemas/issue_milestones.json +61 -0
  34. source_github/schemas/issue_reactions.json +28 -0
  35. source_github/schemas/issue_timeline_events.json +1056 -0
  36. source_github/schemas/issues.json +281 -0
  37. source_github/schemas/organizations.json +197 -0
  38. source_github/schemas/project_cards.json +50 -0
  39. source_github/schemas/project_columns.json +38 -0
  40. source_github/schemas/projects.json +50 -0
  41. source_github/schemas/projects_v2.json +80 -0
  42. source_github/schemas/pull_request_comment_reactions.json +28 -0
  43. source_github/schemas/pull_request_commits.json +122 -0
  44. source_github/schemas/pull_request_stats.json +84 -0
  45. source_github/schemas/pull_requests.json +363 -0
  46. source_github/schemas/releases.json +126 -0
  47. source_github/schemas/repositories.json +313 -0
  48. source_github/schemas/review_comments.json +118 -0
  49. source_github/schemas/reviews.json +69 -0
  50. source_github/schemas/shared/events/comment.json +188 -0
  51. source_github/schemas/shared/events/commented.json +118 -0
  52. source_github/schemas/shared/events/committed.json +56 -0
  53. source_github/schemas/shared/events/cross_referenced.json +784 -0
  54. source_github/schemas/shared/events/reviewed.json +139 -0
  55. source_github/schemas/shared/reaction.json +27 -0
  56. source_github/schemas/shared/reactions.json +35 -0
  57. source_github/schemas/shared/user.json +59 -0
  58. source_github/schemas/shared/user_graphql.json +26 -0
  59. source_github/schemas/stargazers.json +19 -0
  60. source_github/schemas/tags.json +32 -0
  61. source_github/schemas/team_members.json +66 -0
  62. source_github/schemas/team_memberships.json +24 -0
  63. source_github/schemas/teams.json +50 -0
  64. source_github/schemas/users.json +63 -0
  65. source_github/schemas/workflow_jobs.json +109 -0
  66. source_github/schemas/workflow_runs.json +449 -0
  67. source_github/schemas/workflows.json +41 -0
  68. source_github/source.py +339 -0
  69. source_github/spec.json +179 -0
  70. source_github/streams.py +1678 -0
  71. source_github/utils.py +152 -0
  72. unit_tests/__init__.py +3 -0
  73. unit_tests/conftest.py +29 -0
  74. unit_tests/projects_v2_pull_requests_query.json +3 -0
  75. unit_tests/pull_request_stats_query.json +3 -0
  76. unit_tests/responses/contributor_activity_response.json +33 -0
  77. unit_tests/responses/graphql_reviews_responses.json +405 -0
  78. unit_tests/responses/issue_timeline_events.json +166 -0
  79. unit_tests/responses/issue_timeline_events_response.json +170 -0
  80. unit_tests/responses/projects_v2_response.json +45 -0
  81. unit_tests/responses/pull_request_comment_reactions.json +744 -0
  82. unit_tests/responses/pull_request_stats_response.json +317 -0
  83. unit_tests/test_migrations/test_config.json +8 -0
  84. unit_tests/test_migrations/test_new_config.json +8 -0
  85. unit_tests/test_multiple_token_authenticator.py +160 -0
  86. unit_tests/test_source.py +326 -0
  87. unit_tests/test_stream.py +1471 -0
  88. unit_tests/utils.py +78 -0
@@ -0,0 +1,281 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "repository": {
6
+ "type": "string"
7
+ },
8
+ "id": {
9
+ "type": ["null", "integer"]
10
+ },
11
+ "node_id": {
12
+ "type": ["null", "string"]
13
+ },
14
+ "url": {
15
+ "type": ["null", "string"]
16
+ },
17
+ "repository_url": {
18
+ "type": ["null", "string"]
19
+ },
20
+ "labels_url": {
21
+ "type": ["null", "string"]
22
+ },
23
+ "comments_url": {
24
+ "type": ["null", "string"]
25
+ },
26
+ "events_url": {
27
+ "type": ["null", "string"]
28
+ },
29
+ "html_url": {
30
+ "type": ["null", "string"]
31
+ },
32
+ "number": {
33
+ "type": ["null", "integer"]
34
+ },
35
+ "state": {
36
+ "type": ["null", "string"]
37
+ },
38
+ "title": {
39
+ "type": ["null", "string"]
40
+ },
41
+ "user": {
42
+ "$ref": "user.json"
43
+ },
44
+ "body": {
45
+ "type": ["null", "string"]
46
+ },
47
+ "user_id": {
48
+ "type": ["null", "integer"]
49
+ },
50
+ "labels": {
51
+ "type": ["null", "array"],
52
+ "items": {
53
+ "type": ["null", "object"],
54
+ "properties": {
55
+ "id": {
56
+ "type": ["null", "integer"]
57
+ },
58
+ "node_id": {
59
+ "type": ["null", "string"]
60
+ },
61
+ "url": {
62
+ "type": ["null", "string"]
63
+ },
64
+ "name": {
65
+ "type": ["null", "string"]
66
+ },
67
+ "description": {
68
+ "type": ["null", "string"]
69
+ },
70
+ "color": {
71
+ "type": ["null", "string"]
72
+ },
73
+ "default": {
74
+ "type": ["null", "boolean"]
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "assignee": {
80
+ "$ref": "user.json"
81
+ },
82
+ "assignees": {
83
+ "type": ["null", "array"],
84
+ "items": {
85
+ "$ref": "user.json"
86
+ }
87
+ },
88
+ "milestone": {
89
+ "type": ["null", "object"],
90
+ "properties": {
91
+ "url": {
92
+ "type": ["null", "string"]
93
+ },
94
+ "html_url": {
95
+ "type": ["null", "string"]
96
+ },
97
+ "labels_url": {
98
+ "type": ["null", "string"]
99
+ },
100
+ "id": {
101
+ "type": ["null", "integer"]
102
+ },
103
+ "node_id": {
104
+ "type": ["null", "string"]
105
+ },
106
+ "number": {
107
+ "type": ["null", "integer"]
108
+ },
109
+ "state": {
110
+ "type": ["null", "string"]
111
+ },
112
+ "title": {
113
+ "type": ["null", "string"]
114
+ },
115
+ "description": {
116
+ "type": ["null", "string"]
117
+ },
118
+ "creator": {
119
+ "$ref": "user.json"
120
+ },
121
+ "open_issues": {
122
+ "type": ["null", "integer"]
123
+ },
124
+ "closed_issues": {
125
+ "type": ["null", "integer"]
126
+ },
127
+ "created_at": {
128
+ "type": "string",
129
+ "format": "date-time"
130
+ },
131
+ "updated_at": {
132
+ "type": "string",
133
+ "format": "date-time"
134
+ },
135
+ "closed_at": {
136
+ "type": ["null", "string"],
137
+ "format": "date-time"
138
+ },
139
+ "due_on": {
140
+ "type": ["null", "string"],
141
+ "format": "date-time"
142
+ }
143
+ }
144
+ },
145
+ "locked": {
146
+ "type": ["null", "boolean"]
147
+ },
148
+ "active_lock_reason": {
149
+ "type": ["null", "string"]
150
+ },
151
+ "comments": {
152
+ "type": ["null", "integer"]
153
+ },
154
+ "pull_request": {
155
+ "type": ["null", "object"],
156
+ "properties": {
157
+ "url": {
158
+ "type": ["null", "string"]
159
+ },
160
+ "html_url": {
161
+ "type": ["null", "string"]
162
+ },
163
+ "diff_url": {
164
+ "type": ["null", "string"]
165
+ },
166
+ "patch_url": {
167
+ "type": ["null", "string"]
168
+ },
169
+ "merged_at": {
170
+ "type": ["null", "string"],
171
+ "format": "date-time"
172
+ }
173
+ }
174
+ },
175
+ "closed_at": {
176
+ "type": ["null", "string"],
177
+ "format": "date-time"
178
+ },
179
+ "created_at": {
180
+ "type": "string",
181
+ "format": "date-time"
182
+ },
183
+ "updated_at": {
184
+ "type": "string",
185
+ "format": "date-time"
186
+ },
187
+ "author_association": {
188
+ "type": ["null", "string"]
189
+ },
190
+ "draft": {
191
+ "type": ["null", "boolean"]
192
+ },
193
+ "reactions": {
194
+ "$ref": "reactions.json"
195
+ },
196
+ "timeline_url": {
197
+ "type": ["null", "string"]
198
+ },
199
+ "performed_via_github_app": {
200
+ "type": ["null", "object"],
201
+ "properties": {
202
+ "id": {
203
+ "type": ["null", "integer"]
204
+ },
205
+ "slug": {
206
+ "type": ["null", "string"]
207
+ },
208
+ "node_id": {
209
+ "type": ["null", "string"]
210
+ },
211
+ "owner": {
212
+ "$ref": "user.json"
213
+ },
214
+ "name": {
215
+ "type": ["null", "string"]
216
+ },
217
+ "description": {
218
+ "type": ["null", "string"]
219
+ },
220
+ "external_url": {
221
+ "type": ["null", "string"]
222
+ },
223
+ "html_url": {
224
+ "type": ["null", "string"]
225
+ },
226
+ "created_at": {
227
+ "type": "string",
228
+ "format": "date-time"
229
+ },
230
+ "updated_at": {
231
+ "type": "string",
232
+ "format": "date-time"
233
+ },
234
+ "permissions": {
235
+ "type": ["null", "object"],
236
+ "properties": {
237
+ "issues": {
238
+ "type": ["null", "string"]
239
+ },
240
+ "metadata": {
241
+ "type": ["null", "string"]
242
+ },
243
+ "pull_requests": {
244
+ "type": ["null", "string"]
245
+ },
246
+ "actions": {
247
+ "type": ["null", "string"]
248
+ },
249
+ "checks": {
250
+ "type": ["null", "string"]
251
+ },
252
+ "contents": {
253
+ "type": ["null", "string"]
254
+ },
255
+ "deployments": {
256
+ "type": ["null", "string"]
257
+ },
258
+ "discussions": {
259
+ "type": ["null", "string"]
260
+ },
261
+ "repository_projects": {
262
+ "type": ["null", "string"]
263
+ },
264
+ "statuses": {
265
+ "type": ["null", "string"]
266
+ }
267
+ }
268
+ },
269
+ "events": {
270
+ "type": "array",
271
+ "items": {
272
+ "type": ["null", "string"]
273
+ }
274
+ }
275
+ }
276
+ },
277
+ "state_reason": {
278
+ "type": ["null", "string"]
279
+ }
280
+ }
281
+ }
@@ -0,0 +1,197 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "login": {
6
+ "type": ["null", "string"]
7
+ },
8
+ "id": {
9
+ "type": ["null", "integer"]
10
+ },
11
+ "node_id": {
12
+ "type": ["null", "string"]
13
+ },
14
+ "url": {
15
+ "type": ["null", "string"]
16
+ },
17
+ "repos_url": {
18
+ "type": ["null", "string"]
19
+ },
20
+ "events_url": {
21
+ "type": ["null", "string"]
22
+ },
23
+ "hooks_url": {
24
+ "type": ["null", "string"]
25
+ },
26
+ "issues_url": {
27
+ "type": ["null", "string"]
28
+ },
29
+ "members_url": {
30
+ "type": ["null", "string"]
31
+ },
32
+ "public_members_url": {
33
+ "type": ["null", "string"]
34
+ },
35
+ "avatar_url": {
36
+ "type": ["null", "string"]
37
+ },
38
+ "description": {
39
+ "type": ["null", "string"]
40
+ },
41
+ "name": {
42
+ "type": ["null", "string"]
43
+ },
44
+ "company": {
45
+ "type": ["null", "string"]
46
+ },
47
+ "blog": {
48
+ "type": ["null", "string"]
49
+ },
50
+ "location": {
51
+ "type": ["null", "string"]
52
+ },
53
+ "email": {
54
+ "type": ["null", "string"]
55
+ },
56
+ "twitter_username": {
57
+ "type": ["null", "string"]
58
+ },
59
+ "is_verified": {
60
+ "type": ["null", "boolean"]
61
+ },
62
+ "has_organization_projects": {
63
+ "type": ["null", "boolean"]
64
+ },
65
+ "has_repository_projects": {
66
+ "type": ["null", "boolean"]
67
+ },
68
+ "public_repos": {
69
+ "type": ["null", "integer"]
70
+ },
71
+ "public_gists": {
72
+ "type": ["null", "integer"]
73
+ },
74
+ "followers": {
75
+ "type": ["null", "integer"]
76
+ },
77
+ "following": {
78
+ "type": ["null", "integer"]
79
+ },
80
+ "html_url": {
81
+ "type": ["null", "string"]
82
+ },
83
+ "created_at": {
84
+ "type": "string",
85
+ "format": "date-time"
86
+ },
87
+ "updated_at": {
88
+ "type": "string",
89
+ "format": "date-time"
90
+ },
91
+ "archived_at": {
92
+ "type": ["null", "string"],
93
+ "format": "date-time"
94
+ },
95
+ "type": {
96
+ "type": ["null", "string"]
97
+ },
98
+ "total_private_repos": {
99
+ "type": ["null", "integer"]
100
+ },
101
+ "owned_private_repos": {
102
+ "type": ["null", "integer"]
103
+ },
104
+ "private_gists": {
105
+ "type": ["null", "integer"]
106
+ },
107
+ "disk_usage": {
108
+ "type": ["null", "integer"]
109
+ },
110
+ "collaborators": {
111
+ "type": ["null", "integer"]
112
+ },
113
+ "billing_email": {
114
+ "type": ["null", "string"]
115
+ },
116
+ "default_repository_permission": {
117
+ "type": ["null", "string"]
118
+ },
119
+ "members_can_create_repositories": {
120
+ "type": ["null", "boolean"]
121
+ },
122
+ "two_factor_requirement_enabled": {
123
+ "type": ["null", "boolean"]
124
+ },
125
+ "members_allowed_repository_creation_type": {
126
+ "type": ["null", "string"]
127
+ },
128
+ "members_can_create_public_repositories": {
129
+ "type": ["null", "boolean"]
130
+ },
131
+ "members_can_create_private_repositories": {
132
+ "type": ["null", "boolean"]
133
+ },
134
+ "members_can_create_internal_repositories": {
135
+ "type": ["null", "boolean"]
136
+ },
137
+ "members_can_create_pages": {
138
+ "type": ["null", "boolean"]
139
+ },
140
+ "members_can_fork_private_repositories": {
141
+ "type": ["null", "boolean"]
142
+ },
143
+ "web_commit_signoff_required": {
144
+ "type": ["null", "boolean"]
145
+ },
146
+ "members_can_create_public_pages": {
147
+ "type": ["null", "boolean"]
148
+ },
149
+ "members_can_create_private_pages": {
150
+ "type": ["null", "boolean"]
151
+ },
152
+ "plan": {
153
+ "type": ["null", "object"],
154
+ "properties": {
155
+ "name": {
156
+ "type": ["null", "string"]
157
+ },
158
+ "space": {
159
+ "type": ["null", "integer"]
160
+ },
161
+ "private_repos": {
162
+ "type": ["null", "integer"]
163
+ },
164
+ "filled_seats": {
165
+ "type": ["null", "integer"]
166
+ },
167
+ "seats": {
168
+ "type": ["null", "integer"]
169
+ }
170
+ }
171
+ },
172
+ "advanced_security_enabled_for_new_repositories": {
173
+ "type": ["null", "boolean"]
174
+ },
175
+ "dependabot_alerts_enabled_for_new_repositories": {
176
+ "type": ["null", "boolean"]
177
+ },
178
+ "dependabot_security_updates_enabled_for_new_repositories": {
179
+ "type": ["null", "boolean"]
180
+ },
181
+ "dependency_graph_enabled_for_new_repositories": {
182
+ "type": ["null", "boolean"]
183
+ },
184
+ "secret_scanning_enabled_for_new_repositories": {
185
+ "type": ["null", "boolean"]
186
+ },
187
+ "secret_scanning_push_protection_enabled_for_new_repositories": {
188
+ "type": ["null", "boolean"]
189
+ },
190
+ "secret_scanning_push_protection_custom_link_enabled": {
191
+ "type": ["null", "boolean"]
192
+ },
193
+ "secret_scanning_push_protection_custom_link": {
194
+ "type": ["null", "string"]
195
+ }
196
+ }
197
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://json-schema.org/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "url": {
6
+ "type": ["null", "string"]
7
+ },
8
+ "project_url": {
9
+ "type": ["null", "string"]
10
+ },
11
+ "id": {
12
+ "type": ["null", "integer"]
13
+ },
14
+ "node_id": {
15
+ "type": ["null", "string"]
16
+ },
17
+ "note": {
18
+ "type": ["null", "string"]
19
+ },
20
+ "archived": {
21
+ "type": ["null", "boolean"]
22
+ },
23
+ "creator": {
24
+ "$ref": "user.json"
25
+ },
26
+ "created_at": {
27
+ "type": "string",
28
+ "format": "date-time"
29
+ },
30
+ "updated_at": {
31
+ "type": "string",
32
+ "format": "date-time"
33
+ },
34
+ "column_url": {
35
+ "type": ["null", "string"]
36
+ },
37
+ "content_url": {
38
+ "type": ["null", "string"]
39
+ },
40
+ "repository": {
41
+ "type": "string"
42
+ },
43
+ "project_id": {
44
+ "type": "integer"
45
+ },
46
+ "column_id": {
47
+ "type": "integer"
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "url": {
6
+ "type": ["null", "string"]
7
+ },
8
+ "project_url": {
9
+ "type": ["null", "string"]
10
+ },
11
+ "cards_url": {
12
+ "type": ["null", "string"]
13
+ },
14
+ "id": {
15
+ "type": ["null", "integer"]
16
+ },
17
+ "node_id": {
18
+ "type": ["null", "string"]
19
+ },
20
+ "name": {
21
+ "type": ["null", "string"]
22
+ },
23
+ "created_at": {
24
+ "type": "string",
25
+ "format": "date-time"
26
+ },
27
+ "updated_at": {
28
+ "type": "string",
29
+ "format": "date-time"
30
+ },
31
+ "repository": {
32
+ "type": "string"
33
+ },
34
+ "project_id": {
35
+ "type": "integer"
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "repository": {
6
+ "type": "string"
7
+ },
8
+ "owner_url": {
9
+ "type": ["null", "string"]
10
+ },
11
+ "url": {
12
+ "type": ["null", "string"]
13
+ },
14
+ "html_url": {
15
+ "type": ["null", "string"]
16
+ },
17
+ "columns_url": {
18
+ "type": ["null", "string"]
19
+ },
20
+ "id": {
21
+ "type": ["null", "integer"]
22
+ },
23
+ "node_id": {
24
+ "type": ["null", "string"]
25
+ },
26
+ "name": {
27
+ "type": ["null", "string"]
28
+ },
29
+ "body": {
30
+ "type": ["null", "string"]
31
+ },
32
+ "number": {
33
+ "type": ["null", "integer"]
34
+ },
35
+ "state": {
36
+ "type": ["null", "string"]
37
+ },
38
+ "creator": {
39
+ "$ref": "user.json"
40
+ },
41
+ "created_at": {
42
+ "type": "string",
43
+ "format": "date-time"
44
+ },
45
+ "updated_at": {
46
+ "type": "string",
47
+ "format": "date-time"
48
+ }
49
+ }
50
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "closed": {
6
+ "type": ["null", "boolean"]
7
+ },
8
+ "created_at": {
9
+ "type": ["null", "string"],
10
+ "format": "date-time"
11
+ },
12
+ "creator": {
13
+ "type": ["null", "object"],
14
+ "properties": {
15
+ "avatarUrl": {
16
+ "type": ["null", "string"]
17
+ },
18
+ "login": {
19
+ "type": ["null", "string"]
20
+ },
21
+ "resourcePath": {
22
+ "type": ["null", "string"]
23
+ },
24
+ "url": {
25
+ "type": ["null", "string"]
26
+ }
27
+ }
28
+ },
29
+ "closed_at": {
30
+ "type": ["null", "string"],
31
+ "format": "date-time"
32
+ },
33
+ "updated_at": {
34
+ "type": ["null", "string"],
35
+ "format": "date-time"
36
+ },
37
+ "node_id": {
38
+ "type": ["null", "string"]
39
+ },
40
+ "id": {
41
+ "type": ["null", "integer"]
42
+ },
43
+ "number": {
44
+ "type": ["null", "integer"]
45
+ },
46
+ "public": {
47
+ "type": ["null", "boolean"]
48
+ },
49
+ "readme": {
50
+ "type": ["null", "string"]
51
+ },
52
+ "short_description": {
53
+ "type": ["null", "string"]
54
+ },
55
+ "template": {
56
+ "type": ["null", "boolean"]
57
+ },
58
+ "title": {
59
+ "type": ["null", "string"]
60
+ },
61
+ "url": {
62
+ "type": ["null", "string"]
63
+ },
64
+ "viewerCanClose": {
65
+ "type": ["null", "boolean"]
66
+ },
67
+ "viewerCanReopen": {
68
+ "type": ["null", "boolean"]
69
+ },
70
+ "viewerCanUpdate": {
71
+ "type": ["null", "boolean"]
72
+ },
73
+ "owner_id": {
74
+ "type": ["null", "string"]
75
+ },
76
+ "repository": {
77
+ "type": "string"
78
+ }
79
+ }
80
+ }