Neon Proxy for external API Calls
Project description
NeonAI API Proxy
Proxies API calls to consolidate usage to a single point and allow for caching of API data.
Request Format
API requests should be in the form of a dictionary. The service requested should be specified as service
and the
remaining data will be passed to the handle_query
method of the requested service as kwargs.
Example Wolfram|Alpha Request:
{ "service": "wolfram_alpha", "query": "how far away is Rome?", "api": "simple", "units": "metric", "ip": "64.34.186.120" }
Response Format
Responses will be returned as dictionaries. Responses should contain the following:
status_code
- Usually contains the HTTP status code from the requested API,-1
should be used to specify any other errorscontent
- Usually contains the HTTP content (bytes) from the requested API, but may include a string message for errors.encoding
= Usually contains the HTTP content encoding if content is the byte representation of a string, may beNone
Docker Configuration
When running this as a docker container, the XDG_CONFIG_HOME
envvar is set to /config
.
A configuration file at /config/neon/diana.yaml
is required and should look like:
MQ:
port: <MQ Port>
server: <MQ Hostname or IP>
users:
neon_api_connector:
password: <neon_api user's password>
user: neon_api
keys:
api_services:
alpha_vantage:
api_key: <Alpha Vantage Key>
open_weather_map:
api_key: <OWM Key>
wolfram_alpha:
api_key: <Wolfram|Alpha Key>
For example, if your configuration resides in ~/.config
:
export CONFIG_PATH="/home/${USER}/.config"
docker run -v ${CONFIG_PATH}:/config neon_api_proxy
Note: If connecting to a local MQ server, you may need to specify
--network host
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
Hashes for neon_api_proxy-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a2e7b06a366673643440ff95328dfeddcfd2d29dc32d3daeb6769ae26958ad2 |
|
MD5 | 5f080eecd23905f96dd9f42da373ee2e |
|
BLAKE2b-256 | b8e2dab96fda2109def8b001bea3e86e48deb56752c8d582f56f70cde53fc0ad |