Skip to main content

A simple Python wrapper to access the Johns Eastern Company API.

Project description

Jepy

A simple Python wrapper to access the Johns Eastern Company API.

Installation

To get Jepy on your machine, ensure you're running Python 3.7 or higher and use pip install jepy.

(Note that it will almost definitely work on Python 3.4+ and will likely work on any version of Python 3 or higher but has not been tested below 3.7).

Getting Started

Jepy is designed to handle the JWT authentication required by the API for you easily.

Import Jepy and set up the client.

from jepy import Jepy

creds = {'user_id': '0123456789', 'password': '0123456789876543210'}
client = Jepy(**creds)

Then use the client you've set up to make calls.

client.claims(claim_num = '012345')

Usage

Jepy supports all endpoints of the API. See the wiki for detailed information.

For information on the API itself, see the API wiki.

Interpreting Results

Changed as of version 1.0.0

All responses return a JepyServerResponse object which inherits from the quick_rest.ServerResponse object. This object has methods that allow you to easily manipulate data.

You can use JepyServerResponse.decode() to get the response content directly.

The API answers calls by dumping results into a JSON file with one of three keys. Jepy handles these as follows:

  • Results - Returns a dictionary keyed as 'results', value will be a list of dictionaries.
  • Message - Like results, this returns a dictionary keyed as 'message', the value is a message from the server that is not an error. Most often this means no results were found.
  • Error - May raise an exception in certain cases. Usually indicates authentication failed, the request syntax is bad, or the server is down.

Troubleshooting

If you're continuously getting errors, check the status of the server to ensure it is up.

Simply checking server status does not require authentication (and is the only command that does not).

Run print(Jepy()) with no arguments. You'll either get JEAPI is up. or an exception. (Note that if you do try to check status with credentials a la print(Jepy(**creds)) you will get the object).

If the server is up, your credentials may be invalid and you should contact the Johns Eastern Helpdesk for assistance.

You can also click here to see if the server is up, too.

Operating System

This package is operating system agnostic. It has been tested on Windows 10 and Ubuntu 19.10.

Dependencies

Changed as of version 1.0.0

Jepy no longer makes calls with requests directly, it relies on quick_rest which in turn uses requests but does some error handling and provides results in an easily manipulated way.

To allow conversion of JSON results to XML via JepyServerResponse.to_xml, dicttoxml is required.

All dependencies are installed automatically during setup.

Bug Reports/Feature Requests

To report a bug, please use the "New issue" button on the project's Issues page. You may also contact the help desk below to report bugs.

Please submit a ticket at the Johns Eastern Helpdesk for all feature requests.

Note that features that require changes to the API itself may not require any update in the wrapper (such as a change to a query). In this case, the branch will not be public and will exist under the API's repository.

License

This project is licensed under the GNU General Public License v3.0. Please see the LICENSE.md file for details.

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

Jepy-1.0.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

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

Jepy-1.0.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file Jepy-1.0.0.tar.gz.

File metadata

  • Download URL: Jepy-1.0.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for Jepy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 f0320d7afcd86029aaec5080d9133b8b285651cc73b26939baa6e7af37d53122
MD5 d2ec620ff36ea73c5c1889caa2d94711
BLAKE2b-256 bfc472f6f5c41efd1fc755e9d4194d19cf4176006416a34ded3429df6bb1928f

See more details on using hashes here.

File details

Details for the file Jepy-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: Jepy-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for Jepy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 747c7b8706f9e68663684086dacbe5e7df4376d891433f4e6b3337d1c2b29907
MD5 a8b3df53f8a4be35afaea06aad39fe8c
BLAKE2b-256 8108179a876c2affac17334eee2e639a47fc6898a0b5e1643034ba472faa062f

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