Releases: Unstructured-IO/unstructured
0.16.24
0.16.24
Enhancements
-
Support dynamic partitioner file type registration. Use
create_file_typeto create new file type that can be handled
in unstructured andregister_partitionerto enable registering your own partitioner for any file type. -
extract_image_block_typesnow also works for CamelCase elemenet type names. PreviouslyNarrativeTextand similar CamelCase element types can't be extracted using the mentioned parameter inpartition. Now figures for those elements can be extracted likeImageandTableelements -
use block matrix to reduce peak memory usage for pdf/image partition.
Features
- Add JSON elements to HTML converter - Converts JSON elements file into an HTML file.
Fixes
0.16.23
0.16.22
0.16.21
Enhancements
-
Use password to load PDF with all modes
-
use vectorized logic to merge inferred and extracted layouts. Using the new
LayoutElementsdata structure and numpy library to refactor the layout merging logic to improve compute performance as well as making logic more clear -
Add PDF Miner configuration Now PDF Miner can be configured via
pdfminer_line_overlap,pdfminer_word_margin,pdfminer_line_marginandpdfminer_char_marginparameters added to partition method.
Features
Fixes
- Fix file type detection for NDJSON files NDJSON files were being detected as JSON due to having the same mime-type.
0.16.20
0.16.20
Enhancements
Features
Fixes
- Fix a security issue where rst and org files could read files in the local filesystem. Certain filetypes could 'include' or 'import' local files into their content, allowing partitioning of arbitrary files from the local filesystem. Partitioning of these files is now sandboxed.
0.16.19
Enhancements
Features
Fixes
- Fix a bug where table extraction is skipped when it shouldn't. Pages with just one table as its content or starts with a table misses table extraction. The routing logic is now fixed.
- Correct deprecated
ruffinvocation inmake tidy. This will future-proof it or avoid surprises if someone happens to upgrade Ruff. - Remove upper bound constraint on python version in setup.py. Python3.13 is not yet officially supported, but allow users to try.
- Fixes removing HTML elements from the inside of table cells in html partition v=2.0. The HTML partitioner now correctly preserves HTML elements from the inside of table cells.
0.16.17
0.16.17
Enhancements
- Refactoring the VoyageAI integration to use voyageai package directly, allowing extra features.
Features
Fixes
- Fix a bug where
build_layout_elements_from_cor_regionsincorrectly joins texts in wrong order.
Full Changelog: 0.16.16...0.16.17
0.16.16
0.16.16
Enhancements
Features
- Vectorize layout (inferred, extracted, and OCR) data structure Using
np.ndarrayto store a group of layout elements or text regions instead of using a list of objects. This improves the memory efficiency and compute speed around layout merging and deduplication.
Fixes
- Add auto-download for NLTK for Python Enviroment When user import tokenize, It will automatic download nltk data from
tokenize.pyfile. AddedAUTO_DOWNLOAD_NLTKflag intokenize.pyto downloadNLTK_DATA. - Correctly patch pdfminer to avoid PDF repair. The patch applied to pdfminer's parser caused it to occasionally split tokens in content streams, throwing
PDFSyntaxError. Repairing these PDFs sometimes failed (since they were not actually invalid) resulting in unnecessary OCR fallback.
- Drop usage of ndjson dependency
0.16.15
0.16.14
Enhancements
Features
Fixes
- Fix an issue with multiple values for
infer_table_structurewhen paritioning email with image attachements the kwarg calls intopartitionto partition the image already containsinfer_table_structure. Nowpartitionfunction checks if thekwarghasinfer_table_structurealready