Python client to query the Grobid Quantities service API For more information about Grobid Quantities, please check the Grobid Quantities Documentation.
The client can be installed using pip:
pip install grobid-quantities-client
The CLI follows the following parameters:
python -m grobid_quantities.quantities --help usage: quantities.py [-h] --input INPUT [--output OUTPUT] [--base-url BASE_URL] [--config CONFIG] [--n N] [--force] [--verbose] Client for the Grobid-quantities service optional arguments: -h, --help show this help message and exit --input INPUT path to the directory containing PDF files or .txt (for processCitationList only, one reference per line) to process --output OUTPUT path to the directory where to put the results (optional) --base-url BASE_URL Base url of the service (without the suffix `/service/`) --n N concurrency for service usage --force force re-processing pdf input files when tei output files already exist
Initialisation:
from grobid_quantities.quantities import Quantities client = QuantitiesAPI(base_url=http(s)://server_url:port/base/url)
Process raw text:
client.process_text(
"I lost two minutes"
)
Process PDF document:
client.process_pdf(pdfFile)
Parse the measurements:
client.parse_measures("from": "10", "to": "20", "unit": "km")
The response is a tuple where the first element is the status code and and the second element the response body as a dictionary. Here an example:
(
200,
{
"runtime": 123,
"measurements": [
{
"type": "value",
"quantity": {
"type": "time",
"rawValue": "two",
"rawUnit": {
"name": "minutes",
"type": "time",
"system": "non SI",
"offsetStart": 11,
"offsetEnd": 18
},
"parsedValue": {
"numeric": 2,
"structure": {
"type": "ALPHABETIC",
"formatted": "two"
},
"parsed": "two"
},
"normalizedQuantity": 120,
"normalizedUnit": {
"name": "s",
"type": "time",
"system": "SI base"
},
"offsetStart": 7,
"offsetEnd": 11
}
}
]
}
)