File Mover Blog

  • 06 Jul

    Having 10 or more groups and want to reference group 1 in RegEx

    Having 10 or more groups and want to reference group 1 in RegEx

    Q: This regex rename is under the unzip…

    My intent is to fix the lack of a leading zero in the MM field of the file name but limagito is seeing it as capture group 10, not capture group 1 with a zero after it.
    Escaping the zero didn’t work either. Is there something else i could have done?
    I eventually hard coded the 2025, because hopefully this is a 1 off error anyway.

    limagito file mover reference group 1 in RegEx

    A: You’ve identified a classic regex gotcha! When you have 10 or more groups and want to reference group 1 followed by a literal “0”, the regex engine interprets `\10` as group 10 instead of group 1 + “0”.

    Here is a solution to solve this: Use \g<n> syntax (most regex flavors)
    # Instead of: \10
    # Use: \g<1>0

    If you need any help with this ‘Python Thread Exec Mode’ option, please let us know.

    Best Regards,

    Limagito Team

    #regex #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Rename
  • 06 Jul

    Python Thread Exec Mode setup within Limagito File Mover

    Python Thread Exec Mode setup within Limagito File Mover

    In version v2025.6.7.0 we added a “Global Python” setup option.

    limagito file mover global python setup

    The GIL (Global Interpreter Lock) in Python is a mutex (mutual exclusion lock) that protects access to Python objects, ensuring that only one thread executes Python bytecode at a time, even on multi-core processors.

    We added two Thread Exec Modes:

    New Interpreter

    • Each thread gets its own Python interpreter state (Py_NewInterpreter).
    • Shared global interpreter (GIL) lock, but separate Python states.
    • Useful when isolation between threads is desired.
    • Each interpreter is independent: global variables, modules, and sys state are not shared.
    • Not all Python C modules work well in sub-interpreters (some share global state unsafely).
    • Use this when:
      • You need full isolation between threads (like sandboxing).
      • You can tolerate potential issues with C extension compatibility.

    New Interpreter Own GIL

    • Same as “New Interpreter”, but each thread also manages its own GIL state.
    • This mode gives each thread its own Python interpreter + GIL state.
    • Makes thread-safe management of the Python GIL easier.
    • Internally uses PyEval_SaveThread / PyEval_RestoreThread.
    • Use this when:
      • You want per-thread interpreters with clean GIL handling.
      • You want Python output or state kept separate per thread (e.g. in logs).
      • This is the recommended mode when you want each thread to run Python independently.

    limagito file mover Python Thread Exec Mode

    If you need any help with this ‘Python Thread Exec Mode’ option, please let us know.

    Best Regards,

    Limagito Team

    #python #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Python
  • 06 Jul

    Python within Limagito File Mover running as a windows service

    Python within Limagito File Mover running as a windows service

    In version v2025.7.6.0 we added a ‘Global Python’ setup option.

    limagito file mover global python setup

    One of the reasons we did this is by default we’ll use the latest registered Python version. The issue is that when you are using the File Mover as a Windows service and the ‘Logon As’ user of the File Mover service is not able to read the registry settings of the latest registered Python version then we’ll be not able to initialise the Global Python engine. To prevent this issue, it is a good ideae to register it for all users when installing the Python Distribution. Another option is to adjust the Global Python setup and use “Select Specific Version’ as Distribution Type.

    • Default Distribution Type: Latest Registered Version

    limagito file mover global python setup

    • Destination Python Setup, click F9 to execute Script
      • Error message: Global Engine not available
      • So the File Mover Service was not able to find the Python Distribution using the registry information

    limagito file mover global python engine not available

    To solve this we added the following Distribution Type:

    • Distribution Type: “Select Specific version”
      • Set Python DLL Name
      • Set Python Version
      • Set Python DLL Path (in the screenshot we used the 64bit version of Python)

    limagito file mover global python setup

    • Destination Python Setup, click <F9> to execute Script
      • Info message: Global Engine available, RegVersion: 3.13 – DLLName: python313.dll
      • So the File Mover Service was able to find the Python Distribution correctly

    limagito file mover python as destination

    • The Remote tool has an option to read the “Engine Log'” of the File Mover service. This will give you some information about the status of the Global Python Engine.

    limagito File Mover engine log option

    python windows service

    If you need any help with this ‘python windows service’ error, please let us know.

    Best Regards,

    Limagito Team

    #python #managedfiletransfer #filetransfer #filemanagement

    By Limagito-Team Python
1 2 3 4 155
SEARCH