Skip to content

Commit a9c00c0

Browse files
authored
Add requiredEnvironment to extension list (#88)
* Add manifest.environment to extension list * Only include requiredEnvironment if not falsey * Use ~= version constraints for better UI * Backport requiredEnvironment to extension list * Add doc note for concise version constraints
1 parent a5522ac commit a9c00c0

File tree

15 files changed

+172
-37
lines changed

15 files changed

+172
-37
lines changed

CONTRIBUTING.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,22 @@ Here is an example of what needs to be included in a `manifest.json`:
143143
...
144144
"environment": {
145145
"python": {
146-
"requires": ">=3.8, <4"
146+
"requires": "~=3.8"
147147
},
148148
"r": {
149-
"requires": ">=4.2, <5"
149+
"requires": "~=4.2"
150150
}
151151
}
152152
}
153153
```
154154

155+
It is recommended to use the `~=` operator to specify the version of the
156+
language(s) that the content requires for concise display in the Connect Gallery
157+
UI.
158+
159+
`~=` is the "Compatible release" operator. `~=4.2` means "any version greater
160+
than or equal to 4.2 but less than 5.0".
161+
155162
## Adding content to the Connect Gallery
156163

157164
Once your content has the requirements above it is ready to be added to the

extensions.json

Lines changed: 139 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,24 @@
1515
"version": "0.0.1",
1616
"released": "2025-04-24T19:17:16Z",
1717
"url": "https://github.com/posit-dev/connect-extensions/releases/download/connectwidgets-example%40v0.0.1/connectwidgets-example.tar.gz",
18-
"minimumConnectVersion": "2025.04.0"
18+
"minimumConnectVersion": "2025.04.0",
19+
"requiredEnvironment": {
20+
"r": {
21+
"requires": "~=4.0"
22+
}
23+
}
1924
},
2025
"versions": [
2126
{
2227
"version": "0.0.1",
2328
"released": "2025-04-24T19:17:16Z",
2429
"url": "https://github.com/posit-dev/connect-extensions/releases/download/connectwidgets-example%40v0.0.1/connectwidgets-example.tar.gz",
25-
"minimumConnectVersion": "2025.04.0"
30+
"minimumConnectVersion": "2025.04.0",
31+
"requiredEnvironment": {
32+
"r": {
33+
"requires": "~=4.0"
34+
}
35+
}
2636
}
2737
],
2838
"tags": []
@@ -36,14 +46,24 @@
3646
"version": "1.0.0",
3747
"released": "2025-04-24T19:38:18Z",
3848
"url": "https://github.com/posit-dev/connect-extensions/releases/download/fastapitableau-example%40v1.0.0/fastapitableau-example.tar.gz",
39-
"minimumConnectVersion": "2025.04.0"
49+
"minimumConnectVersion": "2025.04.0",
50+
"requiredEnvironment": {
51+
"python": {
52+
"requires": "~=3.9"
53+
}
54+
}
4055
},
4156
"versions": [
4257
{
4358
"version": "1.0.0",
4459
"released": "2025-04-24T19:38:18Z",
4560
"url": "https://github.com/posit-dev/connect-extensions/releases/download/fastapitableau-example%40v1.0.0/fastapitableau-example.tar.gz",
46-
"minimumConnectVersion": "2025.04.0"
61+
"minimumConnectVersion": "2025.04.0",
62+
"requiredEnvironment": {
63+
"python": {
64+
"requires": "~=3.9"
65+
}
66+
}
4767
}
4868
],
4969
"tags": []
@@ -78,14 +98,24 @@
7898
"version": "1.0.0",
7999
"released": "2025-04-29T18:05:16Z",
80100
"url": "https://github.com/posit-dev/connect-extensions/releases/download/plumbertableau-example%40v1.0.0/plumbertableau-example.tar.gz",
81-
"minimumConnectVersion": "2025.04.0"
101+
"minimumConnectVersion": "2025.04.0",
102+
"requiredEnvironment": {
103+
"r": {
104+
"requires": "~=4.4"
105+
}
106+
}
82107
},
83108
"versions": [
84109
{
85110
"version": "1.0.0",
86111
"released": "2025-04-29T18:05:16Z",
87112
"url": "https://github.com/posit-dev/connect-extensions/releases/download/plumbertableau-example%40v1.0.0/plumbertableau-example.tar.gz",
88-
"minimumConnectVersion": "2025.04.0"
113+
"minimumConnectVersion": "2025.04.0",
114+
"requiredEnvironment": {
115+
"r": {
116+
"requires": "~=4.4"
117+
}
118+
}
89119
}
90120
],
91121
"tags": []
@@ -99,14 +129,24 @@
99129
"version": "0.0.1",
100130
"released": "2025-04-11T21:32:23Z",
101131
"url": "https://github.com/posit-dev/connect-extensions/releases/download/portfolio-dashboard%40v0.0.1/portfolio-dashboard.tar.gz",
102-
"minimumConnectVersion": "2025.04.0"
132+
"minimumConnectVersion": "2025.04.0",
133+
"requiredEnvironment": {
134+
"r": {
135+
"requires": "~=4.4"
136+
}
137+
}
103138
},
104139
"versions": [
105140
{
106141
"version": "0.0.1",
107142
"released": "2025-04-11T21:32:23Z",
108143
"url": "https://github.com/posit-dev/connect-extensions/releases/download/portfolio-dashboard%40v0.0.1/portfolio-dashboard.tar.gz",
109-
"minimumConnectVersion": "2025.04.0"
144+
"minimumConnectVersion": "2025.04.0",
145+
"requiredEnvironment": {
146+
"r": {
147+
"requires": "~=4.4"
148+
}
149+
}
110150
}
111151
]
112152
},
@@ -119,14 +159,24 @@
119159
"version": "0.0.1",
120160
"released": "2025-05-01T18:23:36Z",
121161
"url": "https://github.com/posit-dev/connect-extensions/releases/download/portfolio-report%40v0.0.1/portfolio-report.tar.gz",
122-
"minimumConnectVersion": "2025.04.0"
162+
"minimumConnectVersion": "2025.04.0",
163+
"requiredEnvironment": {
164+
"r": {
165+
"requires": "~=4.4"
166+
}
167+
}
123168
},
124169
"versions": [
125170
{
126171
"version": "0.0.1",
127172
"released": "2025-05-01T18:23:36Z",
128173
"url": "https://github.com/posit-dev/connect-extensions/releases/download/portfolio-report%40v0.0.1/portfolio-report.tar.gz",
129-
"minimumConnectVersion": "2025.04.0"
174+
"minimumConnectVersion": "2025.04.0",
175+
"requiredEnvironment": {
176+
"r": {
177+
"requires": "~=4.4"
178+
}
179+
}
130180
}
131181
],
132182
"tags": []
@@ -140,14 +190,24 @@
140190
"version": "0.0.1",
141191
"released": "2025-03-19T23:00:09Z",
142192
"url": "https://github.com/posit-dev/connect-extensions/releases/download/publisher-command-center%40v0.0.1/publisher-command-center.tar.gz",
143-
"minimumConnectVersion": "2025.04.0"
193+
"minimumConnectVersion": "2025.04.0",
194+
"requiredEnvironment": {
195+
"python": {
196+
"requires": "~=3.8"
197+
}
198+
}
144199
},
145200
"versions": [
146201
{
147202
"version": "0.0.1",
148203
"released": "2025-03-19T23:00:09Z",
149204
"url": "https://github.com/posit-dev/connect-extensions/releases/download/publisher-command-center%40v0.0.1/publisher-command-center.tar.gz",
150-
"minimumConnectVersion": "2025.04.0"
205+
"minimumConnectVersion": "2025.04.0",
206+
"requiredEnvironment": {
207+
"python": {
208+
"requires": "~=3.8"
209+
}
210+
}
151211
}
152212
]
153213
},
@@ -180,14 +240,24 @@
180240
"version": "1.0.0",
181241
"released": "2025-04-14T18:38:38Z",
182242
"url": "https://github.com/posit-dev/connect-extensions/releases/download/quarto-stock-report-python%40v1.0.0/quarto-stock-report-python.tar.gz",
183-
"minimumConnectVersion": "2025.04.0"
243+
"minimumConnectVersion": "2025.04.0",
244+
"requiredEnvironment": {
245+
"python": {
246+
"requires": "~=3.9"
247+
}
248+
}
184249
},
185250
"versions": [
186251
{
187252
"version": "1.0.0",
188253
"released": "2025-04-14T18:38:38Z",
189254
"url": "https://github.com/posit-dev/connect-extensions/releases/download/quarto-stock-report-python%40v1.0.0/quarto-stock-report-python.tar.gz",
190-
"minimumConnectVersion": "2025.04.0"
255+
"minimumConnectVersion": "2025.04.0",
256+
"requiredEnvironment": {
257+
"python": {
258+
"requires": "~=3.9"
259+
}
260+
}
191261
}
192262
]
193263
},
@@ -200,20 +270,35 @@
200270
"version": "0.0.2",
201271
"released": "2025-04-16T22:32:48Z",
202272
"url": "https://github.com/posit-dev/connect-extensions/releases/download/reaper%40v0.0.2/reaper.tar.gz",
203-
"minimumConnectVersion": "2025.04.0"
273+
"minimumConnectVersion": "2025.04.0",
274+
"requiredEnvironment": {
275+
"python": {
276+
"requires": "~=3.8"
277+
}
278+
}
204279
},
205280
"versions": [
206281
{
207282
"version": "0.0.2",
208283
"released": "2025-04-16T22:32:48Z",
209284
"url": "https://github.com/posit-dev/connect-extensions/releases/download/reaper%40v0.0.2/reaper.tar.gz",
210-
"minimumConnectVersion": "2025.04.0"
285+
"minimumConnectVersion": "2025.04.0",
286+
"requiredEnvironment": {
287+
"python": {
288+
"requires": "~=3.8"
289+
}
290+
}
211291
},
212292
{
213293
"version": "0.0.1",
214294
"released": "2025-03-19T22:59:58Z",
215295
"url": "https://github.com/posit-dev/connect-extensions/releases/download/reaper%40v0.0.1/reaper.tar.gz",
216-
"minimumConnectVersion": "2025.04.0"
296+
"minimumConnectVersion": "2025.04.0",
297+
"requiredEnvironment": {
298+
"python": {
299+
"requires": "~=3.8"
300+
}
301+
}
217302
}
218303
]
219304
},
@@ -226,14 +311,24 @@
226311
"version": "1.0.0",
227312
"released": "2025-04-24T18:56:34Z",
228313
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-fastapi%40v1.0.0/stock-api-fastapi.tar.gz",
229-
"minimumConnectVersion": "2025.04.0"
314+
"minimumConnectVersion": "2025.04.0",
315+
"requiredEnvironment": {
316+
"python": {
317+
"requires": "~=3.11"
318+
}
319+
}
230320
},
231321
"versions": [
232322
{
233323
"version": "1.0.0",
234324
"released": "2025-04-24T18:56:34Z",
235325
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-fastapi%40v1.0.0/stock-api-fastapi.tar.gz",
236-
"minimumConnectVersion": "2025.04.0"
326+
"minimumConnectVersion": "2025.04.0",
327+
"requiredEnvironment": {
328+
"python": {
329+
"requires": "~=3.11"
330+
}
331+
}
237332
}
238333
],
239334
"tags": []
@@ -247,14 +342,24 @@
247342
"version": "1.0.0",
248343
"released": "2025-04-24T19:12:11Z",
249344
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-flask%40v1.0.0/stock-api-flask.tar.gz",
250-
"minimumConnectVersion": "2025.04.0"
345+
"minimumConnectVersion": "2025.04.0",
346+
"requiredEnvironment": {
347+
"python": {
348+
"requires": "~=3.10"
349+
}
350+
}
251351
},
252352
"versions": [
253353
{
254354
"version": "1.0.0",
255355
"released": "2025-04-24T19:12:11Z",
256356
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-flask%40v1.0.0/stock-api-flask.tar.gz",
257-
"minimumConnectVersion": "2025.04.0"
357+
"minimumConnectVersion": "2025.04.0",
358+
"requiredEnvironment": {
359+
"python": {
360+
"requires": "~=3.10"
361+
}
362+
}
258363
}
259364
],
260365
"tags": []
@@ -268,17 +373,27 @@
268373
"version": "1.0.0",
269374
"released": "2025-04-25T18:11:56Z",
270375
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-plumber%40v1.0.0/stock-api-plumber.tar.gz",
271-
"minimumConnectVersion": "2025.04.0"
376+
"minimumConnectVersion": "2025.04.0",
377+
"requiredEnvironment": {
378+
"r": {
379+
"requires": "~=4.4"
380+
}
381+
}
272382
},
273383
"versions": [
274384
{
275385
"version": "1.0.0",
276386
"released": "2025-04-25T18:11:56Z",
277387
"url": "https://github.com/posit-dev/connect-extensions/releases/download/stock-api-plumber%40v1.0.0/stock-api-plumber.tar.gz",
278-
"minimumConnectVersion": "2025.04.0"
388+
"minimumConnectVersion": "2025.04.0",
389+
"requiredEnvironment": {
390+
"r": {
391+
"requires": "~=4.4"
392+
}
393+
}
279394
}
280395
],
281396
"tags": []
282397
}
283398
]
284-
}
399+
}

extensions/connectwidgets-example/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
"environment": {
2121
"r": {
22-
"requires": ">=4.0"
22+
"requires": "~=4.0"
2323
}
2424
},
2525
"packages": {

extensions/fastapitableau-example/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
"environment": {
1717
"python": {
18-
"requires": ">=3.9, <4"
18+
"requires": "~=3.9"
1919
}
2020
},
2121
"python": {

extensions/plumbertableau-example/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
},
2121
"environment": {
2222
"r": {
23-
"requires": ">=4.4.0, <5"
23+
"requires": "~=4.4.0"
2424
}
2525
},
2626
"packages": {

extensions/portfolio-dashboard/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
},
1313
"environment": {
1414
"r": {
15-
"requires": ">=4.4"
15+
"requires": "~=4.4"
1616
}
1717
},
1818
"metadata": {

extensions/portfolio-report/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
},
2020
"environment": {
2121
"r": {
22-
"requires": ">=4.4.0"
22+
"requires": "~=4.4"
2323
}
2424
},
2525
"packages": {

extensions/publisher-command-center/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"environment": {
1515
"python": {
16-
"requires": ">=3.8, <4"
16+
"requires": "~=3.8"
1717
}
1818
},
1919
"packages": {},

0 commit comments

Comments
 (0)