{"id":51566701,"url":"https://github.com/run-llama/liteparse-server","last_synced_at":"2026-07-10T15:33:17.235Z","repository":{"id":369093800,"uuid":"1223742017","full_name":"run-llama/liteparse-server","owner":"run-llama","description":"REST and gRPC server for liteparse","archived":false,"fork":false,"pushed_at":"2026-07-06T20:35:38.000Z","size":5487,"stargazers_count":72,"open_issues_count":0,"forks_count":13,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-10T15:33:14.226Z","etag":null,"topics":["docker-image","express","grpc","ocr","parsing","protobuf","rest-api","text-extraction"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/run-llama.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T15:58:40.000Z","updated_at":"2026-07-06T20:35:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/run-llama/liteparse-server","commit_stats":null,"previous_names":["run-llama/liteparse-server"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/run-llama/liteparse-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fliteparse-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fliteparse-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fliteparse-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fliteparse-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/run-llama","download_url":"https://codeload.github.com/run-llama/liteparse-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/run-llama%2Fliteparse-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35335897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","express","grpc","ocr","parsing","protobuf","rest-api","text-extraction"],"created_at":"2026-07-10T15:33:16.073Z","updated_at":"2026-07-10T15:33:17.223Z","avatar_url":"https://github.com/run-llama.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @llamaindex/liteparse-rest\n\nAn [Express](https://expressjs.com) server that exposes [`@llamaindex/liteparse`](https://www.npmjs.com/package/@llamaindex/liteparse) as an HTTP parsing backend. It supports single-file parsing, page screenshotting, and document complexity estimation.\n\nFor a full production setup with built-in rate limiting (Redis), distributed tracing (OpenTelemetry → Jaeger), and metrics (OpenTelemetry → Prometheus → Grafana), see the [Docker Compose example](./examples/docker-compose).\n\n\u003e **Prefer gRPC?** This repo also ships [`@llamaindex/liteparse-grpc`](./packages/liteparse-grpc) — a gRPC server (and matching client) exposing the same LiteParse capabilities. See its [README](./packages/liteparse-grpc/README.md) for details.\n\n## Table of contents\n\n- [Installation](#installation)\n- [Quick start](#quick-start)\n- [Docker](#docker)\n- [Full server setup](#full-server-setup)\n- [API specification](#api-specification)\n- [Testing with the test script](#testing-with-the-test-script)\n- [Related packages](#related-packages)\n\n## Installation\n\n```bash\nnpm install -g @llamaindex/liteparse-rest\n# or\npnpm add -g @llamaindex/liteparse-rest\n```\n\nYou can also invoke it directly without installing:\n\n```bash\nnpx @llamaindex/liteparse-rest\n```\n\n## Quick start\n\nOnce installed, launch the server with:\n\n```bash\nliteparse-rest-server\n```\n\nThe server listens on **port 5707** by default. Point a client at `http://localhost:5707` and start hitting the [API](#api-specification).\n\nThe published binary is the **slim** build — it removes built-in Redis caching, rate limiting and OpenTelemetry observability so it has **no external dependencies**. If you need those features, use the [full server setup](#full-server-setup).\n\n## Docker\n\nThe repo ships a `slim.Dockerfile` that produces a self-contained image with no observability dependencies:\n\n```bash\n# Build the image\ndocker build -f slim.Dockerfile -t liteparse-rest .\n\n# Run exposing port 5707\ndocker run -p 5707:5707 liteparse-rest\n```\n\nThe API is then available at **http://localhost:5707**.\n\n## Full server setup\n\nIf you want an all-in-one deployment with **built-in observability, caching, and rate-limiting**, follow the guide in [`examples/docker-compose`](./examples/docker-compose/README.md).\n\n## API specification\n\nThe server exposes three endpoints:\n\n| Method | Path           | Description                                         |\n| ------ | -------------- | --------------------------------------------------- |\n| `POST` | `/parse`       | Parse a file into JSON pages, text, or markdown     |\n| `POST` | `/screenshots` | Render document pages as PNG images (NDJSON stream) |\n| `POST` | `/is-complex`  | Estimate document complexity / need for OCR         |\n\nThe full specification — request fields, query parameters, response shapes and error codes — is available in [`API_SPEC.md`](./API_SPEC.md).\n\n## Testing with the test script\n\n[`scripts/server-test.py`](scripts/server-test.py) is a self-contained script that uses [`uv`](https://github.com/astral-sh/uv) to manage its own dependencies (`httpx`). Make sure the server is running before using it.\n\n### Usage\n\n```bash\npython scripts/server-test.py \u003ccommand\u003e \u003cpath\u003e [options]\n```\n\nOr, if `uv` is available, run it directly:\n\n```bash\n./scripts/server-test.py \u003ccommand\u003e \u003cpath\u003e [options]\n```\n\n### Commands\n\n#### Parse a single file (JSON pages response)\n\n```bash\n./scripts/server-test.py file path/to/document.pdf\n```\n\n#### Parse a single file (plain text or markdown response)\n\n```bash\n# plain text\n./scripts/server-test.py file path/to/document.pdf text\n# markdown\n./scripts/server-test.py file path/to/document.pdf markdown\n```\n\n#### Screenshot pages of a document\n\n```bash\n# Screenshot all pages — images saved to the current directory\n./scripts/server-test.py screen path/to/document.pdf\n\n# Screenshot specific pages (comma-separated, 1-based)\n./scripts/server-test.py screen path/to/document.pdf pages=1,2,3\n```\n\nScreenshots are saved as `page_0.png`, `page_1.png`, etc. in the current working directory.\n\n#### Estimate document complexity\n\n```bash\n./scripts/server-test.py is-complex path/to/document.pdf\n```\n\n## Related packages\n\nThis repository is a pnpm workspace containing:\n\n| Package                                                   | Description                                                                                |\n| --------------------------------------------------------- | ------------------------------------------------------------------------------------------ |\n| [`@llamaindex/liteparse-rest`](./)                        | This package — an Express HTTP server wrapping LiteParse                                   |\n| [`@llamaindex/liteparse-grpc`](./packages/liteparse-grpc) | A gRPC server + client for the same LiteParse capabilities, with a bundled `.proto` schema |\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frun-llama%2Fliteparse-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frun-llama%2Fliteparse-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frun-llama%2Fliteparse-server/lists"}