Skip to content

Providing Windows executable also as 'onedir' compilation #2718

@isenmann

Description

@isenmann

Hi,

at the moment the Windows executable is built as a standalone all-in-one executable, which is fine and is working for most use cases. The downside of this approach is that every time you execute the exe it will first unpack about 50 MB before doing it's job. That's fine if you just generate PDFs occasionally, but if you generate PDFs often and even in parallel, all the processes unpack those 50 MB all the time which leads to heavy disk I/O and slow downs on that machine. So changing this to the onedir compilation it would also be faster because the unpack step will be not needed.

The only thing which must be changed is the exe workflow file which must be changed to this:

- name: Generate executable
   run: python -m PyInstaller weasyprint/__main__.py -n weasyprint --onedir
 - name: Test executable
   run: dist/weasyprint/weasyprint --info
 - name: Store executable
   uses: actions/upload-artifact@v4
   with:
      name: weasyprint-windows
      path: |
        dist/weasyprint
        README.rst
        LICENSE

Would it be possible to also provide the Windows exe as a onedir solution additionally to the all-in-one exe?

Cheers
Daniel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions