Skip to content

Commit 7e3fdd8

Browse files
authored
Merge pull request #39 from Filimoa/fitz-memory-leak
[Memory Leak Fix] Create Fitz Pdf From Bytestream
2 parents 56b5a88 + 4aac742 commit 7e3fdd8

5 files changed

Lines changed: 9 additions & 9 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ name = "openparse"
77
description = "Streamlines the process of preparing documents for LLM's."
88
readme = "README.md"
99
requires-python = ">=3.8"
10-
version = "0.5.4"
10+
version = "0.5.5"
1111
authors = [{name = "Sergey Filimonov", email = "hello@sergey.fyi"}]
1212
dependencies = [
1313
"PyMuPDF >= 1.23.2",

src/openparse/doc_parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from openparse import tables, text, consts
55
from openparse.pdf import Pdf
6-
from openparse.types import NOT_GIVEN, NotGiven
6+
from openparse._types import NOT_GIVEN, NotGiven
77
from openparse.processing import (
88
IngestionPipeline,
99
BasicIngestionPipeline,
@@ -34,7 +34,7 @@ class PyMuPDFArgsDict(TypedDict, total=False):
3434

3535

3636
def _table_args_dict_to_model(
37-
args_dict: Union[TableTransformersArgsDict, PyMuPDFArgsDict]
37+
args_dict: Union[TableTransformersArgsDict, PyMuPDFArgsDict],
3838
) -> Union[tables.TableTransformersArgs, tables.PyMuPDFArgs]:
3939
if args_dict["parsing_algorithm"] == "table-transformers":
4040
return tables.TableTransformersArgs(**args_dict)

src/openparse/pdf.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import random
2-
import tempfile
2+
import io
33
from pathlib import Path
44
from typing import Iterator, List, Literal, Optional, Union, Tuple, Any
5-
from pydantic import BaseModel
65

6+
from pydantic import BaseModel
77
from pdfminer.high_level import extract_pages
88
from pdfminer.layout import LTPage
99
from pypdf import PdfReader, PdfWriter
@@ -115,9 +115,9 @@ def to_pymupdf_doc(self):
115115
if not self.writer.pages:
116116
return fitz.open(self.file_path)
117117

118-
with tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") as tmpfile:
119-
self.writer.write(tmpfile.name)
120-
return fitz.open(tmpfile.name)
118+
byte_stream = io.BytesIO()
119+
self.writer.write(byte_stream)
120+
return fitz.open(None, byte_stream)
121121

122122
def _draw_bboxes(
123123
self,

src/openparse/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
OPEN_PARSE_VERSION = "0.5.4"
1+
OPEN_PARSE_VERSION = "0.5.5"
22

33

44
def version_info() -> str:

0 commit comments

Comments
 (0)