A Python client to easily interact with the FAO SWS REST APIs
Project description
SWS API Client
This library provides the user with a set of useful tools to easily interact with the FAO SWS (Statistical Working System) REST APIs.
Installation
The module is available on Pypi:
python -m pip install sws_api_client
The library requires Python 3.11+.
Usage
To use the package the user needs to create an instance of the SwsApiClient class, provide it with the necessary parameters and execute the methods to query the specific endpoints.
Instantiate the client locally
There are three methods to instantiate the client:
1. Pass the sws_endpoint and the access_token to the constructor
from sws_api_client import SwsApiClient
sws_client = SwsApiClient(sws_endpoint="<sws_endpoint>", access_token="<access_token>")
2. Pass to sws_endpoint and the access_token as named arguments
We need to execute the script from command line passing --sws_endpoint and --access_token as arguments:
python script.py --sws_endpoint <endpoint> --access_token <test_access_token>
And instantiate the client in our script with the class method from_args:
from sws_api_client import SwsApiClient
sws_client = SwsApiClient.from_args()
3. Create a conf file where to store the arguments
We need to create a conf file (default name: "conf_sws_api_client.json") with the following structure:
{
"sws_endpoint": "<sws_endpoint>",
"access_token": "<access_token>"
}
And instantiate the client in our script with the class method from_conf:
from sws_api_client import SwsApiClient
sws_client = SwsApiClient.from_conf(conf_file="<conf_file_path>")
# Or, if the conf_file is named "conf_sws_api_client.json" and is in the current working directory
sws_client = SwsApiClient.from_conf()
Instantiate the client in a SWS plugin
When working withing a SWS plugin instantiate the client as:
from sws_api_client import SwsApiClient
sws_client = SwsApiClient.from_env()
Perform requests
To perform requests you just need to call the available methods using the SwsApiClient object, as an example:
dataset_details = sws_client.get_dataset_export_details(dataset_id="<dataset_id>")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sws_api_client-0.0.3.dev0.tar.gz.
File metadata
- Download URL: sws_api_client-0.0.3.dev0.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc1bff35767c6f9697a523318bf1d2686c6e5665bb90dee31d46bfae26d4f984
|
|
| MD5 |
33021fe599fd7ee03b69c0adf284a3f7
|
|
| BLAKE2b-256 |
176321459fec739c066eb177e1ce6ceb3b136992445440b72b75e2cc824e36ff
|
File details
Details for the file sws_api_client-0.0.3.dev0-py3-none-any.whl.
File metadata
- Download URL: sws_api_client-0.0.3.dev0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44d790404e6588fb51f078ab008130ee719ee5bf7ac9ef969053f65f4f7169c1
|
|
| MD5 |
45515bc4cda26c461834a60c202854f0
|
|
| BLAKE2b-256 |
57017eeb750382f63d32034feb03321e6f05c93853809c00987380a9451fea16
|