velopack 1.2.110.dev59430__cp38-abi3-win_amd64.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.
velopack/__init__.py ADDED
@@ -0,0 +1,5 @@
1
+ from .velopack import *
2
+
3
+ __doc__ = velopack.__doc__
4
+ if hasattr(velopack, "__all__"):
5
+ __all__ = velopack.__all__
velopack/__init__.pyi ADDED
@@ -0,0 +1,479 @@
1
+ # This file is automatically generated by pyo3_stub_gen
2
+ # ruff: noqa: E501, F401, F403, F405
3
+
4
+ import builtins
5
+ import os
6
+ import pathlib
7
+ import typing
8
+ __all__ = [
9
+ "App",
10
+ "GiteaSource",
11
+ "GithubSource",
12
+ "GitlabSource",
13
+ "HttpHeader",
14
+ "HttpOptions",
15
+ "HttpSource",
16
+ "UpdateInfo",
17
+ "UpdateManager",
18
+ "UpdateOptions",
19
+ "VelopackAsset",
20
+ "VelopackFlowSource",
21
+ "VelopackLocatorConfig",
22
+ ]
23
+
24
+ @typing.final
25
+ class App:
26
+ r"""
27
+ Python wrapper for VelopackApp with builder pattern
28
+ """
29
+ def __new__(cls) -> App:
30
+ r"""
31
+ Create a new VelopackApp builder
32
+ """
33
+ def set_args(self, args: typing.Sequence[builtins.str]) -> App:
34
+ r"""
35
+ Override the command line arguments used by VelopackApp
36
+ """
37
+ def set_auto_apply_on_startup(self, apply: builtins.bool) -> App:
38
+ r"""
39
+ Set whether to automatically apply downloaded updates on startup
40
+ """
41
+ def on_first_run(self, callback: typing.Any) -> App:
42
+ r"""
43
+ This hook is triggered when the application is started for the first time after installation
44
+ """
45
+ def on_restarted(self, callback: typing.Any) -> App:
46
+ r"""
47
+ This hook is triggered when the application is restarted by Velopack after installing updates
48
+ """
49
+ def on_after_install_fast_callback(self, callback: typing.Any) -> App:
50
+ r"""
51
+ Fast callback hook for after installation (Windows only)
52
+ """
53
+ def on_after_update_fast_callback(self, callback: typing.Any) -> App:
54
+ r"""
55
+ Fast callback hook for after update (Windows only)
56
+ """
57
+ def on_before_update_fast_callback(self, callback: typing.Any) -> App:
58
+ r"""
59
+ Fast callback hook for before update (Windows only)
60
+ """
61
+ def on_before_uninstall_fast_callback(self, callback: typing.Any) -> App:
62
+ r"""
63
+ Fast callback hook for before uninstall (Windows only)
64
+ """
65
+ def run(self) -> None:
66
+ r"""
67
+ Runs the Velopack startup logic
68
+ """
69
+
70
+ @typing.final
71
+ class GiteaSource:
72
+ r"""
73
+ Retrieves available releases from a Gitea repository.
74
+ """
75
+ def __new__(cls, repo_url: builtins.str, access_token: typing.Optional[builtins.str] = None, prerelease: builtins.bool = False) -> GiteaSource:
76
+ r"""
77
+ Create a new GiteaSource.
78
+ - `repo_url`: The URL of the Gitea repository (e.g. "https://gitea.com/myuser/myrepo")
79
+ - `access_token`: Optional Gitea access token (sent as `Authorization: token {token}`).
80
+ - `prerelease`: If true, pre-releases will also be searched/downloaded.
81
+ """
82
+
83
+ @typing.final
84
+ class GithubSource:
85
+ r"""
86
+ Retrieves available releases from a GitHub repository. Supports both github.com
87
+ and GitHub Enterprise instances.
88
+ """
89
+ def __new__(cls, repo_url: builtins.str, access_token: typing.Optional[builtins.str] = None, prerelease: builtins.bool = False) -> GithubSource:
90
+ r"""
91
+ Create a new GithubSource.
92
+ - `repo_url`: The URL of the GitHub repository (e.g. "https://github.com/myuser/myrepo")
93
+ - `access_token`: Optional GitHub access token. Without one, requests are rate limited to 60/hr per IP.
94
+ - `prerelease`: If true, pre-releases will also be searched/downloaded.
95
+ """
96
+
97
+ @typing.final
98
+ class GitlabSource:
99
+ r"""
100
+ Retrieves available releases from a GitLab repository.
101
+ """
102
+ def __new__(cls, repo_url: builtins.str, access_token: typing.Optional[builtins.str] = None, prerelease: builtins.bool = False) -> GitlabSource:
103
+ r"""
104
+ Create a new GitlabSource.
105
+ - `repo_url`: The GitLab API URL (e.g. "https://gitlab.com/api/v4/projects/ProjectId")
106
+ - `access_token`: Optional GitLab access token (sent as PRIVATE-TOKEN header).
107
+ - `prerelease`: If true, upcoming/pre-releases will also be searched.
108
+ """
109
+
110
+ @typing.final
111
+ class HttpHeader:
112
+ r"""
113
+ A single HTTP header (name and value pair) to be sent with a web request.
114
+ """
115
+ @property
116
+ def Name(self) -> builtins.str:
117
+ r"""
118
+ The name of the HTTP header (eg. "Authorization").
119
+ """
120
+ @Name.setter
121
+ def Name(self, value: builtins.str) -> None:
122
+ r"""
123
+ The name of the HTTP header (eg. "Authorization").
124
+ """
125
+ @property
126
+ def Value(self) -> builtins.str:
127
+ r"""
128
+ The value of the HTTP header.
129
+ """
130
+ @Value.setter
131
+ def Value(self, value: builtins.str) -> None:
132
+ r"""
133
+ The value of the HTTP header.
134
+ """
135
+ def __new__(cls, Name: builtins.str, Value: builtins.str) -> HttpHeader: ...
136
+
137
+ @typing.final
138
+ class HttpOptions:
139
+ r"""
140
+ Options to customize HTTP requests (custom headers, timeout, etc).
141
+ """
142
+ @property
143
+ def Headers(self) -> builtins.list[HttpHeader]:
144
+ r"""
145
+ Additional headers to send with each request.
146
+ """
147
+ @Headers.setter
148
+ def Headers(self, value: typing.Sequence[HttpHeader]) -> None:
149
+ r"""
150
+ Additional headers to send with each request.
151
+ """
152
+ @property
153
+ def TimeoutMilliseconds(self) -> builtins.int:
154
+ r"""
155
+ Timeout applied to the entire request (connection + transfer), in milliseconds.
156
+ The default of 0 means requests never time out.
157
+ """
158
+ @TimeoutMilliseconds.setter
159
+ def TimeoutMilliseconds(self, value: builtins.int) -> None:
160
+ r"""
161
+ Timeout applied to the entire request (connection + transfer), in milliseconds.
162
+ The default of 0 means requests never time out.
163
+ """
164
+ def __new__(cls, Headers: typing.Sequence[HttpHeader], TimeoutMilliseconds: builtins.int) -> HttpOptions: ...
165
+
166
+ @typing.final
167
+ class HttpSource:
168
+ r"""
169
+ Retrieves updates from a static file host or other web server.
170
+ """
171
+ def __new__(cls, url: builtins.str, options: typing.Optional[HttpOptions] = None) -> HttpSource:
172
+ r"""
173
+ Create a new HttpSource with the specified base URL and optional HTTP options.
174
+ """
175
+
176
+ @typing.final
177
+ class UpdateInfo:
178
+ r"""
179
+ Holds information about the current version and pending updates, such as how many there are, and access to release notes.
180
+ """
181
+ @property
182
+ def TargetFullRelease(self) -> VelopackAsset:
183
+ r"""
184
+ The available version that we are updating to.
185
+ """
186
+ @TargetFullRelease.setter
187
+ def TargetFullRelease(self, value: VelopackAsset) -> None:
188
+ r"""
189
+ The available version that we are updating to.
190
+ """
191
+ @property
192
+ def BaseRelease(self) -> typing.Optional[VelopackAsset]:
193
+ r"""
194
+ The base release that this update is based on. This is only available if the update is a delta update.
195
+ """
196
+ @BaseRelease.setter
197
+ def BaseRelease(self, value: typing.Optional[VelopackAsset]) -> None:
198
+ r"""
199
+ The base release that this update is based on. This is only available if the update is a delta update.
200
+ """
201
+ @property
202
+ def DeltasToTarget(self) -> builtins.list[VelopackAsset]:
203
+ r"""
204
+ The list of delta updates that can be applied to the base version to get to the target version.
205
+ """
206
+ @DeltasToTarget.setter
207
+ def DeltasToTarget(self, value: typing.Sequence[VelopackAsset]) -> None:
208
+ r"""
209
+ The list of delta updates that can be applied to the base version to get to the target version.
210
+ """
211
+ @property
212
+ def IsDowngrade(self) -> builtins.bool:
213
+ r"""
214
+ True if the update is a version downgrade or lateral move (such as when switching channels to the same version number).
215
+ In this case, only full updates are allowed, and any local packages on disk newer than the downloaded version will be
216
+ deleted.
217
+ """
218
+ @IsDowngrade.setter
219
+ def IsDowngrade(self, value: builtins.bool) -> None:
220
+ r"""
221
+ True if the update is a version downgrade or lateral move (such as when switching channels to the same version number).
222
+ In this case, only full updates are allowed, and any local packages on disk newer than the downloaded version will be
223
+ deleted.
224
+ """
225
+ def __new__(cls, TargetFullRelease: VelopackAsset, DeltasToTarget: typing.Sequence[VelopackAsset], IsDowngrade: builtins.bool, BaseRelease: typing.Optional[VelopackAsset] = None) -> UpdateInfo: ...
226
+
227
+ @typing.final
228
+ class UpdateManager:
229
+ def __new__(cls, source: typing.Optional[GithubSource | GitlabSource | GiteaSource | HttpSource | VelopackFlowSource | builtins.str] = None, options: typing.Optional[UpdateOptions] = None, locator: typing.Optional[VelopackLocatorConfig] = None) -> UpdateManager:
230
+ r"""
231
+ Create a new UpdateManager.
232
+ - `source`: Where to fetch updates from. Accepts an explicit source class or a URL/path
233
+ string (auto-detected). If omitted, the hosted Velopack Flow service is used.
234
+ - `options`: Optional settings to customise the update behaviour.
235
+ - `locator`: Optional locator overriding how the current app's paths are discovered.
236
+ """
237
+ def get_current_version(self) -> builtins.str: ...
238
+ def get_app_id(self) -> builtins.str: ...
239
+ def get_is_portable(self) -> builtins.bool: ...
240
+ def get_update_pending_restart(self) -> typing.Optional[VelopackAsset]: ...
241
+ def check_for_updates(self) -> typing.Optional[UpdateInfo]: ...
242
+ def download_updates(self, update_info: UpdateInfo, progress_callback: typing.Optional[typing.Any] = None) -> None: ...
243
+ def apply_updates_and_restart(self, update: UpdateInfo | VelopackAsset) -> None: ...
244
+ def apply_updates_and_restart_with_args(self, update: UpdateInfo | VelopackAsset, restart_args: typing.Sequence[builtins.str]) -> None: ...
245
+ def apply_updates_and_exit(self, update: UpdateInfo | VelopackAsset) -> None: ...
246
+ def wait_exit_then_apply_updates(self, update: UpdateInfo | VelopackAsset, silent: builtins.bool = False, restart: builtins.bool = True, restart_args: typing.Optional[typing.Sequence[builtins.str]] = None) -> None: ...
247
+
248
+ @typing.final
249
+ class UpdateOptions:
250
+ r"""
251
+ Options to customise the behaviour of UpdateManager.
252
+ """
253
+ @property
254
+ def AllowVersionDowngrade(self) -> builtins.bool:
255
+ r"""
256
+ Allows UpdateManager to update to a version that's lower than the current version (i.e. downgrading).
257
+ This could happen if a release has bugs and was retracted from the release feed, or if you're using
258
+ ExplicitChannel to switch channels to another channel where the latest version on that
259
+ channel is lower than the current version.
260
+ """
261
+ @AllowVersionDowngrade.setter
262
+ def AllowVersionDowngrade(self, value: builtins.bool) -> None:
263
+ r"""
264
+ Allows UpdateManager to update to a version that's lower than the current version (i.e. downgrading).
265
+ This could happen if a release has bugs and was retracted from the release feed, or if you're using
266
+ ExplicitChannel to switch channels to another channel where the latest version on that
267
+ channel is lower than the current version.
268
+ """
269
+ @property
270
+ def ExplicitChannel(self) -> typing.Optional[builtins.str]:
271
+ r"""
272
+ **This option should usually be left None**.
273
+ Overrides the default channel used to fetch updates.
274
+ The default channel will be whatever channel was specified on the command line when building this release.
275
+ For example, if the current release was packaged with '--channel beta', then the default channel will be 'beta'.
276
+ This allows users to automatically receive updates from the same channel they installed from. This options
277
+ allows you to explicitly switch channels, for example if the user wished to switch back to the 'stable' channel
278
+ without having to reinstall the application.
279
+ """
280
+ @ExplicitChannel.setter
281
+ def ExplicitChannel(self, value: typing.Optional[builtins.str]) -> None:
282
+ r"""
283
+ **This option should usually be left None**.
284
+ Overrides the default channel used to fetch updates.
285
+ The default channel will be whatever channel was specified on the command line when building this release.
286
+ For example, if the current release was packaged with '--channel beta', then the default channel will be 'beta'.
287
+ This allows users to automatically receive updates from the same channel they installed from. This options
288
+ allows you to explicitly switch channels, for example if the user wished to switch back to the 'stable' channel
289
+ without having to reinstall the application.
290
+ """
291
+ @property
292
+ def MaximumDeltasBeforeFallback(self) -> builtins.int:
293
+ r"""
294
+ Sets the maximum number of deltas to consider before falling back to a full update.
295
+ The default is 10. Set to a negative number (eg. -1) to disable deltas.
296
+ """
297
+ @MaximumDeltasBeforeFallback.setter
298
+ def MaximumDeltasBeforeFallback(self, value: builtins.int) -> None:
299
+ r"""
300
+ Sets the maximum number of deltas to consider before falling back to a full update.
301
+ The default is 10. Set to a negative number (eg. -1) to disable deltas.
302
+ """
303
+ def __new__(cls, AllowVersionDowngrade: builtins.bool, MaximumDeltasBeforeFallback: builtins.int, ExplicitChannel: typing.Optional[builtins.str] = None) -> UpdateOptions: ...
304
+
305
+ @typing.final
306
+ class VelopackAsset:
307
+ r"""
308
+ An individual Velopack asset, could refer to an asset on-disk or in a remote package feed.
309
+ """
310
+ @property
311
+ def PackageId(self) -> builtins.str:
312
+ r"""
313
+ The name or Id of the package containing this release.
314
+ """
315
+ @PackageId.setter
316
+ def PackageId(self, value: builtins.str) -> None:
317
+ r"""
318
+ The name or Id of the package containing this release.
319
+ """
320
+ @property
321
+ def Version(self) -> builtins.str:
322
+ r"""
323
+ The version of this release.
324
+ """
325
+ @Version.setter
326
+ def Version(self, value: builtins.str) -> None:
327
+ r"""
328
+ The version of this release.
329
+ """
330
+ @property
331
+ def Type(self) -> builtins.str:
332
+ r"""
333
+ The type of asset (eg. "Full" or "Delta").
334
+ """
335
+ @Type.setter
336
+ def Type(self, value: builtins.str) -> None:
337
+ r"""
338
+ The type of asset (eg. "Full" or "Delta").
339
+ """
340
+ @property
341
+ def FileName(self) -> builtins.str:
342
+ r"""
343
+ The filename of the update package containing this release.
344
+ """
345
+ @FileName.setter
346
+ def FileName(self, value: builtins.str) -> None:
347
+ r"""
348
+ The filename of the update package containing this release.
349
+ """
350
+ @property
351
+ def SHA1(self) -> builtins.str:
352
+ r"""
353
+ The SHA1 checksum of the update package containing this release.
354
+ """
355
+ @SHA1.setter
356
+ def SHA1(self, value: builtins.str) -> None:
357
+ r"""
358
+ The SHA1 checksum of the update package containing this release.
359
+ """
360
+ @property
361
+ def SHA256(self) -> builtins.str:
362
+ r"""
363
+ The SHA256 checksum of the update package containing this release.
364
+ """
365
+ @SHA256.setter
366
+ def SHA256(self, value: builtins.str) -> None:
367
+ r"""
368
+ The SHA256 checksum of the update package containing this release.
369
+ """
370
+ @property
371
+ def Size(self) -> builtins.int:
372
+ r"""
373
+ The size in bytes of the update package containing this release.
374
+ """
375
+ @Size.setter
376
+ def Size(self, value: builtins.int) -> None:
377
+ r"""
378
+ The size in bytes of the update package containing this release.
379
+ """
380
+ @property
381
+ def NotesMarkdown(self) -> builtins.str:
382
+ r"""
383
+ The release notes in markdown format, as passed to Velopack when packaging the release. This may be an empty string.
384
+ """
385
+ @NotesMarkdown.setter
386
+ def NotesMarkdown(self, value: builtins.str) -> None:
387
+ r"""
388
+ The release notes in markdown format, as passed to Velopack when packaging the release. This may be an empty string.
389
+ """
390
+ @property
391
+ def NotesHtml(self) -> builtins.str:
392
+ r"""
393
+ The release notes in HTML format, transformed from Markdown when packaging the release. This may be an empty string.
394
+ """
395
+ @NotesHtml.setter
396
+ def NotesHtml(self, value: builtins.str) -> None:
397
+ r"""
398
+ The release notes in HTML format, transformed from Markdown when packaging the release. This may be an empty string.
399
+ """
400
+ def __new__(cls, PackageId: builtins.str, Version: builtins.str, Type: builtins.str, FileName: builtins.str, SHA1: builtins.str, SHA256: builtins.str, Size: builtins.int, NotesMarkdown: builtins.str, NotesHtml: builtins.str) -> VelopackAsset: ...
401
+
402
+ @typing.final
403
+ class VelopackFlowSource:
404
+ r"""
405
+ Retrieves updates from the hosted Velopack Flow service (https://velopack.io).
406
+ """
407
+ def __new__(cls, base_uri: typing.Optional[builtins.str] = None) -> VelopackFlowSource:
408
+ r"""
409
+ Create a new VelopackFlowSource.
410
+ - `base_uri`: Optional base URL, defaults to the hosted service ("https://api.velopack.io/").
411
+ """
412
+
413
+ @typing.final
414
+ class VelopackLocatorConfig:
415
+ r"""
416
+ VelopackLocator provides some utility functions for locating the current app important paths (eg. path to packages, update binary, and so forth).
417
+ """
418
+ @property
419
+ def RootAppDir(self) -> pathlib.Path:
420
+ r"""
421
+ The root directory of the current app, or the path to the AppImage file on Linux.
422
+ """
423
+ @RootAppDir.setter
424
+ def RootAppDir(self, value: builtins.str | os.PathLike | pathlib.Path) -> None:
425
+ r"""
426
+ The root directory of the current app, or the path to the AppImage file on Linux.
427
+ """
428
+ @property
429
+ def UpdateExePath(self) -> pathlib.Path:
430
+ r"""
431
+ The path to the Update.exe binary.
432
+ """
433
+ @UpdateExePath.setter
434
+ def UpdateExePath(self, value: builtins.str | os.PathLike | pathlib.Path) -> None:
435
+ r"""
436
+ The path to the Update.exe binary.
437
+ """
438
+ @property
439
+ def PackagesDir(self) -> pathlib.Path:
440
+ r"""
441
+ The path to the packages' directory.
442
+ """
443
+ @PackagesDir.setter
444
+ def PackagesDir(self, value: builtins.str | os.PathLike | pathlib.Path) -> None:
445
+ r"""
446
+ The path to the packages' directory.
447
+ """
448
+ @property
449
+ def ManifestPath(self) -> pathlib.Path:
450
+ r"""
451
+ The current app manifest.
452
+ """
453
+ @ManifestPath.setter
454
+ def ManifestPath(self, value: builtins.str | os.PathLike | pathlib.Path) -> None:
455
+ r"""
456
+ The current app manifest.
457
+ """
458
+ @property
459
+ def CurrentBinaryDir(self) -> pathlib.Path:
460
+ r"""
461
+ The directory containing the application's user binaries.
462
+ """
463
+ @CurrentBinaryDir.setter
464
+ def CurrentBinaryDir(self, value: builtins.str | os.PathLike | pathlib.Path) -> None:
465
+ r"""
466
+ The directory containing the application's user binaries.
467
+ """
468
+ @property
469
+ def IsPortable(self) -> builtins.bool:
470
+ r"""
471
+ Whether the current application is portable or installed.
472
+ """
473
+ @IsPortable.setter
474
+ def IsPortable(self, value: builtins.bool) -> None:
475
+ r"""
476
+ Whether the current application is portable or installed.
477
+ """
478
+ def __new__(cls, RootAppDir: builtins.str | os.PathLike | pathlib.Path, UpdateExePath: builtins.str | os.PathLike | pathlib.Path, PackagesDir: builtins.str | os.PathLike | pathlib.Path, ManifestPath: builtins.str | os.PathLike | pathlib.Path, CurrentBinaryDir: builtins.str | os.PathLike | pathlib.Path, IsPortable: builtins.bool) -> VelopackLocatorConfig: ...
479
+
velopack/py.typed ADDED
File without changes
velopack/velopack.pyd ADDED
Binary file
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.4
2
+ Name: velopack
3
+ Version: 1.2.110.dev59430
4
+ Summary: Installer and automatic update framework for cross-platform desktop applications
5
+ Home-Page: https://velopack.io
6
+ Author: Velopack Ltd, Caelan Sayler <git@caesay.com>
7
+ Author-email: Velopack Ltd, Caelan Sayler <git@caesay.com>
8
+ License: MIT
9
+ Requires-Python: >=3.8
@@ -0,0 +1,8 @@
1
+ velopack/__init__.py,sha256=i_hk3fvsqIDZXDRcNj05RAtW119HHmRjmiMAoT7AIqE,115
2
+ velopack/__init__.pyi,sha256=tocbT-VOetBjO0VNy3Vm2w0WoTr4O9F9A9-rDP5hj2w,20125
3
+ velopack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ velopack/velopack.pyd,sha256=os3At6Q6pZyPZ41O56VkafeBvMVQUErsbTUvkCNgjPY,2744832
5
+ velopack-1.2.110.dev59430.dist-info/METADATA,sha256=kaa6TqTzycfhuX6JLXtlJMuqwrM0xeyP2CdJnl5OPEM,332
6
+ velopack-1.2.110.dev59430.dist-info/WHEEL,sha256=RD58zsFMg5Xm6opfRt5qGok5PcA30CAhknyKFSihcu8,95
7
+ velopack-1.2.110.dev59430.dist-info/sboms/velopack_python.cyclonedx.json,sha256=_NrBtE0ZcnKMIjnWi8QUf5wb_sGVFzA9oVg4rgiKdTY,161787
8
+ velopack-1.2.110.dev59430.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: maturin (1.14.1)
3
+ Root-Is-Purelib: false
4
+ Tag: cp38-abi3-win_amd64