PyPDFForm 3.5.3__py3-none-any.whl → 4.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. PyPDFForm/__init__.py +5 -3
  2. PyPDFForm/adapter.py +33 -1
  3. PyPDFForm/ap.py +99 -0
  4. PyPDFForm/assets/__init__.py +0 -0
  5. PyPDFForm/assets/blank.py +100 -0
  6. PyPDFForm/constants.py +20 -2
  7. PyPDFForm/coordinate.py +7 -11
  8. PyPDFForm/deprecation.py +30 -0
  9. PyPDFForm/filler.py +17 -36
  10. PyPDFForm/font.py +16 -16
  11. PyPDFForm/hooks.py +153 -30
  12. PyPDFForm/image.py +0 -3
  13. PyPDFForm/middleware/__init__.py +35 -0
  14. PyPDFForm/middleware/base.py +24 -5
  15. PyPDFForm/middleware/checkbox.py +18 -1
  16. PyPDFForm/middleware/signature.py +0 -1
  17. PyPDFForm/patterns.py +44 -13
  18. PyPDFForm/raw/__init__.py +37 -0
  19. PyPDFForm/raw/circle.py +65 -0
  20. PyPDFForm/raw/ellipse.py +69 -0
  21. PyPDFForm/raw/image.py +79 -0
  22. PyPDFForm/raw/line.py +65 -0
  23. PyPDFForm/raw/rect.py +70 -0
  24. PyPDFForm/raw/text.py +73 -0
  25. PyPDFForm/template.py +114 -12
  26. PyPDFForm/types.py +49 -0
  27. PyPDFForm/utils.py +31 -41
  28. PyPDFForm/watermark.py +153 -44
  29. PyPDFForm/widgets/__init__.py +1 -0
  30. PyPDFForm/widgets/base.py +79 -59
  31. PyPDFForm/widgets/checkbox.py +30 -30
  32. PyPDFForm/widgets/dropdown.py +42 -40
  33. PyPDFForm/widgets/image.py +17 -16
  34. PyPDFForm/widgets/radio.py +27 -28
  35. PyPDFForm/widgets/signature.py +96 -60
  36. PyPDFForm/widgets/text.py +40 -40
  37. PyPDFForm/wrapper.py +256 -240
  38. {pypdfform-3.5.3.dist-info → pypdfform-4.2.0.dist-info}/METADATA +33 -26
  39. pypdfform-4.2.0.dist-info/RECORD +47 -0
  40. {pypdfform-3.5.3.dist-info → pypdfform-4.2.0.dist-info}/licenses/LICENSE +1 -1
  41. pypdfform-3.5.3.dist-info/RECORD +0 -35
  42. /PyPDFForm/{widgets → assets}/bedrock.py +0 -0
  43. {pypdfform-3.5.3.dist-info → pypdfform-4.2.0.dist-info}/WHEEL +0 -0
  44. {pypdfform-3.5.3.dist-info → pypdfform-4.2.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyPDFForm
3
- Version: 3.5.3
3
+ Version: 4.2.0
4
4
  Summary: The Python library for PDF forms.
5
5
  Author: Jinge Li
6
6
  License-Expression: MIT
@@ -10,33 +10,35 @@ Classifier: Development Status :: 5 - Production/Stable
10
10
  Classifier: Intended Audience :: Developers
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
- Classifier: Programming Language :: Python :: 3.9
14
13
  Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: Programming Language :: Python :: 3.11
16
15
  Classifier: Programming Language :: Python :: 3.12
17
16
  Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Programming Language :: Python :: 3.14
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
- Requires-Python: >=3.9
20
+ Requires-Python: >=3.10
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: cryptography
24
- Requires-Dist: fonttools
25
- Requires-Dist: pillow
26
- Requires-Dist: pypdf
27
- Requires-Dist: reportlab
23
+ Requires-Dist: cryptography<47.0.0,>=46.0.3
24
+ Requires-Dist: fonttools<5.0.0,>=4.60.1
25
+ Requires-Dist: pikepdf<11.0.0,>=10.0.2
26
+ Requires-Dist: pillow<13.0.0,>=12.0.0
27
+ Requires-Dist: pypdf<7.0.0,>=6.3.0
28
+ Requires-Dist: reportlab<5.0.0,>=4.4.6
28
29
  Provides-Extra: dev
29
- Requires-Dist: black; extra == "dev"
30
- Requires-Dist: coverage; extra == "dev"
31
- Requires-Dist: isort; extra == "dev"
32
- Requires-Dist: jsonschema; extra == "dev"
33
- Requires-Dist: mkdocs; extra == "dev"
34
- Requires-Dist: pudb; extra == "dev"
35
- Requires-Dist: pylint; extra == "dev"
36
- Requires-Dist: pyright; extra == "dev"
37
- Requires-Dist: pytest; extra == "dev"
38
- Requires-Dist: requests; extra == "dev"
39
- Requires-Dist: ruff; extra == "dev"
30
+ Requires-Dist: black<26.0.0,>=25.11.0; extra == "dev"
31
+ Requires-Dist: coverage<8.0.0,>=7.12.0; extra == "dev"
32
+ Requires-Dist: isort<8.0.0,>=7.0.0; extra == "dev"
33
+ Requires-Dist: jsonschema<5.0.0,>=4.25.1; extra == "dev"
34
+ Requires-Dist: mkdocs<2.0.0,>=1.6.1; extra == "dev"
35
+ Requires-Dist: mkdocs-material<10.0.0,>=9.7.0; extra == "dev"
36
+ Requires-Dist: pudb<2026.0.0,>=2025.1.3; extra == "dev"
37
+ Requires-Dist: pylint<5.0.0,>=4.0.3; extra == "dev"
38
+ Requires-Dist: pyright<2.0.0,>=1.1.407; extra == "dev"
39
+ Requires-Dist: pytest<10.0.0,>=9.0.1; extra == "dev"
40
+ Requires-Dist: requests<3.0.0,>=2.32.5; extra == "dev"
41
+ Requires-Dist: ruff<1.0.0,>=0.14.6; extra == "dev"
40
42
  Dynamic: license-file
41
43
 
42
44
  <p align="center"><img src="https://github.com/chinapandaman/PyPDFForm/raw/master/docs/img/logo.png"></p>
@@ -46,7 +48,7 @@ Dynamic: license-file
46
48
  <p align="center">
47
49
  <a href="https://pypi.org/project/PyPDFForm/"><img src="https://img.shields.io/pypi/v/pypdfform?label=version&color=magenta"></a>
48
50
  <a href="https://chinapandaman.github.io/PyPDFForm/"><img src="https://img.shields.io/github/v/release/chinapandaman/pypdfform?label=docs&color=cyan"></a>
49
- <a href="https://github.com/chinapandaman/PyPDFForm/actions/workflows/python-package.yml"><img src="https://img.shields.io/badge/coverage-100%25-green"></a>
51
+ <a href="https://codecov.io/gh/chinapandaman/PyPDFForm"><img src="https://img.shields.io/codecov/c/github/chinapandaman/pypdfform"/></a>
50
52
  <a href="https://github.com/chinapandaman/PyPDFForm/raw/master/LICENSE"><img src="https://img.shields.io/github/license/chinapandaman/pypdfform?label=license&color=orange"></a>
51
53
  <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/pypi/pyversions/pypdfform?label=python&color=gold"></a>
52
54
  <a href="https://pepy.tech/projects/pypdfform"><img src="https://static.pepy.tech/badge/pypdfform/month"></a>
@@ -54,8 +56,7 @@ Dynamic: license-file
54
56
 
55
57
  ## Introduction
56
58
 
57
- PyPDFForm is a free and open source pure-Python 3 library for PDF form processing. It contains the essential
58
- functionalities needed to interact with PDF forms:
59
+ PyPDFForm is a Python library for PDF form processing. It contains the essential functionalities needed to interact with PDF forms:
59
60
 
60
61
  * Inspect what data a PDF form needs to be filled with.
61
62
  * Fill a PDF form by simply creating a Python dictionary.
@@ -65,7 +66,7 @@ It also supports other common utilities such as extracting pages and merging mul
65
66
 
66
67
  ## Installing
67
68
 
68
- Install using [pip](https://pip.pypa.io/en/stable/):
69
+ Install using [pip](https://pypi.org/project/PyPDFForm/):
69
70
 
70
71
  ```shell script
71
72
  pip install PyPDFForm
@@ -74,12 +75,12 @@ pip install PyPDFForm
74
75
  ## Quick Example
75
76
  ![Check out the GitHub repository for a live demo if you can't see it here.](https://github.com/chinapandaman/PyPDFForm/raw/master/docs/img/demo.gif)
76
77
 
77
- A sample PDF form can be found [here](https://chinapandaman.github.io/PyPDFForm/pdfs/sample_template.pdf). Download it and try:
78
+ A sample PDF form can be found [here](https://chinapandaman.github.io/PyPDFForm/latest/pdfs/sample_template.pdf). Download it and try:
78
79
 
79
80
  ```python
80
81
  from PyPDFForm import PdfWrapper
81
82
 
82
- filled = PdfWrapper("sample_template.pdf", adobe_mode=True).fill(
83
+ filled = PdfWrapper("sample_template.pdf", need_appearances=True).fill(
83
84
  {
84
85
  "test": "test_1",
85
86
  "check": True,
@@ -94,7 +95,7 @@ filled.write("output.pdf")
94
95
  ```
95
96
 
96
97
  After running the above code snippet you can find `output.pdf` at the location you specified,
97
- and it should look like [this](https://chinapandaman.github.io/PyPDFForm/pdfs/sample_filled.pdf).
98
+ and it should look like [this](https://chinapandaman.github.io/PyPDFForm/latest/pdfs/sample_filled.pdf).
98
99
 
99
100
  ## Documentation
100
101
 
@@ -103,3 +104,9 @@ The official documentation can be found on [the GitHub page](https://chinapandam
103
104
  ## Other Resources
104
105
 
105
106
  [Chicago Python User Group - Dec 14, 2023](https://youtu.be/8t1RdAKwr9w?si=TLgumBNXv9H8szSn)
107
+
108
+ ## Star History
109
+
110
+ This project is maintained entirely in my spare time. If you like the project please consider starring the GitHub repository. It is the best way to keep me motivated and continue making the project better.
111
+
112
+ [![Stargazers over time](https://starchart.cc/chinapandaman/PyPDFForm.svg?variant=adaptive)](https://starchart.cc/chinapandaman/PyPDFForm)
@@ -0,0 +1,47 @@
1
+ PyPDFForm/__init__.py,sha256=TRP01GOW4LNg9VYxX0pXqzWI_XtVIQLoR0RwBi_RGEo,1015
2
+ PyPDFForm/adapter.py,sha256=MvKJltg76WHbx_YpjrIVlDWFicr54J5ggeLz9KaD5Jg,3535
3
+ PyPDFForm/ap.py,sha256=UbKa6VtwUGD-mtPxQgCRvFVy7XJnkg14f7PKlJES52g,3314
4
+ PyPDFForm/constants.py,sha256=v-nReOGk6AMFR4bTLdORZV1QVndNkeyUlKae5ZOkYN4,3176
5
+ PyPDFForm/coordinate.py,sha256=l-VpZeixSfwZanIyO7YQ75eiWlNn-S2zMljsuP-k-8g,3824
6
+ PyPDFForm/deprecation.py,sha256=6AgMY6IT_ZqYQ_ylzENM3gXCScFcVZUDfrWkD_E1810,865
7
+ PyPDFForm/filler.py,sha256=cLY8X3lhHu7qJrF3yoqBslzPvStfvDeLgMrQ_JdQATQ,6484
8
+ PyPDFForm/font.py,sha256=JVdZG1pCPKNVXoWHxEgN3_wH6MBqUnIQYnyC5rnEMZI,12384
9
+ PyPDFForm/hooks.py,sha256=zSqIRjFijGETyLPDOjuYeZRfl36-6isMKR5UwQCldtc,20366
10
+ PyPDFForm/image.py,sha256=CAC69jEfSbWbyNJcjLhjWVSNJuFh7frMI70eaiFayHw,3823
11
+ PyPDFForm/patterns.py,sha256=vFsYODexkMtGZfJzKn97j9vPy524wkrh2HQB94ucOyA,10865
12
+ PyPDFForm/template.py,sha256=sZHX0T6Iydk-4gykTx7AdXZEyIzCnsTGRNBdQdJ1olc,13099
13
+ PyPDFForm/types.py,sha256=IfEXp3CUph8Nwwy3J3Vz9FGKL_hI4x-4rynENfuNozo,1664
14
+ PyPDFForm/utils.py,sha256=85b9wSj50z77KgW6yYgc9RVtON1gyyQcc6_LCx5tDRw,10954
15
+ PyPDFForm/watermark.py,sha256=wW0KYqJyem0fGvJcx8N7_q7qsBv1MpkIxgkH-axhI9o,13049
16
+ PyPDFForm/wrapper.py,sha256=ZIttsCCo6up60XOoRu0n3a4Ae3CEhKl9q_OUusRAZKA,28613
17
+ PyPDFForm/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ PyPDFForm/assets/bedrock.py,sha256=j6beU04kaQzpAIFZHI5VJLaDT5RVAAa6LzkU1luJpN8,137660
19
+ PyPDFForm/assets/blank.py,sha256=FIelSDR8jo9Nnn9OqVIllueNpVJhiuN4J_eWLSxmbEg,3366
20
+ PyPDFForm/middleware/__init__.py,sha256=1uROJMTnvoYHGiWLWc9X_-rGlFiFZN6b3FUbeGIVo4M,995
21
+ PyPDFForm/middleware/base.py,sha256=TqEQiY0oQBJnjZBT_86pW0gqfdjDIB30rmHYHCT-uG0,4369
22
+ PyPDFForm/middleware/checkbox.py,sha256=C-GQHbh0kK3n8eRCnxHHUMnLwyXqBcFTTUdLNUG23HM,2559
23
+ PyPDFForm/middleware/dropdown.py,sha256=oVIuzgjhOoPqZIXCqeXjxbXTkeCukVTTC9XtaSYhn_8,4052
24
+ PyPDFForm/middleware/image.py,sha256=eKM7anU56jbaECnK6rq0jGsBRY3HW_fM86fgA3hq7xA,585
25
+ PyPDFForm/middleware/radio.py,sha256=PuGDJ8RN1C-MkL9Jf14ABWYV67cN18R66dI4nR-03DU,2211
26
+ PyPDFForm/middleware/signature.py,sha256=a2IfD36zpEWXWNNWRvtJ6nG6TszkF6Wil82Szsbjfns,2149
27
+ PyPDFForm/middleware/text.py,sha256=WLK6Ae9zT3uUu1AzcWUhR-hs5rm0z9Ydz-fL8Qu-44o,3997
28
+ PyPDFForm/raw/__init__.py,sha256=7YPUdRbhWyPcesJ00A1P59gUifqnU0LjjsSk0I3D0fU,1103
29
+ PyPDFForm/raw/circle.py,sha256=0Z1DThN-u4x7krnSjS1jaJrW-qe-y2vzMyjmEUL64gw,2195
30
+ PyPDFForm/raw/ellipse.py,sha256=8G3OtEpuzyjMd2tuCsFDWMDbiPEx_2RwgN6y6QXxc9w,2275
31
+ PyPDFForm/raw/image.py,sha256=N3Pqlm0qu6xQIbsjuA14JUYQPW7Bn2Dry1ahWBc-rx0,2694
32
+ PyPDFForm/raw/line.py,sha256=k_deWZ8NQCWdLLCJcC26EDkHhzzv39NCPwW8dqFuzYI,2091
33
+ PyPDFForm/raw/rect.py,sha256=Itha0_bV1jIjYJp0qJcFlBl0KSM0QOOPdJ77srohH9s,2313
34
+ PyPDFForm/raw/text.py,sha256=wEUU5tRo-bg4kNvjt-y52_1s-S7WirlE69Z2njWZp44,2365
35
+ PyPDFForm/widgets/__init__.py,sha256=mBW1vJKeSVvwOedj2Vvo_ryHjW7ahtWk5XaKRDIacwc,1328
36
+ PyPDFForm/widgets/base.py,sha256=WYy0htE5sdnEeSTpAKe7bhRzag3JJynZjzuUxA9cidI,8816
37
+ PyPDFForm/widgets/checkbox.py,sha256=Hr_xeQe3don88YWMDEluk7rbEosUXCpILbRWpY5yvkI,2908
38
+ PyPDFForm/widgets/dropdown.py,sha256=agHg-riJRIWe-c5bp3CM1n0lbNgGtWw4bc5Ztrwy5z4,3622
39
+ PyPDFForm/widgets/image.py,sha256=6087DYpvQKjcUiSAqgLizqR9tSxrUMQQu4NHBR6aF5w,1697
40
+ PyPDFForm/widgets/radio.py,sha256=5mXEnpFqKx1QjVi7baO_QI2EEwmQCQJSCvd9bbs-7bs,3647
41
+ PyPDFForm/widgets/signature.py,sha256=f2aL2UXN2mqvEAJ5c4tHfHloRr0msyTHZOUVx5H0USo,6580
42
+ PyPDFForm/widgets/text.py,sha256=jjoUoZd5NNIgFzTgqkNgprkVw79HHt7C8NkUDsG8JZE,3878
43
+ pypdfform-4.2.0.dist-info/licenses/LICENSE,sha256=vtTk1XmmRbp1EoZU1NP0NarH_dAB3h6Od71j5IhtLIE,1073
44
+ pypdfform-4.2.0.dist-info/METADATA,sha256=lsZoqWVUE9-fiGB2W8jJ7xId95FFJVtaEelp7XibmpM,4955
45
+ pypdfform-4.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
+ pypdfform-4.2.0.dist-info/top_level.txt,sha256=GQQKuWqPUjT9YZqwK95NlAQzxjwoQrsxQ8ureM8lWOY,10
47
+ pypdfform-4.2.0.dist-info/RECORD,,
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 Jinge Li
3
+ Copyright (c) 2020-present Jinge Li
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,35 +0,0 @@
1
- PyPDFForm/__init__.py,sha256=f6p76v9KMN-iTXmrSFIVwPObFLjs2P6QJ_sqpM-mEow,963
2
- PyPDFForm/adapter.py,sha256=LBxHth0qJFB6rdByRJbsn4x0dftCOAolKVutZeFZm9E,2634
3
- PyPDFForm/constants.py,sha256=tFtomm4bSsghxRqKaMP6Tln7ug9W_72e-AAU3sEU_no,2917
4
- PyPDFForm/coordinate.py,sha256=veYOlRyFKIvzLISYA_f-drNBiKOzFwr0EIFCaUAzGgo,4428
5
- PyPDFForm/filler.py,sha256=fqGIxT3FR3cWo3SMTDYud6Ocs9SZBmSpFv5yg1v19Wk,8450
6
- PyPDFForm/font.py,sha256=TkiGPHIf4NxDiDzkrlXIr1r-DZC1V4aYrQAzGFxBlLI,13423
7
- PyPDFForm/hooks.py,sha256=NxjOG3ym01uxhxEdoH9IDH0q1zBqPDeg4oq-0Ur2B4Q,16415
8
- PyPDFForm/image.py,sha256=P1P3Ejm8PVPQwpJFGAesjtwS5hxnVItrj75TE3WnFhM,4607
9
- PyPDFForm/patterns.py,sha256=CjZBv5nGfJ1NmAiwfsvRTwEQ-v5U8S6vrUlrUaAAyP0,10621
10
- PyPDFForm/template.py,sha256=IQ5iPcAIeKNnNcv_eYqjcid-1CtQdNQtN4vu4F3pPBU,11362
11
- PyPDFForm/utils.py,sha256=JavhAO4HmYRdujlsPXcZWGXTf7wDXzj4uU1XGRFsAaA,13257
12
- PyPDFForm/watermark.py,sha256=BJ8NeZLKf-MuJ2XusHiALaQpoqE8j6hHGbWcNhpjxN0,11299
13
- PyPDFForm/wrapper.py,sha256=_KKE2jUBcXxnkMzL8T43JjMmf8fvuJ-TTmYEy_h7h-c,30603
14
- PyPDFForm/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- PyPDFForm/middleware/base.py,sha256=ZmJFh3nSxj6PFjqBqsLih0pXKtcm1o-ctJVWn0v6bbI,3278
16
- PyPDFForm/middleware/checkbox.py,sha256=OCSZEFD8wQG_Y9qO7Os6VXTaxJCpkRYTxI4wDgG0GZc,1870
17
- PyPDFForm/middleware/dropdown.py,sha256=oVIuzgjhOoPqZIXCqeXjxbXTkeCukVTTC9XtaSYhn_8,4052
18
- PyPDFForm/middleware/image.py,sha256=eKM7anU56jbaECnK6rq0jGsBRY3HW_fM86fgA3hq7xA,585
19
- PyPDFForm/middleware/radio.py,sha256=PuGDJ8RN1C-MkL9Jf14ABWYV67cN18R66dI4nR-03DU,2211
20
- PyPDFForm/middleware/signature.py,sha256=P6Mg9AZP5jML7GawsteVZjDaunKb9Yazu5iy0qF60bo,2432
21
- PyPDFForm/middleware/text.py,sha256=WLK6Ae9zT3uUu1AzcWUhR-hs5rm0z9Ydz-fL8Qu-44o,3997
22
- PyPDFForm/widgets/__init__.py,sha256=TvMMWGtrTC4xRPRokr4Pl8ZtvfYXRPUDgfHd3pnbPE8,1304
23
- PyPDFForm/widgets/base.py,sha256=Y8cf8mR7VMdH2L3pmI43NWxm7M9FLHgHMBAf6wb549c,8486
24
- PyPDFForm/widgets/bedrock.py,sha256=j6beU04kaQzpAIFZHI5VJLaDT5RVAAa6LzkU1luJpN8,137660
25
- PyPDFForm/widgets/checkbox.py,sha256=IwQvw2W6HuSLyZFv-qGvdvCHp8uAp2KjOAt7-Y73Y74,2870
26
- PyPDFForm/widgets/dropdown.py,sha256=7yPxx-uWyZe8wxxVqYVXvomPHp_5CAygAEMldibe6eg,3528
27
- PyPDFForm/widgets/image.py,sha256=SegpzNjTXPuWX4hk_20yKk_IDaOrc81X9b9B4qK-kME,1628
28
- PyPDFForm/widgets/radio.py,sha256=pSOAgOakGAoi-190pFklMmLClFdPCWMDYWW1Ce6q__g,3933
29
- PyPDFForm/widgets/signature.py,sha256=yye_CLYpgurLJ_rt7Td3xaY28uSAHc1YlqL1gmWqPqw,6034
30
- PyPDFForm/widgets/text.py,sha256=EG2mR-POHGWt9I-t3QVsTFIiDB5yqKPDBTKkAytQGp8,3836
31
- pypdfform-3.5.3.dist-info/licenses/LICENSE,sha256=43awmYkI6opyTpg19me731iO1WfXZwViqb67oWtCsFY,1065
32
- pypdfform-3.5.3.dist-info/METADATA,sha256=zWV62yU5VcIpdUTbGolVcJwMTqEJgeJG0O1v1mthSkE,4267
33
- pypdfform-3.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
34
- pypdfform-3.5.3.dist-info/top_level.txt,sha256=GQQKuWqPUjT9YZqwK95NlAQzxjwoQrsxQ8ureM8lWOY,10
35
- pypdfform-3.5.3.dist-info/RECORD,,
File without changes