feat: add comprehensive GitHub workflow and development tools

This commit is contained in:
Stiftung Development
2025-09-06 18:31:54 +02:00
commit ab23d7187e
10224 changed files with 2075210 additions and 0 deletions

View File

@@ -0,0 +1 @@
pip

View File

@@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2011-2021, Simon Sapin and contributors.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,81 @@
Metadata-Version: 2.1
Name: weasyprint
Version: 62.3
Summary: The Awesome Document Factory
Keywords: html,css,pdf,converter
Author-email: Simon Sapin <simon.sapin@exyr.org>
Maintainer-email: CourtBouillon <contact@courtbouillon.org>
Requires-Python: >=3.9
Description-Content-Type: text/x-rst
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Classifier: Topic :: Printing
Requires-Dist: pydyf >=0.10.0
Requires-Dist: cffi >=0.6
Requires-Dist: html5lib >=1.1
Requires-Dist: tinycss2 >=1.3.0
Requires-Dist: cssselect2 >=0.1
Requires-Dist: Pyphen >=0.9.1
Requires-Dist: Pillow >=9.1.0
Requires-Dist: fonttools[woff] >=4.0.0
Requires-Dist: sphinx ; extra == "doc"
Requires-Dist: sphinx_rtd_theme ; extra == "doc"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: ruff ; extra == "test"
Project-URL: Changelog, https://github.com/Kozea/WeasyPrint/releases
Project-URL: Code, https://github.com/Kozea/WeasyPrint
Project-URL: Documentation, https://doc.courtbouillon.org/weasyprint/
Project-URL: Donation, https://opencollective.com/courtbouillon
Project-URL: Homepage, https://www.courtbouillon.org/weasyprint
Project-URL: Issues, https://github.com/Kozea/WeasyPrint/issues
Provides-Extra: doc
Provides-Extra: test
**The Awesome Document Factory**
WeasyPrint is a smart solution helping web developers to create PDF
documents. It turns simple HTML pages into gorgeous statistical reports,
invoices, tickets…
From a technical point of view, WeasyPrint is a visual rendering engine for
HTML and CSS that can export to PDF. It aims to support web standards for
printing. WeasyPrint is free software made available under a BSD license.
It is based on various libraries but *not* on a full rendering engine like
WebKit or Gecko. The CSS layout engine is written in Python, designed for
pagination, and meant to be easy to hack on.
* Free software: BSD license
* For Python 3.9+, tested on CPython and PyPy
* Documentation: https://doc.courtbouillon.org/weasyprint
* Examples: https://weasyprint.org/#samples
* Changelog: https://github.com/Kozea/WeasyPrint/releases
* Code, issues, tests: https://github.com/Kozea/WeasyPrint
* Code of conduct: https://www.courtbouillon.org/code-of-conduct
* Professional support: https://www.courtbouillon.org
* Donation: https://opencollective.com/courtbouillon
WeasyPrint has been created and developed by Kozea (https://kozea.fr/).
Professional support, maintenance and community management is provided by
CourtBouillon (https://www.courtbouillon.org/).
Copyrights are retained by their contributors, no copyright assignment is
required to contribute to WeasyPrint. Unless explicitly stated otherwise, any
contribution intentionally submitted for inclusion is licensed under the BSD
3-clause license, without any additional terms or conditions. For full
authorship information, see the version control history.

View File

@@ -0,0 +1,133 @@
../../Scripts/weasyprint.exe,sha256=65d9JVHaoVPkhtoOo6kieDs113qhEDonCoRl0pRUkiQ,108393
weasyprint-62.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
weasyprint-62.3.dist-info/LICENSE,sha256=v9FOzPphAFdUYOaFVWsYM5nUvTNZBOPJUhsBFtIcVNo,1534
weasyprint-62.3.dist-info/METADATA,sha256=9v1pwN_LEMfvzJ1kd-EFXJSZxGJPETpuH9czZ2uPPF8,3656
weasyprint-62.3.dist-info/RECORD,,
weasyprint-62.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
weasyprint-62.3.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
weasyprint-62.3.dist-info/entry_points.txt,sha256=wgDp3XXzFywdYgI5vUWMp1zAwx1sZXXH0FTUQbFOq6A,55
weasyprint/__init__.py,sha256=LDS5m4oU2amii4pIKxzJR70Wd6fZhP1neQi_PaMYkjI,16893
weasyprint/__main__.py,sha256=_DDSb_XG_lI6b6v37m42mjBDexYgWk_m0fj0o8OpyS0,6666
weasyprint/__pycache__/__init__.cpython-310.pyc,,
weasyprint/__pycache__/__main__.cpython-310.pyc,,
weasyprint/__pycache__/anchors.cpython-310.pyc,,
weasyprint/__pycache__/document.cpython-310.pyc,,
weasyprint/__pycache__/draw.cpython-310.pyc,,
weasyprint/__pycache__/html.cpython-310.pyc,,
weasyprint/__pycache__/images.cpython-310.pyc,,
weasyprint/__pycache__/logger.cpython-310.pyc,,
weasyprint/__pycache__/matrix.cpython-310.pyc,,
weasyprint/__pycache__/stacking.cpython-310.pyc,,
weasyprint/__pycache__/urls.cpython-310.pyc,,
weasyprint/anchors.py,sha256=aZBjKZTDAdt369hIvXZBai6Mmp7A1-4ObspAHV242Mw,5988
weasyprint/css/__init__.py,sha256=g5ic6QEt4DNaOz_NaQfgjGLAGXUBI59iXGcyfAk0YbU,51550
weasyprint/css/__pycache__/__init__.cpython-310.pyc,,
weasyprint/css/__pycache__/computed_values.cpython-310.pyc,,
weasyprint/css/__pycache__/counters.cpython-310.pyc,,
weasyprint/css/__pycache__/media_queries.cpython-310.pyc,,
weasyprint/css/__pycache__/properties.cpython-310.pyc,,
weasyprint/css/__pycache__/targets.cpython-310.pyc,,
weasyprint/css/__pycache__/utils.cpython-310.pyc,,
weasyprint/css/computed_values.py,sha256=h0aEFUarzoCJu49aJR19cbR2fCEGg_1f4h7L87c4ZJM,27015
weasyprint/css/counters.py,sha256=DHSrGJr2ktpZLCc-JYIiE67ak0TORsKSBKkjju-qwdE,11373
weasyprint/css/html5_ph.css,sha256=u2VD0dJ5nAL3ubnQVd7q9Ii649T8vDKQ539I8h1Fh5o,7407
weasyprint/css/html5_ua.css,sha256=dM2oTl6-JxH8K2stJIjeh055wOzKgbfy1NNSFSaPIWg,31303
weasyprint/css/html5_ua_form.css,sha256=RDUs3WNYUoXbPZpCs-CIIKBQjj-qoTaGCBPsmodWleM,96
weasyprint/css/media_queries.py,sha256=wHPteZ9Gs2ttuA5kZpMDgRtFHnhYZVwrFXrhKgmR-4g,1072
weasyprint/css/properties.py,sha256=id7_piRbcHwxuBZ7zysNbG9W9Nut67kszTIRL1gPYxA,11005
weasyprint/css/targets.py,sha256=5Ofw1RrmPsfQjDuZ1FCgktspGUai3wJmNa03MbT2sOI,8853
weasyprint/css/tests_ua.css,sha256=Srpfq9Rlp2lakoY3ovGM9dfQtm3zvZJIwRCKgpWU9I4,1630
weasyprint/css/utils.py,sha256=N-xUKM7aXIWbnlmGyjYCYEg25FWx91aYpevUMZd8b3U,25105
weasyprint/css/validation/__init__.py,sha256=NKvg0angoXeKho00m-yLNdqYak7kYY8sxwUN4YWtp9I,8467
weasyprint/css/validation/__pycache__/__init__.cpython-310.pyc,,
weasyprint/css/validation/__pycache__/descriptors.cpython-310.pyc,,
weasyprint/css/validation/__pycache__/expanders.cpython-310.pyc,,
weasyprint/css/validation/__pycache__/properties.cpython-310.pyc,,
weasyprint/css/validation/descriptors.py,sha256=3Eu8TgxNnH_OhE4ibQYgviecA9A1QimkSskXqyse410,10961
weasyprint/css/validation/expanders.py,sha256=SkTnOVZ8Ccd3yilY5rO_TfatZAhi6AQ8Qd_YVigtBeg,36712
weasyprint/css/validation/properties.py,sha256=XTf4J1vNRvNfWJthVPehMjmZfVGGcV0fmx7lSdS_mK4,65841
weasyprint/document.py,sha256=ArAN348fGbGlrK_YniHI1nSEVom1eK0Y_IqzqeO2jIs,17202
weasyprint/draw.py,sha256=nuEp_GB6CefqR-gJ2tr1pKHAa2_AEf-28-AqJUwaytA,61180
weasyprint/formatting_structure/__pycache__/boxes.cpython-310.pyc,,
weasyprint/formatting_structure/__pycache__/build.cpython-310.pyc,,
weasyprint/formatting_structure/boxes.py,sha256=ZxbXsXC0t-L1AZZJE3W-vvwYyGwXaK4ATUD7d83DnoE,25553
weasyprint/formatting_structure/build.py,sha256=oirJKkEaab6mWV1u2oUvXQ90jUtd7HLqyG48ZAPhX5s,56670
weasyprint/html.py,sha256=JU_Av36namPMdeY3doCMT-eWRvZm-zfcM4XntBJyxiQ,11726
weasyprint/images.py,sha256=S6UUzRBOQp47gcPCwbZg1sqLe4tpE5RJ-v_jsOfCrfM,34805
weasyprint/layout/__init__.py,sha256=hRt1LlxYuCdRG8pOcQXkePI4iHtqkoQfSiFnhk9Fjzk,15761
weasyprint/layout/__pycache__/__init__.cpython-310.pyc,,
weasyprint/layout/__pycache__/absolute.cpython-310.pyc,,
weasyprint/layout/__pycache__/background.cpython-310.pyc,,
weasyprint/layout/__pycache__/block.cpython-310.pyc,,
weasyprint/layout/__pycache__/column.cpython-310.pyc,,
weasyprint/layout/__pycache__/flex.cpython-310.pyc,,
weasyprint/layout/__pycache__/float.cpython-310.pyc,,
weasyprint/layout/__pycache__/grid.cpython-310.pyc,,
weasyprint/layout/__pycache__/inline.cpython-310.pyc,,
weasyprint/layout/__pycache__/leader.cpython-310.pyc,,
weasyprint/layout/__pycache__/min_max.cpython-310.pyc,,
weasyprint/layout/__pycache__/page.cpython-310.pyc,,
weasyprint/layout/__pycache__/percent.cpython-310.pyc,,
weasyprint/layout/__pycache__/preferred.cpython-310.pyc,,
weasyprint/layout/__pycache__/replaced.cpython-310.pyc,,
weasyprint/layout/__pycache__/table.cpython-310.pyc,,
weasyprint/layout/absolute.py,sha256=f9d9AZ7kAqXnMHxfRHHwu_L2nhee3ZtiZZm00A7BXDI,13966
weasyprint/layout/background.py,sha256=S8iYCq2bdcu9IceLcwN-imdg4oTSuWd2Dor9ttDF8oY,9752
weasyprint/layout/block.py,sha256=i8wyZrd29LNbHERwS-qTAUoZY5Gfz2yarI5Fp4h8GxA,45681
weasyprint/layout/column.py,sha256=Oi-GzsZMpWZnR1SDAIBsc1o6Jz67gUVdk0m_t3i8O8Y,17322
weasyprint/layout/flex.py,sha256=txmj_FrJBx3s4NcolDKZA4RFfbALcg01sK2_hszCEyI,39173
weasyprint/layout/float.py,sha256=dEYiXvxWBiEJ3xh1FShEH81c7-9_ksUww5xpXo8xVzA,9109
weasyprint/layout/grid.py,sha256=GOtfF-LVmRgg1VXDHQN6Dk69oQ_yTOWlMXCnukon9pM,54729
weasyprint/layout/inline.py,sha256=N2YXLWmBds-a3a1YgOLiI2bdVVactPhE0SaHj_Seqbw,48154
weasyprint/layout/leader.py,sha256=wklI0aLyTx0VJhqU7D_FxtJpfe7dXswcN-VApAusM-Q,2825
weasyprint/layout/min_max.py,sha256=JdXJG9ISO_RsfeHua_-3g477a16I-NrnYuwH_tQwq4o,1527
weasyprint/layout/page.py,sha256=d7dbucnloL5jbeojgrRjqw8Mr1tMTk3mJZeJc6gSz30,37366
weasyprint/layout/percent.py,sha256=_UdU9eMTvRTRZYRiqGvOXCtB9alxbCU0huf6HKPhabo,6173
weasyprint/layout/preferred.py,sha256=yaXeaXZKYwTnC6CL4xte1bPdX2Cr2MQ3k38nvdvJppI,30882
weasyprint/layout/replaced.py,sha256=ucAd6VMKIEryjnwK8ciKbUoE2yK29-ggdYlGW3KPDXk,11178
weasyprint/layout/table.py,sha256=lAm1FKTN4iDAmi9zIlT7w4ZlX-e0KxQdzzDUT0wGAx8,44968
weasyprint/logger.py,sha256=YUZFup-osH74gqSYI2F2Nqyt66-ju09Vnym2yha2c9Q,803
weasyprint/matrix.py,sha256=v1BPtyn_-S_4TrAUgzOOR-viUXgdqsABKRndCEprkPc,1909
weasyprint/pdf/__init__.py,sha256=kWGbvzKiLcA7JRpG4oUA2rrhp7WtmXQCpNBo4frmL4M,10920
weasyprint/pdf/__pycache__/__init__.cpython-310.pyc,,
weasyprint/pdf/__pycache__/anchors.cpython-310.pyc,,
weasyprint/pdf/__pycache__/fonts.cpython-310.pyc,,
weasyprint/pdf/__pycache__/metadata.cpython-310.pyc,,
weasyprint/pdf/__pycache__/pdfa.cpython-310.pyc,,
weasyprint/pdf/__pycache__/pdfua.cpython-310.pyc,,
weasyprint/pdf/__pycache__/stream.cpython-310.pyc,,
weasyprint/pdf/anchors.py,sha256=y8eVx0qzcmU9UDbr5LaVkUtX80j8iiwsEhRPmsWTuEM,15234
weasyprint/pdf/fonts.py,sha256=x8EDBMW2iO7gXSRRKIp-q-N0L0zV-ceZnBtGQLQYAQM,12953
weasyprint/pdf/metadata.py,sha256=Ws03SLAsOTAcfryJ4Q4KKONMQiADSGmGFrGb_08Y82g,3900
weasyprint/pdf/pdfa.py,sha256=OLVQvQ0LRk0PfIC7winyGwm-syI7Y-jzxhiBCLOq4o4,4322
weasyprint/pdf/pdfua.py,sha256=mCgXdr1RUe6hffg6Jsu4LzmDtBNyJTtj32wTouBeJy4,5236
weasyprint/pdf/sRGB2014.icc,sha256=OEuDLeNBIGZ0O1KnXukGtvufuNngnpNvwsQyI4Fcbgo,3024
weasyprint/pdf/stream.py,sha256=_fCcqmFNkJmL66xTSu5G2M8WDMgEhLyTVUO30-rrROw,18116
weasyprint/stacking.py,sha256=TN4Bg6pRIUFdT7B9FKwRwNPTM6Tqj0u-miuNamxpCI4,5601
weasyprint/svg/__init__.py,sha256=i0SrdGWoMpVW6e0pxUiY9oAxkfVlqVLVFSBh2Gpndpo,29613
weasyprint/svg/__pycache__/__init__.cpython-310.pyc,,
weasyprint/svg/__pycache__/bounding_box.cpython-310.pyc,,
weasyprint/svg/__pycache__/css.cpython-310.pyc,,
weasyprint/svg/__pycache__/defs.cpython-310.pyc,,
weasyprint/svg/__pycache__/images.cpython-310.pyc,,
weasyprint/svg/__pycache__/path.cpython-310.pyc,,
weasyprint/svg/__pycache__/shapes.cpython-310.pyc,,
weasyprint/svg/__pycache__/text.cpython-310.pyc,,
weasyprint/svg/__pycache__/utils.cpython-310.pyc,,
weasyprint/svg/bounding_box.py,sha256=lW-ZJ9QxrXLxnepY1it4HtNiMXHI32AnO5clesTiuyM,12690
weasyprint/svg/css.py,sha256=AUsIim2rOmRGLgFuiWm4EzXwnrRlThczfM17Uq2MRUg,3832
weasyprint/svg/defs.py,sha256=XnjytiyH7qEsadlBSgSw0FddSrM3VT0_5REjpfWf0OE,20950
weasyprint/svg/images.py,sha256=wxXs_MvY7vwg1CgXJZGzSMwcou9k0xDfipIp5VoVjNM,2503
weasyprint/svg/path.py,sha256=Z-T6kbUU3pyHhzVV0JSBgO--XaCGXLsH-cS9iAsITMM,10064
weasyprint/svg/shapes.py,sha256=NDo0KMnwrm0hj3BOmfrKjRZo4iJF9o-MeUhZ5avANco,3845
weasyprint/svg/text.py,sha256=0i3NKIMMOz4ly2SS_LIyDG5FX8UtW94DutgBfMPaSgg,6399
weasyprint/svg/utils.py,sha256=nh7cLwVt3PBnWfncKdvv_n7pHk6fgbrQIxCHTso9-y4,6961
weasyprint/text/__pycache__/constants.cpython-310.pyc,,
weasyprint/text/__pycache__/ffi.cpython-310.pyc,,
weasyprint/text/__pycache__/fonts.cpython-310.pyc,,
weasyprint/text/__pycache__/line_break.cpython-310.pyc,,
weasyprint/text/constants.py,sha256=BA1v1pg9FHAEd94KltIp1yONkWPbj3MvWZ5INuCNIQE,13641
weasyprint/text/ffi.py,sha256=K67vbk8D0KFg2EchxbzbUIG_sgMS8QpnjGxD2O4sqVs,15331
weasyprint/text/fonts.py,sha256=GSts49ETf4YG7b5b__CzcF1ITrn7CGVR1gow1vsHbQQ,17546
weasyprint/text/line_break.py,sha256=GDH1u2CTi5FDI_7lSxfB3F1GzmWzIBEzkGhMg1dl5kI,23584
weasyprint/urls.py,sha256=ZfvCDgnVMBlaq-Jqf_93KhtiEeaC2exDiTQUnhFOyIM,9982

View File

@@ -0,0 +1,4 @@
Wheel-Version: 1.0
Generator: flit 3.9.0
Root-Is-Purelib: true
Tag: py3-none-any

View File

@@ -0,0 +1,3 @@
[console_scripts]
weasyprint=weasyprint.__main__:main