tis-pycharm icon

PyCharm

Paquet d’installation silencieuse pour PyCharm

2025.3.2.1-5
Development
Development

  • package: tis-pycharm
  • name: PyCharm
  • version: 2025.3.2.1-5
  • categories: Development
  • maintainer: WAPT Team,Jimmy PELÉ,Pierre COSSON,Tranquil IT
  • editor: JetBrains
  • licence: Freemium
  • locale: all
  • target_os: windows
  • impacted_process: pycharm64,pycharm
  • architecture: arm64
  • signature_date:
  • size: 848.93 Mo
  • installed_size: 697.25 Mo
  • homepage : https://www.jetbrains.com/pycharm/
  • conflicts :

package           : tis-pycharm
version           : 2025.3.2.1-5
architecture      : arm64
section           : base
priority          : optional
name              : PyCharm
categories        : Development
maintainer        : WAPT Team,Jimmy PELÉ,Pierre COSSON,Tranquil IT
description       : PyCharm is an integrated development environment (IDE) used in computer programming, specifically for the Python language
depends           : 
conflicts         : tis-pycharm-community,tis-pycharm-professional
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : 
installed_size    : 697249792
impacted_process  : pycharm64,pycharm
description_fr    : PyCharm est un environnement de développement intégré utilisé pour programmer en Python
description_pl    : PyCharm jest zintegrowanym środowiskiem programistycznym (IDE) używanym w programowaniu komputerowym, w szczególności dla języka Python
description_de    : PyCharm ist eine integrierte Entwicklungsumgebung (IDE) für die Computerprogrammierung, insbesondere für die Sprache Python
description_es    : PyCharm es un entorno de desarrollo integrado (IDE) utilizado en la programación informática, específicamente para el lenguaje Python
description_pt    : PyCharm é um ambiente de desenvolvimento integrado (IDE) utilizado na programação de computadores, especificamente para a linguagem Python
description_it    : PyCharm è un ambiente di sviluppo integrato (IDE) utilizzato nella programmazione informatica, in particolare per il linguaggio Python
description_nl    : PyCharm is een geïntegreerde ontwikkelingsomgeving (IDE) die wordt gebruikt bij computerprogrammering, specifiek voor de taal Python
description_ru    : PyCharm - это интегрированная среда разработки (IDE), используемая в компьютерном программировании, в частности, для языка Python
audit_schedule    : 
editor            : JetBrains
keywords          : pycharm,ide,integrated,development,environment
licence           : Freemium
homepage          : https://www.jetbrains.com/pycharm/
package_uuid      : 8edb6819-815a-4f4a-b15c-ab91f3fe569e
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10
max_os_version    : 
icon_sha256sum    : d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-02-07T19:07:14.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         : gFKhdvDOiQR016XfoU/lN7VOhysJFfEm07RU86VQF+Y6/lPCo2puFO8ppMrYOUx5WL7lPY4ZPD4VOZtV2PZfV5EMrjqsUGGnNCnZVp8+EJRoDaRIMQyV1tPDv18bIe61wmvQMWvHHug2CvSVZf7asZ9n5RIFZsYH6UVJEpdbjXMwO7UU5hpoRpwBnH/yYHHxNvZlg+vi8z0VFVQHtf6MMRbnpgFqmbnYdTwKgiZ24nQbmPmleHbjL8KaLHK055TzFJtuuzMdJ2oeYlY3mbXJ0COyTFNW+A5+H3zpEdMTBjwj0fgmdQxmDtxJ63YQ/slORdxbcF5s9YqM7ZfWEJso7A==

# -*- coding: utf-8 -*-
from setuphelpers import *

#
# Silent Conf: https://www.jetbrains.com/help/pycharm/installation-guide.html#silent-config
#

def install():
    # Specific app values
    bin_name = glob.glob("pycharm-*.exe")[0]

    # Uninstalling older versions of the software
    for to_uninstall in installed_softwares("PyCharm"):
        if Version(to_uninstall["name"].split(" ")[-1]) < Version(control.get_software_version()) or force:
            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"])

    # Installing the package
    install_exe_if_needed(
        bin_name,
        silentflags="/S /CONFIG=silent.conf",
        name="PyCharm %s" % control.get_software_version(),
        accept_returncodes=[0, 3010, 1223],
        min_version=control.get_software_version(),
        timeout=2000,
        get_version=get_installed_version
    )


def get_installed_version(key):
    return key["name"].split(" ")[-1]

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
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

    releases = wgets("https://data.services.jetbrains.com/products/releases?code=PC&latest=true&type=release",proxies=proxies, as_json=True)['PCP'][0]
    version = releases['version']
    downloads = releases['downloads']

    download_dict = {
        'windows-x64': downloads['windows']['link'],
        'windows-arm64': downloads['windowsARM64']['link'],
        'debian_based-x64': downloads['linux']['link'],
        'debian_based-arm6464': downloads['linuxARM64']['link'],
        'darwin-x64': downloads['mac']['link'],
        'darwin-arm': downloads['macM1']['link']
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
    download_url = download_dict[os_type]
    latest_bin = download_url.rsplit("/", 1)[-1]
    latest_bin_extension = latest_bin.rsplit(".", 1)[-1]

    # 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 = "JetBrains s.r.o."
    sign_name = waptlicences.check_msi_signature(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

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
3aceb2500558f015e385f6b2754d69131459cfddaf591b33ee15a939a64ae2f3 : WAPT/control
d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678 : WAPT/icon.png
6fc9be1b586a3b270f2c5c162d6c4d191e0231644084a6714537de77f3425ace : luti.json
0cb01e6ae2c322f9fa22603847a76f665ee95c2b39d4004cc9d54034de7ab83f : pycharm-2025.3.2.1-aarch64.exe
dec201f6d3356b150aeb5f2af00df4fb7b2117c032cbab0d2b3438c9a27e84ca : setup.py
9f47e2e77d5eab88cf78ca92f74c9861019a8c477c7dc25fd72aff52a3f5ce3c : silent.conf
90c2c2c73794390023e36f46401aa07032c6f4c8798d61604aa48c2ffe406df3 : update_package.py