Skip to main content

API for interacting with paperqa.app

Project description

paperqa-api

Python client for interacting with paperqa app

Usage

Make sure to set the environment variable PQA_API_TOKEN or PQA_API_KEY to your API token.

export PQA_API_TOKEN=pqa-...

To query agent:

import pqapi
response = pqapi.agent_query(
    "Are COVID-19 vaccines effective?"
)

to query with a specific bibliography (collection of papers)

import pqapi
response = pqapi.agent_query(
    "Are COVID-19 vaccines effective?",
    "covid"
)

Templates

You can use templates to batch multiple queries together. A minimal example would be:

The effectiveness of COVID-19 is given below:
{{ "Are COVID-19 vaccines effective?" | pqa}}

Or, more complex examples can use shared bibliographies set by variables names:

{% with bib = "covid" %}
## Info
{{ "Are COVID-19 vaccines effective?" | pqa(bib)}}

## Modality
{{ "Has there been an AAV COVID-19 vaccine?" | pqa(bib)}}
{% endwith %}

You render it via:

pqa-render template.jinja > output.md

Managing bibliographies

To get information about a specific bibliography

import pqapi
response = pqapi.get_bibliography(
    "default"
)
print(response)

You do not need to explicitly create a bibliography, just adding files will create one. To upload files:

import pqapi
files = open("paper.pdf", "rb")
metadata =
    pqapi.UploadMetadata(filename="paper.pdf", citation="Test Citation")

response = pqapi.upload_file(
    "default",
    file
    metadata
)

To delete a bibliography:

import pqapi
response = pqapi.delete_bibliography(
    "default"
)

Development

You can change the server URL endpoint to a local PQA server with

export PQA_URL="http://localhost:8080"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pqapi-5.1.0.tar.gz (1.5 MB view hashes)

Uploaded Source

Built Distribution

pqapi-5.1.0-py3-none-any.whl (8.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page