POMA: Preserving Optimal Markdown Architecture
Quick-Start Guide
Installation
Requires Python 3.10+. Install the core package:
pip install poma
For different integrations:
pip install 'poma[langchain]'
pip install 'poma[llamaindex]'
pip install 'poma[qdrant]'
# Or LangChain/LlamaIndex/Qdrant including example extras:
pip install 'poma[all]'
- You may also want:
pip install python-dotenvto load API keys from a .env file. - The client reads its API key from the
POMA_API_KEYenvironment variable (orapi_key=). - Create a key in the POMA console at https://console.poma-ai.com, tab Project settings.
- This release talks to the POMA API v4 (
https://api.poma-ai.com/v4).
Usage
from poma import PrimeCut, generate_cheatsheets
pc = PrimeCut(api_key="your_key")
# Ingest a document — submits the file, polls, and returns typed results
result = pc.ingest("document.pdf")
print(result.chunksets[0])
print(result.chunks[0].content)
# Eco ingestion uses the same flow against the eco endpoints
eco_result = pc.ingest_eco("document.pdf")
To test this flow from the command line (requires POMA_API_KEY in the environment):
python -m poma document.pdf # run both ingest and ingest_eco
python -m poma path/to/file.pdf # custom file
python -m poma document.pdf --no-eco # standard ingest only
python -m poma document.pdf --eco # eco ingest only
Generate cheatsheets as a top-level utility:
cheatsheets = generate_cheatsheets(
relevant_chunksets=result.chunksets,
all_chunks=result.chunks,
)
print(cheatsheets[0]["content"])
If you already have a .poma archive, unpack it directly:
from poma import unpack
archived_result = unpack("document.poma")
print(archived_result.chunks[0].content)
Async clients use the same API shape:
import asyncio
from poma import AsyncPrimeCut
async def main() -> None:
async with AsyncPrimeCut(api_key="your_key") as pc:
result = await pc.ingest("document.pdf")
print(result.chunksets[0])
asyncio.run(main())
Retrieval and hybrid search
Hosted indexing and hybrid search (formerly Grill, poma.Grill) is now a
separate package with its own API and repository,
poma-ai/index4ai-sdk:
pip install index4ai
poma itself covers PrimeCut chunking and the LangChain / LlamaIndex / Qdrant
integrations.
Example Implementations
All examples, integrations, and additional information can be found in our GitHub repository: poma-ai/poma
We provide example implementations to help you get started with POMA AI:
- example.py — A standalone implementation for documents, showing the basic POMA AI workflow with simple keyword-based retrieval
- example_langchain.py — Integration with LangChain, demonstrating how easy it is to use POMA AI with LangChain
- example_llamaindex.py — Integration with LlamaIndex, showing how simple it is to use POMA AI with LlamaIndex
Note: The integration examples use OpenAI embeddings. Make sure to set your OPENAI_API_KEY environment variable, or replace the embeddings with your preferred ones.
All examples follow the same two-phase process (ingest → retrieve) but demonstrate different integration options for your RAG pipeline.
! Please do NOT send any sensitive and/or personal information to POMA AI endpoints without having a signed contract & DPA !
Metadata
Release files for poma 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| poma-0.8.0.tar.gz | 50.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| poma-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.4 kB
Release files / poma-0.8.0.tar.gz
| Download URL | poma-0.8.0.tar.gz |
|---|---|
| Size | 50.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1a9e4269f95e4c0cec3b98771846d41de8efe28f18522bd24424a37ef8f5a9c6
|
|
BLAKE2b-256 checksum How to use checksums |
c00d21b9f37606fe3271453cdcdca39a9b37eb31252e3a0c6db1989cdc7b7a86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / poma-0.8.0-py3-none-any.whl
| Download URL | poma-0.8.0-py3-none-any.whl |
|---|---|
| Size | 46.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
674f71c010284b76c80424fe8d83d12620dee89d34451ba5f100ade5a7bd9517
|
|
BLAKE2b-256 checksum How to use checksums |
0dfc4e8af7ee4d3cc8ead295fb0592962959b0406a0fe6e81eab96aef1dc796b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log