From 70724f43798096ca226d27bf10b8a0d5db3e4fe5 Mon Sep 17 00:00:00 2001 From: Emily Voss Date: Fri, 13 Jun 2025 23:49:06 -0700 Subject: [PATCH 1/3] Better versioning --- CHANGELOG.md | 6 +++++- prepline_general/api/__version__.py | 1 + prepline_general/api/app.py | 3 ++- prepline_general/api/general.py | 5 +++-- preprocessing-pipeline-family.yaml | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 prepline_general/api/__version__.py diff --git a/CHANGELOG.md b/CHANGELOG.md index cd37b437..2acd6f27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ -## 0.0.86 +## 0.0.87 * Patch various CVEs +* Enable pytest concurrency +* Enable Claude Code +* Use Python 3.12 for testing +* Define version in one place ## 0.0.86 * Patch various CVEs diff --git a/prepline_general/api/__version__.py b/prepline_general/api/__version__.py new file mode 100644 index 00000000..52a2b406 --- /dev/null +++ b/prepline_general/api/__version__.py @@ -0,0 +1 @@ +__version__ = "0.0.87" # pragma: no cover diff --git a/prepline_general/api/app.py b/prepline_general/api/app.py index 26380bfb..92b44d5d 100644 --- a/prepline_general/api/app.py +++ b/prepline_general/api/app.py @@ -7,13 +7,14 @@ from .general import router as general_router from .openapi import set_custom_openapi +from prepline_general.api import __version__ as api_version logger = logging.getLogger("unstructured_api") app = FastAPI( title="Unstructured Pipeline API", summary="Partition documents with the Unstructured library", - version="0.0.86", + version=api_version, docs_url="/general/docs", openapi_url="/general/openapi.json", servers=[ diff --git a/prepline_general/api/general.py b/prepline_general/api/general.py index 17619702..1aef18b3 100644 --- a/prepline_general/api/general.py +++ b/prepline_general/api/general.py @@ -41,6 +41,7 @@ elements_from_json, ) from unstructured_inference.models.base import UnknownModelException +from prepline_general.api import __version__ as api_version app = FastAPI() router = APIRouter() @@ -600,7 +601,7 @@ def return_content_type(filename: str): @router.get("/general/v0/general", include_in_schema=False) -@router.get("/general/v0.0.86/general", include_in_schema=False) +@router.get(f"/general/{api_version}/general", include_in_schema=False) async def handle_invalid_get_request(): raise HTTPException( status_code=status.HTTP_405_METHOD_NOT_ALLOWED, detail="Only POST requests are supported." @@ -615,7 +616,7 @@ async def handle_invalid_get_request(): description="Description", operation_id="partition_parameters", ) -@router.post("/general/v0.0.86/general", include_in_schema=False) +@router.post(f"/general/{api_version}/general", include_in_schema=False) def general_partition( request: Request, # cannot use annotated type here because of a bug described here: diff --git a/preprocessing-pipeline-family.yaml b/preprocessing-pipeline-family.yaml index 039aef55..a7c2dac9 100644 --- a/preprocessing-pipeline-family.yaml +++ b/preprocessing-pipeline-family.yaml @@ -1,2 +1,2 @@ name: general -version: 0.0.86 +version: 0.0.87 From b3c1408d8b1478a4b1585163b977ba461b9a1d16 Mon Sep 17 00:00:00 2001 From: Emily Voss Date: Fri, 13 Jun 2025 23:56:29 -0700 Subject: [PATCH 2/3] Cast str --- prepline_general/api/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepline_general/api/app.py b/prepline_general/api/app.py index 92b44d5d..1d29d684 100644 --- a/prepline_general/api/app.py +++ b/prepline_general/api/app.py @@ -14,7 +14,7 @@ app = FastAPI( title="Unstructured Pipeline API", summary="Partition documents with the Unstructured library", - version=api_version, + version=str(api_version), docs_url="/general/docs", openapi_url="/general/openapi.json", servers=[ From a7e3b2142c6dcdf45a2bf42860e67dced6beb4ce Mon Sep 17 00:00:00 2001 From: Emily Voss Date: Sat, 14 Jun 2025 00:03:00 -0700 Subject: [PATCH 3/3] Update version-sync.sh --- Makefile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fa69099c..183c22d0 100644 --- a/Makefile +++ b/Makefile @@ -137,8 +137,7 @@ check-version: scripts/version-sync.sh -c \ -s CHANGELOG.md \ -f preprocessing-pipeline-family.yaml release \ - -f ${PACKAGE_NAME}/api/app.py release \ - -f ${PACKAGE_NAME}/api/general.py release + -f prepline_general/api/__version__.py release \ ## version-sync: update references to version with most recent version from CHANGELOG.md .PHONY: version-sync @@ -146,5 +145,4 @@ version-sync: scripts/version-sync.sh \ -s CHANGELOG.md \ -f preprocessing-pipeline-family.yaml release \ - -f ${PACKAGE_NAME}/api/app.py release \ - -f ${PACKAGE_NAME}/api/general.py release + -f prepline_general/api/__version__.py release \