grobid-client
A client library for accessing Grobid
Usage
First, create a client:
from grobid_client import Client
client = Client(base_url="https://cloud.science-miner.com/grobid/api")
Now call your endpoint and use your models:
from pathlib import Path
from grobid_client.api.pdf import process_fulltext_document
from grobid_client.models import Article, ProcessForm
from grobid_client.types import TEI, File
pdf_file = "MyPDFFile.pdf"
with pdf_file.open("rb") as fin:
form = ProcessForm(
segment_sentences="1",
input_=File(file_name=pdf_file.name, payload=fin, mime_type="application/pdf),
)
r = process_fulltext_document.sync_detailed(client=client, multipart_data=form)
if r.is_success:
article: Article = TEI.parse(r.content, figures=False)
assert article.title
Things to know:
-
Every path/method combo becomes a Python module with four functions:
sync: Blocking request that returns parsed data (if successful) orNonesync_detailed: Blocking request that always returns aRequest, optionally withparsedset if the request was successful.asyncio: Likesyncbut the async instead of blockingasyncio_detailed: Likesync_detailedby async instead of blocking
-
All path/query params, and bodies become method arguments.
-
If your endpoint had any tags on it, the first tag will be used as a module name for the function (my_tag above)
-
Any endpoint which did not have a tag will be in
entifyfishing_client.api.default
Building / publishing this Client
This project uses Poetry to manage dependencies and packaging. Here are the basics:
- Update the metadata in pyproject.toml (e.g. authors, version)
- If you're using a private repository, configure it with Poetry
poetry config repositories.<your-repository-name> <url-to-your-repository>poetry config http-basic.<your-repository-name> <username> <password>
- Publish the client with
poetry publish --build -r <your-repository-name>or, if for public PyPI, justpoetry publish --build
If you want to install this client into another project without publishing it (e.g. for development) then:
- If that project is using Poetry, you can simply do
poetry add <path-to-this-client>from that project - If that project is not using Poetry:
- Build a wheel with
poetry build -f wheel - Install that wheel from the other project
pip install <path-to-wheel>
- Build a wheel with
Metadata
Release files for grobid-client 0.8.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| grobid_client-0.8.8.tar.gz | 24.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| grobid_client-0.8.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.4 kB
Release files / grobid_client-0.8.8.tar.gz
| Download URL | grobid_client-0.8.8.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4a844649bc170cd023c0cccd729babb3cd93686a1228afa53692ce9b41fd5728
|
|
BLAKE2b-256 checksum How to use checksums |
86cbdb1010147b7f00b84ac52fab22161d56a8a6cc7cf6d74e6830c743e1d8c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Linux/5.4.0-182-generic
|
Release files / grobid_client-0.8.8-py3-none-any.whl
| Download URL | grobid_client-0.8.8-py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a5fb7993f951997912995d905c32906fe419592dcbc3d8b898043db37203caf
|
|
BLAKE2b-256 checksum How to use checksums |
90b96c48d3530a664b8fae54774dd2c8ad0737da0d2ca567ba076e717486b437
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Linux/5.4.0-182-generic
|