Skip to main content

Official lightweight client wrapper library for the JAAT API.

Project description

jaat-api

PyPI version License

The official, lightweight Python client library for the JAAT suite of tools.

jaat-api is an easy-to-use, intuitive, session-managed SDK for programtically accessing the open-source JAAT modules. Securely send text batches to the openly hosted JAAT modules.


Installation

Install directly from PyPI:

pip install jaat-api

Quick Start

Initialize the JAATClient with your API key (provided by us) and execute JAAT on your batch texts seamlessly:

from jaat_api import JAATClient

client = JAATClient(api_key="jaat_app_private_key_here")

job_ads = [
    "[JOB AD TEXT 1]",
    "[JOB AD TEXT 2]",
    "..."
]

task_results = client.run_batch("task", job_ads) # alternatively, client.get_tasks(job_ads)

# continue to run other jobs
skill_results = client.run_batch("skill", job_ads)

Helpful Tips

Handling Exceptions

The SDK provides a structured JAATError instance whenever an operation breaks down or fails. Ideally, wrap jobs within try/except blocks to handle these conditions gracefully:

from jaat_api import JAATError

try:
    ## as before
except JAATError as e:
    print(f"Extraction failed (Status Code: {e.status_code})")
    print(f"Error Context: {e.message}")

Sandbox Public Evaluation

Anyone looking to evaluate the platform programmatically before contacting us for a dedicated token can use the public sandbox key:

client = JAATClient(api_key="jaat_public_sandbox_testing_key")

try:
    results = client.get_tasks(["JOB AD TEXT"])
    print(results)
except JAATError as e:
    if e.status_code == 429:
        print("Sandbox daily evaluation volume exhausted. Please rotate to a private key.")

As can be seen, the public API key is highly throttled and is strictly for testing purposes. The current usage of this key is limited to one request per day, per IP.

License

jaat-api (and JAAT) are distributed under the MIT License. See LICENSE for more information.

Getting a Key

We will soon be releasing a contact form to let us know your interest in receiving a private API key. Stay tuned!

Citation

This code and the overarching JAAT package is part of ongoing work to leverage lightweight, but powerful NLP tools to unlock structured, coded data from job posting data.

If you find this software useful, please consider citing:

@article{meisenbacher2025extracting,
  title={Extracting O* NET Features from the NLx Corpus to Build Public Use Aggregate Labor Market Data},
  author={Meisenbacher, Stephen and Nestorov, Svetlozar and Norlander, Peter},
  journal={arXiv preprint arXiv:2510.01470},
  year={2025}
}

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

jaat_api-0.2.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jaat_api-0.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file jaat_api-0.2.0.tar.gz.

File metadata

  • Download URL: jaat_api-0.2.0.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for jaat_api-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b498d8aa3ab1d50c190ce769c7e073bfd3e70c16f8a5bf5305f011761143f8a5
MD5 53729e0b61409cb85512d350a22fa4d0
BLAKE2b-256 61b47b5fd54af07717ed1162485f146fbac48357cb8393262ccdde7de8e81755

See more details on using hashes here.

File details

Details for the file jaat_api-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: jaat_api-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for jaat_api-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7c8cead995e0038e5cb1d1442d9268ac12b6e1a2be703deba06756b4e283d34
MD5 4ce9b07f812f23b14f12b012ec871d46
BLAKE2b-256 8eff1bd58f300b948448242d6888c36eee5ac351d4126698a4157fd8f7e29663

See more details on using hashes here.

Supported by

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