- package: tis-3dslicer
- name: Slicer
- version: 5.8.1-1
- categories: Drivers
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free,wapt_public
- target_os: windows
- architecture: x64
- signature_date:
- size: 242.02 Mo
- homepage : https://www.slicer.org/
package : tis-3dslicer
version : 5.8.1-1
architecture : x64
section : base
priority : optional
name : Slicer
categories : Drivers
maintainer : WAPT Team,Tranquil IT,Amel FRADJ
description : 3D Slicer is an open source software platform for medical informatics, image processing and three-dimensional visualization
depends :
conflicts :
maturity : PROD
locale :
target_os : windows
min_wapt_version : 2.3
sources :
installed_size :
impacted_process :
description_fr : 3D Slicer est une plate-forme logicielle open source pour l'informatique médicale, le traitement d'images et la visualisation tridimensionnelle
description_pl : 3D Slicer to platforma oprogramowania typu open source do obliczeń medycznych, przetwarzania obrazów i trójwymiarowej wizualizacji
description_de : 3D Slicer ist eine Open-Source-Softwareplattform für medizinische Informatik, Bildverarbeitung und dreidimensionale Visualisierung
description_es : 3D Slicer es una plataforma de software de código abierto para informática médica, procesamiento de imágenes y visualización tridimensional
description_pt : O 3D Slicer é uma plataforma de software de fonte aberta para computação médica, processamento de imagens e visualização tridimensional
description_it : 3D Slicer è una piattaforma software open source per il calcolo medico, l'elaborazione delle immagini e la visualizzazione tridimensionale
description_nl : 3D Slicer is een open source softwareplatform voor medische informatica, beeldverwerking en driedimensionale visualisatie
description_ru : 3D Slicer - это программная платформа с открытым исходным кодом для медицинских вычислений, обработки изображений и трехмерной визуализации
audit_schedule :
editor :
keywords :
licence : opensource_free,wapt_public
homepage : https://www.slicer.org/
package_uuid : f61eb320-a2b6-486d-a4ef-976793b0922b
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : d8b0a5548796355ae47c2c3089fb5f605ca179fb9adf72b8fd1c2129da3476f6
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-04-13T11:00:27.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 : UwLGYtP0J2bfHiJ4OZ1nDErDWcAphT5ShZFIl1AhCxJE7QjJzGXdIPCiRC0ebP6Ow/JyTZGw9Xo0vYHxuJDDspotyFlH/Xi5tQqPuzh4xfpEQZVrgojAl8SbJCYM5ZTFRGkPFeoVwo9UcWFGgSu0Rb2f/KkI7DWmRwQdtfQ+UnzzhJSByl5wYOzznumdcMn7I3rxrWBehblVBo55wSd6O0BxDXaLy7l9+85jgvBuAMiewHtcybNPUiEBe0A9WqP023XMHTh5lL6oUi5B/1J4ZmA+WmAxyyvZ2n16jl16kEnZZklKFhOtNhZ0af4Rr567lw1yeV9JDPYdODiCfalTLw==
# -*- coding: utf-8 -*-
from setuphelpers import *
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def install():
# Uninstalling older version of the software that can remains
for to_uninstall in installed_softwares(name="Slicer"):
if Version(to_uninstall["version"]) < Version(control.get_software_version()):
print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
killalltasks(ensure_list(control.impacted_process))
run(uninstall_cmd(to_uninstall["key"]))
wait_uninstallkey_absent(to_uninstall["key"])
# Declaring local variables
bin_name = glob.glob('Slicer-*.exe')[0]
version = control.get_software_version()
key_software = f'Slicer {version} (Win64)'
# Installing the software
install_exe_if_needed(bin_name,
silentflags='/S',
key=key_software,
min_version=version,
)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import requests
import waptlicences
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
base_url_api = "https://slicer-packages.kitware.com/api/v1"
# Slicer Folder
url = f"{base_url_api}/folder?limit=101&offset=0&sort=name&sortdir=1&parentType=folder&parentId=5f4474d0e1d8c75dfc705482"
folder_version = wgets(url, proxies=proxies, as_json=True)
folder_with_version = [
item for item in folder_version
if any(char.isdigit() for char in item['name'])
]
latest_data = max(folder_with_version, key=lambda x: Version(x['name']))
version = latest_data['name']
url = f"{base_url_api}/item?limit=101&offset=0&sort=name&sortdir=1&folderId={latest_data['_id']}"
version_type = wgets(url, proxies=proxies, as_json=True)
bin_wanted = next((i for i in version_type if 'Slicer_win_amd64' in i['name']))
download_url = f"{base_url_api}/item/{bin_wanted['_id']}/download"
latest_bin = requests.head(download_url, proxies=proxies).headers["Content-Disposition"].split("=")[-1].strip('"')
latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
wget(download_url, latest_bin, proxies=proxies)
# 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}")
expected_issuer = "Kitware, Inc."
sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
if sign_name != expected_issuer:
error(f'Bad issuer {sign_name} != {expected_issuer} ')
# 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
644331f2e152519abe7afeca4513dfb76c7936a68de7a661efb63689854d4401 : Slicer-5.8.1-win-amd64.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
294f677d74999fa588b36cd1f3b2c24d485ce096f280f7ece5b075c91e5bd2b8 : WAPT/control
d8b0a5548796355ae47c2c3089fb5f605ca179fb9adf72b8fd1c2129da3476f6 : WAPT/icon.png
7c980a18da13fbf83b8cd5e1cf2550456d9fc90b087db23b1d180f603dbc838b : luti.json
b14bd678f12138b168a7e9c73bb0dabf7838ed29db870c41b84e04ee49209404 : setup.py
37df62a124b861ae22650dc53891b4741aef5f9190c955e18997b87c65079a53 : update_package.py