Stretchly
Silent install package for Stretchly
1.20.0-2
Office
Office
- package: tis-stretchly
- name: Stretchly
- version: 1.20.0-2
- categories: Office
- maintainer: WAPT Team,Tranquil IT,Ingrid TALBOT
- editor: Jan Hovancik
- licence: opensource_free,cpe:/a:bsd:bsd_license,wapt_public
- locale: all
- target_os: windows
- impacted_process: Stretchly
- architecture: x64
- signature_date:
- size: 150.27 Mo
- installed_size: 349.54 Mo
- homepage : https://hovancik.net/stretchly/
package : tis-stretchly
version : 1.20.0-2
architecture : x64
section : base
priority : optional
name : Stretchly
categories : Office
maintainer : WAPT Team,Tranquil IT,Ingrid TALBOT
description : Stretchly is a cross-platform open source app that reminds you to take breaks when working on your computer
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources :
installed_size : 349538632
impacted_process : Stretchly
description_fr : Stretchly est une application open source multiplateforme qui vous rappelle de faire des pauses lorsque vous travaillez sur votre ordinateur
description_pl : Stretchly to wieloplatformowa aplikacja open source, która przypomina o robieniu przerw podczas pracy na komputerze
description_de : Stretchly ist eine plattformübergreifende Open-Source-Anwendung, die Sie daran erinnert, Pausen zu machen, wenn Sie an Ihrem Computer arbeiten
description_es : Stretchly es una aplicación multiplataforma de código abierto que te recuerda que debes hacer pausas cuando trabajas con el ordenador
description_pt : Stretchly é uma aplicação de código aberto multiplataforma que o lembra de fazer pausas quando trabalha no seu computador
description_it : Stretchly è un'applicazione open source multipiattaforma che ricorda di fare delle pause quando si lavora al computer
description_nl : Stretchly is een cross-platform open source app die je eraan herinnert om pauzes te nemen als je op je computer werkt
description_ru : Stretchly - это кроссплатформенное приложение с открытым исходным кодом, которое напоминает вам о необходимости делать перерывы при работе за компьютером
audit_schedule :
editor : Jan Hovancik
keywords : breaks,working,computer
licence : opensource_free,cpe:/a:bsd:bsd_license,wapt_public
homepage : https://hovancik.net/stretchly/
package_uuid : 1a8420fc-2b85-4297-9da7-48a91b47a733
valid_from :
valid_until :
forced_install_on :
changelog : https://github.com/hovancik/stretchly/releases
min_os_version :
max_os_version :
icon_sha256sum : 42ea98667b44ce66296cf55f8dd2fa9dbff86f69793e967fc8a6786e21519706
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-12-29T11:17:39.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : Ou/LCH/24l3yQvDlSHmvjUFLcO7R7echHhX9rWtzm59QFlYYcIimnUr92egrZYS3O4ITPjp96+9gaCRGHyV4WLGI2Znq1e6o4izrpzlngPJCXlprUEbpQDMLPsq3jLm+pGtozEicJSO6fg48UjpWXO6vVgPP1iHtr/Pvq5XYBQuVSVAx5iIxVCvFlNHvnyjkD9p3U7Ie3UP9cNLtIkUKv8vdNfuZFVpAqey7NVYXOoLoZoQ5jSrxekgqLbfFRV7CdWrW04ccPVEJNggGg3YOPpvLmrhVVxnYkO0gAEUhD09do4mV++ZfPKnMwjz8l/wI8/O2tmWejjeKWI92an35Pw==
# -*- coding: utf-8 -*-
from setuphelpers import *
install_path = makepath(programfiles, "Stretchly")
def install():
bin_name = glob.glob("Stretchly-Setup-*.exe")[0]
install_exe_if_needed(
bin_name,
silentflags=" /allusers /S",
key="4f357cc2-fcfb-5fb1-89af-67446d29eff0",
min_version=control.get_software_version(),
)
def uninstall():
for to_uninstall in installed_softwares("Stretchly"):
print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
killalltasks(ensure_list(control.impacted_process))
run(uninstall_cmd(to_uninstall["key"]))
wait_uninstallkey_absent(to_uninstall["key"])
if isdir(install_path):
remove_tree(install_path)
# -*- coding: utf-8 -*-
from setuphelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
api_url = "https://api.github.com/repos/hovancik/stretchly/releases/latest"
latest_release = wgets(api_url, proxies=proxies, as_json=True)
version = latest_release['tag_name'].replace('v', '')
download_dict = {
'windows-x64': f'Stretchly-Setup-{version}.exe',
'macos-x64': f'Stretchly-{version}.dmg',
'macos-arm': f'Stretchly-{version}-arm64.dmg',
}
os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
for asset in latest_release["assets"]:
if asset["name"] == download_dict[os_type]:
download_url = asset["browser_download_url"]
latest_bin = asset["name"]
latest_bin_extension = latest_bin.rsplit(".", 1)[-1]
break
# Downloading latest binaries
print(f"Latest {app_name} version is: {version}")
print(f"Download URL is: {download_url}")
if not isfile(latest_bin):
print(f"Downloading: {latest_bin}")
wget(download_url, latest_bin, proxies=proxies)
else:
print(f"Binary is present: {latest_bin}")
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
for f in glob.glob(f'*.{latest_bin_extension}'):
if f != latest_bin:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
8fd1e1c1aa458bd27b04aa1fcc9a96608383cb9cb0394ea637d5bc8409d52edf : Stretchly-Setup-1.20.0.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
1ac24a89ee4f887cfb4e7bfbad48164647b1fab59d0180f14bf62caf008b8ef5 : WAPT/control
42ea98667b44ce66296cf55f8dd2fa9dbff86f69793e967fc8a6786e21519706 : WAPT/icon.png
7d67ab5ed30a4f59a8c0034cc354fc70c7341b4b485e81e925e3b9accba66e84 : luti.json
3bf314eb6cea8453d270c22563d8a3b4cbea1b2f9c84a9c02819b179e50281d6 : setup.py
b38dd445d96a89993fd115c12996e00d6e30c98c7a0748c1c7aee2b756529e60 : update_package.py