ecosyste-ms-cli 1.3.2__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 (84) hide show
  1. ecosyste_ms_cli-1.3.2.dist-info/METADATA +133 -0
  2. ecosyste_ms_cli-1.3.2.dist-info/RECORD +84 -0
  3. ecosyste_ms_cli-1.3.2.dist-info/WHEEL +5 -0
  4. ecosyste_ms_cli-1.3.2.dist-info/entry_points.txt +2 -0
  5. ecosyste_ms_cli-1.3.2.dist-info/licenses/LICENSE +21 -0
  6. ecosyste_ms_cli-1.3.2.dist-info/top_level.txt +1 -0
  7. ecosystems_cli/__init__.py +3 -0
  8. ecosystems_cli/__main__.py +4 -0
  9. ecosystems_cli/apis/__init__.py +0 -0
  10. ecosystems_cli/apis/advisories.openapi.yaml +347 -0
  11. ecosystems_cli/apis/archives.openapi.yaml +193 -0
  12. ecosystems_cli/apis/commits.openapi.yaml +391 -0
  13. ecosystems_cli/apis/dependabot.openapi.yaml +887 -0
  14. ecosystems_cli/apis/diff.openapi.yaml +90 -0
  15. ecosystems_cli/apis/docker.openapi.yaml +534 -0
  16. ecosystems_cli/apis/issues.openapi.yaml +839 -0
  17. ecosystems_cli/apis/licenses.openapi.yaml +80 -0
  18. ecosystems_cli/apis/opencollective.openapi.yaml +247 -0
  19. ecosystems_cli/apis/packages.openapi.yaml +2522 -0
  20. ecosystems_cli/apis/parser.openapi.yaml +97 -0
  21. ecosystems_cli/apis/registries.yaml +155 -0
  22. ecosystems_cli/apis/repos.openapi.yaml +1521 -0
  23. ecosystems_cli/apis/resolve.openapi.yaml +130 -0
  24. ecosystems_cli/apis/sbom.openapi.yaml +79 -0
  25. ecosystems_cli/apis/sponsors.openapi.yaml +283 -0
  26. ecosystems_cli/apis/summary.openapi.yaml +239 -0
  27. ecosystems_cli/apis/timeline.openapi.yaml +91 -0
  28. ecosystems_cli/cli.py +213 -0
  29. ecosystems_cli/commands/__init__.py +1 -0
  30. ecosystems_cli/commands/advisories.py +109 -0
  31. ecosystems_cli/commands/archives.py +5 -0
  32. ecosystems_cli/commands/commits.py +5 -0
  33. ecosystems_cli/commands/decorators.py +101 -0
  34. ecosystems_cli/commands/dependabot.py +5 -0
  35. ecosystems_cli/commands/diff.py +144 -0
  36. ecosystems_cli/commands/docker.py +5 -0
  37. ecosystems_cli/commands/execution.py +99 -0
  38. ecosystems_cli/commands/generator.py +127 -0
  39. ecosystems_cli/commands/handlers/__init__.py +45 -0
  40. ecosystems_cli/commands/handlers/advisories.py +73 -0
  41. ecosystems_cli/commands/handlers/archives.py +40 -0
  42. ecosystems_cli/commands/handlers/base.py +38 -0
  43. ecosystems_cli/commands/handlers/commits.py +76 -0
  44. ecosystems_cli/commands/handlers/default.py +40 -0
  45. ecosystems_cli/commands/handlers/dependabot.py +205 -0
  46. ecosystems_cli/commands/handlers/diff.py +72 -0
  47. ecosystems_cli/commands/handlers/docker.py +142 -0
  48. ecosystems_cli/commands/handlers/factory.py +60 -0
  49. ecosystems_cli/commands/handlers/issues.py +87 -0
  50. ecosystems_cli/commands/handlers/licenses.py +52 -0
  51. ecosystems_cli/commands/handlers/opencollective.py +86 -0
  52. ecosystems_cli/commands/handlers/packages.py +103 -0
  53. ecosystems_cli/commands/handlers/parser.py +57 -0
  54. ecosystems_cli/commands/handlers/repos.py +97 -0
  55. ecosystems_cli/commands/handlers/resolve.py +68 -0
  56. ecosystems_cli/commands/handlers/sbom.py +52 -0
  57. ecosystems_cli/commands/handlers/sponsors.py +52 -0
  58. ecosystems_cli/commands/handlers/summary.py +81 -0
  59. ecosystems_cli/commands/handlers/timeline.py +45 -0
  60. ecosystems_cli/commands/issues.py +5 -0
  61. ecosystems_cli/commands/licenses.py +135 -0
  62. ecosystems_cli/commands/mcp.py +54 -0
  63. ecosystems_cli/commands/opencollective.py +5 -0
  64. ecosystems_cli/commands/packages.py +151 -0
  65. ecosystems_cli/commands/parser.py +135 -0
  66. ecosystems_cli/commands/repos.py +5 -0
  67. ecosystems_cli/commands/resolve.py +160 -0
  68. ecosystems_cli/commands/sbom.py +135 -0
  69. ecosystems_cli/commands/sponsors.py +5 -0
  70. ecosystems_cli/commands/summary.py +5 -0
  71. ecosystems_cli/commands/timeline.py +5 -0
  72. ecosystems_cli/constants.py +92 -0
  73. ecosystems_cli/exceptions.py +149 -0
  74. ecosystems_cli/helpers/click_params.py +49 -0
  75. ecosystems_cli/helpers/flatten_dict.py +15 -0
  76. ecosystems_cli/helpers/format_value.py +30 -0
  77. ecosystems_cli/helpers/get_domain.py +68 -0
  78. ecosystems_cli/helpers/load_api_spec.py +31 -0
  79. ecosystems_cli/helpers/print_error.py +15 -0
  80. ecosystems_cli/helpers/print_operations.py +73 -0
  81. ecosystems_cli/helpers/print_output.py +183 -0
  82. ecosystems_cli/helpers/purl_parser.py +121 -0
  83. ecosystems_cli/mcp_server.py +267 -0
  84. ecosystems_cli/openapi_client.py +461 -0
