This library is designed as a helpful resource for connecting to Emsi's APIs. It is provided as-is under no warranty by Emsi, but rather as an effort by various users to provide a centralized, coordinated way to access the APIs in an effective manner. It is currently under active development, so improvements are being added all the time, and these may include breaking changes.
- Installation
- Setup
- Testing
- [Documentation Links](#APIs Covered)
Clone the repository. Install the required packages in requirements.txt
into a python virtual environment. Here's an example using virtualenv, which is what the source code has been tested in .
virtualenv - p python3 venv
source venv/bin/activate
pip install - r requirements.txt
There is a file in the repository named permissions.py.sample
. When the repo is cloned, it will look like this:
import os
if "emsi_client_id" in os.environ and "emsi_client_secret" in os.environ:
DEFAULT = {
"username": os.environ.get("emsi_client_id"),
"password": os.environ.get("emsi_client_secret")
}
else:
# you can save your client_id and client_secret locally instead
DEFAULT = {
"username": "foo",
"password": "bar"
}
To setup the library so it can read your credentials, you have two options:
- Replace the
foo
andbar
values to what was provided by the Emsi API support team. Please simply be careful about sharing the files - Add two new environment variables called
emsi_client_id
andemsi_client_secret
. To learn how to set an environment variable, I recommend this article.
Be sure to rename the file to permissions.py
. This is what the library will look for when connecting to the API.
Make sure that the EmsiApiPy folder is accessible from your PYTHONPATH
. You will know you've set it up correctly if you can run import EmsiApiPy
from within your python environment.
Tests can be run with ./tests/run_tests.sh
. Please be aware that this is testing all of the API connections available. If you don't have access to one of the APIs, then the tests will fail. It might be worth editing the run_tests.sh
file to ensure that you are only running tests for the APIs that you want to access.
- ACS Indicators
- Automation Index
- Canada Job Postings
- Companies
- Core LMI
- Geography
- Global Postings
- Global Profiles
- Input-Output
- IPEDS
- Open Skills
- Talent Benchmark
- Titles
- UK Job Postings
- US Compensation
- US Job Postings
- US Profiles