by Moesif, the API analytics and API monetization platform.
It's an interceptor for Python Requests library that captures outgoing API calls and sends to Moesif for API analytics and monitoring.
If you're new to Moesif, see our Getting Started resources to quickly get up and running.
If you are using Moesif's API monitoring SDKs like Moesif Django or Moesif WSGI to log incoming API calls, this library is already included.
Before using Moesif for Python Requests, make sure you have the following:
After you log into Moesif Portal, you can get your Moesif Application ID during the onboarding steps. You can always access the Application ID any time by following these steps from Moesif Portal after logging in:
- Select the account icon to bring up the settings menu.
- Select Installation or API Keys.
- Copy your Moesif Application ID from the Collector Application ID field.
Install with pip:
pip install moesifpythonrequest
See the available configuration options to learn how to configure moesifpythonrequest
for your use case.
Import the Moesif library and call the start_capture_outgoing
method.
Moesif will start logging all API calls made from the Requests library.
from moesifpythonrequest.start_capture.start_capture import StartCapture
import requests
moesif_settings = {
'APPLICATION_ID': 'YOUR_MOESIF_APPLICATION_ID'
}
def main():
# Outgoing API call to third party like Github / Stripe or to your own dependencies
response = requests.get("http://httpbin.org/uuid")
print(response.json())
StartCapture().start_capture_outgoing(moesif_settings)
main()
Replace YOUR_MOESIF_APPLICATION_ID
with your Moesif Application ID.
For a general troubleshooting guide that can help you solve common problems, see Server Troubleshooting Guide.
Other troubleshooting supports:
.
├── images/
├── LICENSE
├── MANIFEST.in
├── moesifpythonrequest/
├── README.md
├── register.py
├── requirements.txt
├── setup.cfg
└── setup.py
The following sections describe the available configuration options. You have to set these options in a Python dictionary and pass that as an argument as you call the start_capture_outgoing
method. See the example for better understanding.
Data type |
---|
String |
A string that identifies your application in Moesif.
table>
Data type Parameters Return type Function(req, res)
Dictionary
Optional.
A function that enables you to return custom metadata associated with the logged API calls.
Takes in the Requests request and response objects as arguments.
We recommend that you implement a function that returns a dictionary containing your custom metadata. The dictionary must be a valid one that can be encoded into JSON. For example, you may want to save a virtual machine instance ID, a trace ID, or a resource ID with the request.
Data type | Parameters | Return type |
---|---|---|
Function |
(req, res)
|
String |
Optional, but highly recommended.
A function that takes Requests request and response objects, and returns a string that represents the user ID used by your system.
While Moesif tries to identify users automatically, different frameworks and your implementation might vary. So we highly recommend that you accurately provide a user ID using this function.
Data type | Parameters | Return type |
---|---|---|
Function |
(req, res)
|
String |
Optional.
A function that takes Requests request and response objects and returns a string that represents the company ID for this event.
Data type | Parameters | Return type |
---|---|---|
Function |
(req, res)
|
String |
Optional.
A function that takes Requests request and response objects, and returns a string that corresponds to the session token for this event.
Similar to user IDs, Moesif tries to get the session token automatically. However, if you setup differs from the standard, this function can help tying up events together and help you replay the events.
Data type | Default |
---|---|
Boolean |
True
|
Optional.
Set to False
to remove logging request and response body.
Data type | Parameters | Return type |
---|---|---|
Function |
(req, res)
|
Boolean |
Optional.
A function that takes a Requests request and response objects,
and returns True
if you want to skip this particular event.
Data type | Parameters | Return type |
---|---|---|
Function |
(EventModel)
|
EventModel
|
Optional.
A function that takes the final Moesif event model and returns an EventModel
object with desired data removed.
For more information about Moesif event model, see Moesif Python API documentation.
An example Moesif integration is available on GitHub.
If you face any issues, try the troubheshooting guidelines. For further assistance, reach out to our support team.
Explore other integration options from Moesif: