Skip to content

brennv/usajobs

Repository files navigation

https://travis-ci.org/brennv/usajobs.svg?branch=master

usajobs

Lightweight wrapper for exploring api.usa.gov/jobs and data.usajobs.gov/api. Thanks to DigitalGov and GSA.

Installation

pip install usajobs

Getting started

import usajobs

results = usajobs.search('manager')

len(results)              # 1392

result = results[0]       # first result
result.id                 # 'usajobs:445507500'
result.organization_name  # 'National Park Service'
result.position_title     # 'Project Manager (Interdisciplinary)'
result.start_date         # '2016-08-23'
result.end_date           # '2016-09-13'
result.url                # 'https://www.usajobs.gov/GetJob/ViewDetails/445507500'
result.locations          # ['Vancouver, WA']
result.minimum            # 71012
result.maximum            # 92316
result.rate_interval_code # 'PA'

Usage

The method search currently exposes api.usa.gov/jobs which allows for 'fuzzy' searching.

search()

Return results from search terms using the api.usa.gov/jobs.

arguments: terms, start=0, step=100, as_dict=False

Results, by default, are a list of nametupled data accessible as follows:

results = usajobs.search('park ranger')

len(results)                # 22

# To get a list of available keys:

results[0]._asdict().keys() # odict_keys(['id', 'organization_name', 'start_date', 'locations', 'position_title', 'url', 'minimum', 'end_date', 'maximum', 'rate_interval_code'])

# Use a key to get a value:

results[0].url              # 'https://www.usajobs.gov/GetJob/ViewDetails/426475700'

To return the results as a list of dicts, use as_dict argument:

results = usajobs.search('park ranger', as_dict=True)

print(results[0])
{
  'id': 'usajobs:426475700',
  'position_title': 'Park Ranger',
  'organization_name': 'Bureau of Land Management',
  'rate_interval_code': 'PH',
  'minimum': 15,
  'maximum': 20,
  'start_date': '2016-01-18',
  'end_date': '2016-08-31',
  'locations': ['Lake Havasu City, AZ', 'Butte, MT'],
  'url': 'https://www.usajobs.gov/GetJob/ViewDetails/426475700'
}

Development

PRs welcome, tests run with:

pip install pytest pytest-cov
python -m pytest tests --cov=usajobs/

About

Wrapper for searching usajobs.gov

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages