pdfluent-extract 0.1.0__tar.gz
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.
- pdfluent_extract-0.1.0/.gitignore +187 -0
- pdfluent_extract-0.1.0/LICENSE +661 -0
- pdfluent_extract-0.1.0/LICENSE-COMMERCIAL +220 -0
- pdfluent_extract-0.1.0/PKG-INFO +142 -0
- pdfluent_extract-0.1.0/README.md +104 -0
- pdfluent_extract-0.1.0/pdfluent_extract/__init__.py +222 -0
- pdfluent_extract-0.1.0/pdfluent_extract/cli.py +167 -0
- pdfluent_extract-0.1.0/pyproject.toml +53 -0
- pdfluent_extract-0.1.0/tests/test_cli.py +158 -0
- pdfluent_extract-0.1.0/tests/test_extract.py +170 -0
- pdfluent_extract-0.1.0/tests/test_packaging.py +132 -0
- pdfluent_extract-0.1.0/tests/test_pdf_header_routing.py +122 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/target
|
|
2
|
+
pdfluent-examples/dotnet/**/bin/
|
|
3
|
+
pdfluent-examples/dotnet/**/obj/
|
|
4
|
+
.env
|
|
5
|
+
.env.*
|
|
6
|
+
*.pem
|
|
7
|
+
*.key
|
|
8
|
+
*.p12
|
|
9
|
+
*.pfx
|
|
10
|
+
*.swp
|
|
11
|
+
*.swo
|
|
12
|
+
.DS_Store
|
|
13
|
+
*.pdf
|
|
14
|
+
!/tests/fixtures/*.pdf
|
|
15
|
+
!/fixtures/formcalc/*.pdf
|
|
16
|
+
!/fixtures/xfa-layout/*.pdf
|
|
17
|
+
!/fixtures/xfa-data/*.pdf
|
|
18
|
+
!/fixtures/scanned/*.pdf
|
|
19
|
+
# Hostile PDFs: small, hand-built files that must not crash the renderer (#262).
|
|
20
|
+
!/fixtures/pdf/*.pdf
|
|
21
|
+
# The document every binding's structured-extraction suite reads (#573). It is
|
|
22
|
+
# built and pinned by crates/pdf-engine/tests/the_api_over_the_block_model.rs;
|
|
23
|
+
# the older files beside it are tracked from before `*.pdf` was ignored at all,
|
|
24
|
+
# which is why only this one needs saying.
|
|
25
|
+
!/fixtures/structured.pdf
|
|
26
|
+
# Three text pages under a two-level outline, which the chunk suites of both
|
|
27
|
+
# bindings read for per-page toc_items. Built by
|
|
28
|
+
# scripts/make-outlined-fixture.py, byte-deterministic.
|
|
29
|
+
!/fixtures/outlined.pdf
|
|
30
|
+
# The four-page report with a running head and page numbers that the markdown
|
|
31
|
+
# furniture suites read. Built and pinned by
|
|
32
|
+
# crates/pdf-engine/tests/markdown_furniture_and_separators.rs.
|
|
33
|
+
!/fixtures/running-head.pdf
|
|
34
|
+
# One page with two hand-built image XObjects (7x5 RGB Flate, 4x3 Gray raw)
|
|
35
|
+
# that every binding's known-images suite reads. Built by
|
|
36
|
+
# fixtures/gen/known_images.py, byte-deterministic (#643).
|
|
37
|
+
!/fixtures/known-images.pdf
|
|
38
|
+
!/tests/corpus-mini/*.pdf
|
|
39
|
+
!/crates/pdf-java/src/test/resources/*.pdf
|
|
40
|
+
!/crates/visual-regression/fixtures/*.pdf
|
|
41
|
+
# One DocLayNet train page, registered in corpus_herkomst.py: the operator
|
|
42
|
+
# page of the list-splitting model (#599).
|
|
43
|
+
!/crates/pdf-engine/tests/fixtures/doclaynet/*.pdf
|
|
44
|
+
# PubTables-1M train pages, registered in corpus_herkomst.py (#574).
|
|
45
|
+
!/crates/pdf-engine/tests/fixtures/pubtables/*.pdf
|
|
46
|
+
metadata.sqlite
|
|
47
|
+
/reports/
|
|
48
|
+
/renders/
|
|
49
|
+
/crates/xfa-wasm/pkg/
|
|
50
|
+
/fuzz/artifacts/
|
|
51
|
+
/fuzz/corpus/*/
|
|
52
|
+
!/fuzz/corpus/*/seed_*
|
|
53
|
+
node_modules/
|
|
54
|
+
package-lock.json
|
|
55
|
+
!/test-data/xfa-golden/*.pdf
|
|
56
|
+
/benchmarks/weekly/benchmark-*.json
|
|
57
|
+
/benchmarks/weekly/benchmark-*-report.md
|
|
58
|
+
/benchmarks/weekly/regression-*.md
|
|
59
|
+
/benchmarks/stress-fixtures/
|
|
60
|
+
# Any __pycache__, at any depth. The narrower `scripts/__pycache__/` did not match
|
|
61
|
+
# scripts/ci/__pycache__/, so bytecode from the CI helpers kept turning up staged.
|
|
62
|
+
__pycache__/
|
|
63
|
+
*.pyc
|
|
64
|
+
.cache/
|
|
65
|
+
out/
|
|
66
|
+
|
|
67
|
+
# M8-CLEANUP-04 (#1380): VPS/local expensive validation reports
|
|
68
|
+
validation-reports/
|
|
69
|
+
|
|
70
|
+
# Build artifacts: Python bindings (maturin/PyO3 compiled extensions).
|
|
71
|
+
# Machine-specific, must never be committed.
|
|
72
|
+
crates/pdf-python/python/**/*.so
|
|
73
|
+
crates/pdf-python/python/**/*.pyd
|
|
74
|
+
crates/pdf-python/dist/
|
|
75
|
+
# Project-local Python environment (`maturin develop` installs here).
|
|
76
|
+
.venv/
|
|
77
|
+
|
|
78
|
+
# Build artifacts: Node.js bindings (napi-rs compiled .node files).
|
|
79
|
+
crates/pdf-node/index.*.node
|
|
80
|
+
crates/pdf-node/artifacts/
|
|
81
|
+
|
|
82
|
+
# Build artifacts: the @pdfluent/extract wrapper (tsc emit, never source).
|
|
83
|
+
integrations/pdfluent-extract-js/dist/
|
|
84
|
+
|
|
85
|
+
# Belt-and-suspenders for wasm-pack output within pkg/ (already covered by /crates/xfa-wasm/pkg/ above).
|
|
86
|
+
crates/xfa-wasm/pkg/*.js
|
|
87
|
+
crates/xfa-wasm/pkg/*.wasm
|
|
88
|
+
crates/xfa-wasm/pkg/*.d.ts
|
|
89
|
+
|
|
90
|
+
# .NET and Java build outputs (added wave1-release)
|
|
91
|
+
bindings/dotnet/**/bin/
|
|
92
|
+
bindings/dotnet/**/obj/
|
|
93
|
+
bindings/java/target/
|
|
94
|
+
crates/pdf-java/target/
|
|
95
|
+
|
|
96
|
+
# .NET runtime-specific native bundles (regenerated at release time)
|
|
97
|
+
bindings/dotnet/**/runtimes/
|
|
98
|
+
|
|
99
|
+
# Java JNA native bundles (built by release pipeline, not committed)
|
|
100
|
+
bindings/java/src/main/resources/native/
|
|
101
|
+
|
|
102
|
+
# .NET NuGet packages
|
|
103
|
+
*.nupkg
|
|
104
|
+
|
|
105
|
+
# Doxygen generated output
|
|
106
|
+
crates/pdf-capi/doxygen-out/
|
|
107
|
+
|
|
108
|
+
# Compiled C example binaries (built by examples/Makefile)
|
|
109
|
+
crates/pdf-capi/examples/license_activate
|
|
110
|
+
|
|
111
|
+
# M9-A hygiene: generated publish dry-run logs embed machine-local /Users/ paths
|
|
112
|
+
benchmarks/runs/**/dry_run_logs*/
|
|
113
|
+
benchmarks/runs/**/dry_run_logs/
|
|
114
|
+
**/audit_rust_post_commit.log
|
|
115
|
+
|
|
116
|
+
# Corpus PDFs: large public-domain input files; not needed for CI builds.
|
|
117
|
+
# Exception: small test fixtures referenced by non-ignored integration tests.
|
|
118
|
+
# Note: only ignore the PDFs/JSONs, not the directory itself, so exceptions work.
|
|
119
|
+
corpus/*.pdf
|
|
120
|
+
!/corpus/PDFBOX-4322-3.pdf
|
|
121
|
+
!/corpus/f1040.pdf
|
|
122
|
+
!/corpus/sf15.pdf
|
|
123
|
+
!/corpus/sf181.pdf
|
|
124
|
+
!/corpus/fw7.pdf
|
|
125
|
+
corpus/*.json
|
|
126
|
+
# The gate corpus is a manifest, not a directory of PDFs: URLs pinned to an
|
|
127
|
+
# upstream commit plus a SHA-256 each. Text, so it publishes safely (#215),
|
|
128
|
+
# and it is the thing the pull-request gates are pinned to (#276).
|
|
129
|
+
!/corpus/GATE_CORPUS_MANIFEST.json
|
|
130
|
+
!/corpus/GATE_CORPUS_KNOWN_CRASHES.json
|
|
131
|
+
# Where fetch_gate_corpus.py materialises that manifest. Never committed.
|
|
132
|
+
/corpus/gate/
|
|
133
|
+
# ...but the gate manifests are inputs, not outputs. They are tracked, and
|
|
134
|
+
# `corpus/*.json` above would silently drop a re-added one -- the others
|
|
135
|
+
# survive only because they predate that line. Declared, so the next person
|
|
136
|
+
# who deletes and restores one does not lose it without being told.
|
|
137
|
+
!/corpus/SSIM_GATE_MANIFEST.json
|
|
138
|
+
|
|
139
|
+
benchmarks/runs/xfa_enterprise_plan/sprint2/heatmaps_demo/
|
|
140
|
+
crates/pdf-capi/tests/test_text_blocks
|
|
141
|
+
crates/pdf-capi/tests/test_structured_extraction
|
|
142
|
+
crates/pdf-capi/tests/test_journal
|
|
143
|
+
crates/pdf-capi/tests/test_form_write
|
|
144
|
+
crates/pdf-capi/tests/test_plain_images
|
|
145
|
+
benchmarks/runs/xfa_enterprise_plan/custom_defects/xfa_test_flatten/artifacts/
|
|
146
|
+
/dist/
|
|
147
|
+
|
|
148
|
+
# ── Fuzz build outputs ────────────────────────────────────────────────────────
|
|
149
|
+
# The root /target rule only covers the workspace target. Every fuzz crate builds
|
|
150
|
+
# its own target/ under its fuzz/ subdirectory and these are never source.
|
|
151
|
+
/fuzz/target/
|
|
152
|
+
**/fuzz/target/
|
|
153
|
+
|
|
154
|
+
# ── WASM pkg-release directory ────────────────────────────────────────────────
|
|
155
|
+
# /crates/xfa-wasm/pkg/ is already covered above; pkg-release/ is the optimised
|
|
156
|
+
# release variant produced by wasm-pack --release and is equally reproducible.
|
|
157
|
+
/crates/xfa-wasm/pkg-release/
|
|
158
|
+
|
|
159
|
+
# ── Native binary artifacts (belt-and-suspenders) ─────────────────────────────
|
|
160
|
+
# Specific directories are already covered above (bindings/**/runtimes/, etc.).
|
|
161
|
+
# These global patterns guard against any new crate that adds a native output
|
|
162
|
+
# path not yet covered by a directory rule.
|
|
163
|
+
# Exceptions: none expected — no legitimate source file has these extensions.
|
|
164
|
+
*.dylib
|
|
165
|
+
*.dylib.dSYM/
|
|
166
|
+
**/*.dSYM/
|
|
167
|
+
*.dll
|
|
168
|
+
*.so
|
|
169
|
+
# *.rlib and *.rmeta live inside target/ (already ignored) but cover edge cases
|
|
170
|
+
# where cargo or fuzz builds emit them outside the workspace target directory.
|
|
171
|
+
*.rlib
|
|
172
|
+
*.rmeta
|
|
173
|
+
|
|
174
|
+
# ── pdfluent-examples example node_modules ───────────────────────────────────
|
|
175
|
+
# The top-level node_modules/ rule covers workspace root, but examples that run
|
|
176
|
+
# npm install inside their own subdirectory need this explicit pattern.
|
|
177
|
+
pdfluent-examples/**/node_modules/
|
|
178
|
+
crates/pdf-node/node_modules/
|
|
179
|
+
|
|
180
|
+
# ── local measurement output ───────────────────────────────────────────────
|
|
181
|
+
# Jobs write evidence under meas-out/<name>/ inside the workspace; the
|
|
182
|
+
# launcher copies it out afterwards. Never committed, and invisible to the
|
|
183
|
+
# clean-tree gates (a run that refused itself over its own output dir).
|
|
184
|
+
# Measurement outputs: local proof logs, never tracked (#574).
|
|
185
|
+
meas-out/
|
|
186
|
+
# Measurement evidence, same rule: train Q carried meas/p4l-3f/ into the repo.
|
|
187
|
+
meas/
|