@@ -0,0 +1,130 @@
1
+ ---
2
+ openapi: 3.0.1
3
+ info:
4
+ title: 'Ecosyste.ms: Resolve'
5
+ description: An open API service to resolve dependency trees of packages for many
6
+ open source software ecosystems.
7
+ contact:
8
+ name: Ecosyste.ms
9
+ email: support@ecosyste.ms
10
+ url: https://ecosyste.ms
11
+ version: 1.0.0
12
+ license:
13
+ name: CC-BY-SA-4.0
14
+ url: https://creativecommons.org/licenses/by-sa/4.0/
15
+ externalDocs:
16
+ description: GitHub Repository
17
+ url: https://github.com/ecosyste-ms/resolve
18
+ servers:
19
+ - url: https://resolve.ecosyste.ms/api/v1
20
+ paths:
21
+ "/registries":
22
+ get:
23
+ summary: list available registries
24
+ operationId: listRegistries
25
+ responses:
26
+ 200:
27
+ description: OK
28
+ content:
29
+ application/json:
30
+ schema:
31
+ type: array
32
+ items:
33
+ "$ref": "#/components/schemas/Registry"
34
+ "/jobs":
35
+ post:
36
+ summary: submit a resolve job
37
+ operationId: createJob
38
+ parameters:
39
+ - name: package_name
40
+ in: query
41
+ description: name of the package
42
+ required: true
43
+ schema:
44
+ type: string
45
+ - name: registry
46
+ in: query
47
+ description: name of the package registry, see /registries for available values
48
+ required: true
49
+ schema:
50
+ type: string
51
+ - name: before
52
+ in: query
53
+ description: resolve only with dependencies before this date
54
+ required: false
55
+ schema:
56
+ type: string
57
+ format: date-time
58
+ - name: version
59
+ in: query
60
+ description: resolve only with version within this range
61
+ required: false
62
+ schema:
63
+ type: string
64
+ responses:
65
+ 301:
66
+ description: Redirect
67
+ headers:
68
+ location:
69
+ description: URL of submitted job
70
+ schema:
71
+ type: string
72
+ "/jobs/{jobID}":
73
+ get:
74
+ summary: fetch job by id
75
+ operationId: getJob
76
+ parameters:
77
+ - in: path
78
+ name: jobID
79
+ schema:
80
+ type: string
81
+ required: true
82
+ description: id of job
83
+ responses:
84
+ 200:
85
+ description: OK
86
+ content:
87
+ application/json:
88
+ schema:
89
+ "$ref": "#/components/schemas/Job"
90
+ components:
91
+ schemas:
92
+ Registry:
93
+ type: object
94
+ properties:
95
+ name:
96
+ type: string
97
+ url:
98
+ type: string
99
+ ecosystem:
100
+ type: string
101
+ packages_count:
102
+ type: integer
103
+ Job:
104
+ type: object
105
+ properties:
106
+ id:
107
+ type: string
108
+ package_name:
109
+ type: string
110
+ registry:
111
+ type: string
112
+ status:
113
+ type: string
114
+ results:
115
+ type: object
116
+ created_at:
117
+ type: string
118
+ format: date-time
119
+ updated_at:
120
+ type: string
121
+ format: date-time
122
+ sidekiq_id:
123
+ type: string
124
+ sha256:
125
+ type: string
126
+ before:
127
+ type: string
128
+ format: date-time
129
+ version:
130
+ type: string
@@ -0,0 +1,79 @@
1
+ ---
2
+ openapi: 3.0.1
3
+ info:
4
+ title: 'Ecosyste.ms: SBOM'
5
+ description: An open API service to parse and convert between SBOM file formats.
6
+ contact:
7
+ name: Ecosyste.ms
8
+ email: support@ecosyste.ms
9
+ url: https://ecosyste.ms
10
+ version: 1.0.0
11
+ license:
12
+ name: CC-BY-SA-4.0
13
+ url: https://creativecommons.org/sbom/by-sa/4.0/
14
+ externalDocs:
15
+ description: GitHub Repository
16
+ url: https://github.com/ecosyste-ms/sbom
17
+ servers:
18
+ - url: https://sbom.ecosyste.ms/api/v1
19
+ paths:
20
+ "/jobs":
21
+ post:
22
+ summary: submit a dependency parsing job
23
+ operationId: createJob
24
+ parameters:
25
+ - name: url
26
+ in: query
27
+ description: url of file or zip/tar archive
28
+ required: true
29
+ schema:
30
+ type: string
31
+ responses:
32
+ 301:
33
+ description: Redirect
34
+ headers:
35
+ location:
36
+ description: URL of submitted job
37
+ schema:
38
+ type: string
39
+ "/jobs/{jobID}":
40
+ get:
41
+ summary: fetch job by id
42
+ operationId: getJob
43
+ parameters:
44
+ - in: path
45
+ name: jobID
46
+ schema:
47
+ type: string
48
+ required: true
49
+ description: id of job
50
+ responses:
51
+ 200:
52
+ description: OK
53
+ content:
54
+ application/json:
55
+ schema:
56
+ "$ref": "#/components/schemas/Job"
57
+ components:
58
+ schemas:
59
+ Job:
60
+ type: object
61
+ properties:
62
+ id:
63
+ type: string
64
+ url:
65
+ type: string
66
+ status:
67
+ type: string
68
+ results:
69
+ type: object
70
+ created_at:
71
+ type: string
72
+ format: date-time
73
+ updated_at:
74
+ type: string
75
+ format: date-time
76
+ sidekiq_id:
77
+ type: string
78
+ sha256:
79
+ type: string
@@ -0,0 +1,283 @@
1
+ ---
2
+ openapi: 3.0.1
3
+ info:
4
+ title: 'Ecosyste.ms: Sponsors'
5
+ description: An open API service aggregating public data about GitHub Sponsors.
6
+ contact:
7
+ name: Ecosyste.ms
8
+ email: support@ecosyste.ms
9
+ url: https://ecosyste.ms
10
+ version: 1.0.0
11
+ license:
12
+ name: CC-BY-SA-4.0
13
+ url: https://creativecommons.org/licenses/by-sa/4.0/
14
+ externalDocs:
15
+ description: GitHub Repository
16
+ url: https://github.com/ecosyste-ms/sponsors
17
+ servers:
18
+ - url: https://sponsors.ecosyste.ms/api/v1
19
+ paths:
20
+ "/accounts":
21
+ get:
22
+ summary: List Accounts
23
+ description: List all maintainer accounts.
24
+ operationId: listAccounts
25
+ parameters:
26
+ - name: page
27
+ in: query
28
+ description: pagination page number
29
+ required: false
30
+ schema:
31
+ type: integer
32
+ - name: per_page
33
+ in: query
34
+ description: Number of records to return
35
+ required: false
36
+ schema:
37
+ type: integer
38
+ responses:
39
+ '200':
40
+ description: A list of accounts.
41
+ content:
42
+ application/json:
43
+ schema:
44
+ type: array
45
+ items:
46
+ "$ref": "#/components/schemas/Account"
47
+ '404':
48
+ description: No accounts found.
49
+ "/accounts/{login}":
50
+ get:
51
+ summary: Get Account
52
+ description: Get an account by login.
53
+ operationId: getAccount
54
+ parameters:
55
+ - name: login
56
+ in: path
57
+ description: The login name for the account.
58
+ required: true
59
+ schema:
60
+ type: string
61
+ responses:
62
+ '200':
63
+ description: An account.
64
+ content:
65
+ application/json:
66
+ schema:
67
+ "$ref": "#/components/schemas/Account"
68
+ '404':
69
+ description: Account not found.
70
+ "/account/{login}/sponsors":
71
+ get:
72
+ summary: List Account Sponsors
73
+ description: List all sponsors for an account.
74
+ operationId: listAccountSponsors
75
+ parameters:
76
+ - name: login
77
+ in: path
78
+ description: The login name for the account.
79
+ required: true
80
+ schema:
81
+ type: string
82
+ - name: page
83
+ in: query
84
+ description: pagination page number
85
+ required: false
86
+ schema:
87
+ type: integer
88
+ - name: per_page
89
+ in: query
90
+ description: Number of records to return
91
+ required: false
92
+ schema:
93
+ type: integer
94
+ responses:
95
+ '200':
96
+ description: A list of sponsors.
97
+ content:
98
+ application/json:
99
+ schema:
100
+ type: array
101
+ items:
102
+ "$ref": "#/components/schemas/Sponsorship"
103
+ '404':
104
+ description: No sponsors found.
105
+ "/account/{login}/sponsorships":
106
+ get:
107
+ summary: List Account Sponsorships
108
+ description: List all sponsorships for an account.
109
+ operationId: listAccountSponsorships
110
+ parameters:
111
+ - name: login
112
+ in: path
113
+ description: The login name for the account.
114
+ required: true
115
+ schema:
116
+ type: string
117
+ - name: page
118
+ in: query
119
+ description: pagination page number
120
+ required: false
121
+ schema:
122
+ type: integer
123
+ - name: per_page
124
+ in: query
125
+ description: Number of records to return
126
+ required: false
127
+ schema:
128
+ type: integer
129
+ responses:
130
+ '200':
131
+ description: A list of sponsorships.
132
+ content:
133
+ application/json:
134
+ schema:
135
+ type: array
136
+ items:
137
+ "$ref": "#/components/schemas/Sponsorship"
138
+ '404':
139
+ description: No sponsorships found.
140
+ "/sponsors":
141
+ get:
142
+ summary: List Sponsors
143
+ description: List all sponsors.
144
+ parameters:
145
+ - name: page
146
+ in: query
147
+ description: pagination page number
148
+ required: false
149
+ schema:
150
+ type: integer
151
+ - name: per_page
152
+ in: query
153
+ description: Number of records to return
154
+ required: false
155
+ schema:
156
+ type: integer
157
+ operationId: listSponsors
158
+ responses:
159
+ '200':
160
+ description: A list of sponsors.
161
+ content:
162
+ application/json:
163
+ schema:
164
+ type: array
165
+ items:
166
+ "$ref": "#/components/schemas/Account"
167
+ '404':
168
+ description: No sponsors found.
169
+ components:
170
+ schemas:
171
+ Account:
172
+ required:
173
+ - id
174
+ - login
175
+ - has_sponsors_listing
176
+ - data
177
+ - created_at
178
+ - updated_at
179
+ - last_synced_at
180
+ - sponsors_count
181
+ - sponsorships_count
182
+ - active_sponsorships_count
183
+ - sponsor_profile
184
+ - url
185
+ - api_url
186
+ - html_url
187
+ - sponsors_url
188
+ - sponsors_api_url
189
+ - sponsorships_api_url
190
+ - minimum_sponsorship_amount
191
+ type: object
192
+ properties:
193
+ id:
194
+ type: integer
195
+ format: int64
196
+ description: The unique identifier for the account.
197
+ login:
198
+ type: string
199
+ description: The login name for the account.
200
+ has_sponsors_listing:
201
+ type: boolean
202
+ description: Indicates if the account has a sponsors listing.
203
+ data:
204
+ type: object
205
+ description: The raw data for the account.
206
+ created_at:
207
+ type: string
208
+ format: date-time
209
+ description: The date and time the account was created.
210
+ updated_at:
211
+ type: string
212
+ format: date-time
213
+ description: The date and time the account was last updated.
214
+ last_synced_at:
215
+ type: string
216
+ format: date-time
217
+ description: The date and time the account was last synced.
218
+ sponsors_count:
219
+ type: integer
220
+ format: int64
221
+ description: The number of sponsors for the account.
222
+ sponsorships_count:
223
+ type: integer
224
+ format: int64
225
+ description: The number of sponsorships for the account.
226
+ active_sponsorships_count:
227
+ type: integer
228
+ format: int64
229
+ description: The number of active sponsorships for the account.
230
+ sponsor_profile:
231
+ type: object
232
+ description: The sponsor profile for the account.
233
+ url:
234
+ type: string
235
+ description: The URL for the account.
236
+ api_url:
237
+ type: string
238
+ description: The API URL for the account.
239
+ html_url:
240
+ type: string
241
+ description: The HTML URL for the account.
242
+ sponsors_url:
243
+ type: string
244
+ description: The sponsors URL for the account.
245
+ sponsors_api_url:
246
+ type: string
247
+ description: The sponsors API URL for the account.
248
+ sponsorships_api_url:
249
+ type: string
250
+ description: The sponsorships API URL for the account.
251
+ minimum_sponsorship_amount:
252
+ type: integer
253
+ format: int64
254
+ description: The minimum sponsorship amount for the account.
255
+ Sponsorship:
256
+ required:
257
+ - id
258
+ - status
259
+ - created_at
260
+ - updated_at
261
+ - funder
262
+ - maintainer
263
+ type: object
264
+ properties:
265
+ id:
266
+ type: integer
267
+ format: int64
268
+ description: The unique identifier for the sponsorship.
269
+ status:
270
+ type: string
271
+ description: The status of the sponsorship.
272
+ created_at:
273
+ type: string
274
+ format: date-time
275
+ description: The date and time the sponsorship was created.
276
+ updated_at:
277
+ type: string
278
+ format: date-time
279
+ description: The date and time the sponsorship was last updated.
280
+ funder:
281
+ "$ref": "#/components/schemas/Account"
282
+ maintainer:
283
+ "$ref": "#/components/schemas/Account"