Skip to main content

Auklet - Problem Solving Software for Python

Auklet for Python

This is the official Python agent for Auklet. It officially supports Python 2.7.9+ and 3.4-3.7, and runs on most POSIX-based operating systems (Debian, Ubuntu Core, Raspbian, QNX, etc).

Features

  • Automatic report of unhandled exceptions
  • Automatic Function performance issue reporting
  • Location, system architecture, and system metrics identification for all issues
  • Ability to define data usage restriction

Compliance

Auklet is an edge first application performance monitor; therefore, starting with version 1.0.0 we maintain the following compliance levels:

  • Automotive Safety Integrity Level B (ASIL B)

If there are additional compliances that your industry requires please contact the team at hello@auklet.io.

Quickstart

To install the agent with pip:

pip install auklet

To setup Auklet monitoring in your application:

from auklet.monitoring import Monitoring
auklet_monitoring = Monitoring(
    api_key="<API_KEY>",
    app_id="<APP_ID>",
    release="<CURRENT_COMMIT_HASH>"
)
auklet_monitoring.start()
# Call your main function
main()
auklet_monitoring.stop()

Authorization

To authorize your application you need to provide both an API key and app ID. These values are available in the connection settings of your application as well as during initial setup.

Optional: Release Tracking

You can track releases and identify which devices are running what variant of code. To do this, you may provide the git commit hash of your deployed code and a version string you can modify. This release value should be passed into the constructor through the release argument, and your custom version should be passed via the version argument. The release value must be the git commit hash that represents the deployed version of your application. The version value is a string that you may set to whatever value you wish to define your versions. Please note that you can provide either a release value, version value, or both.

  • Providing release enables code snippets to be shown for identified errors if you’ve linked your GitHub.
  • Including version allows you to track what version of code had the issue.
curl -X POST https://api.auklet.io/v1/releases/ \
            -H "Content-Type: application/json" \
            -H "Authorization: JWT <API_KEY>" \
            -d '{"application": "<APP_ID>", "release": "'$(git rev-parse HEAD)'", "version": "<YOUR_DEFINED_VERSION>"}'

Get Release via Subprocess

If you package and deploy your entire Git repository (including the .git directory), and if you have git installed on your devices, you can get the commit hash via a subprocess:

git_commit_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD'])
                  .decode('utf8').strip('\n')

Get Release via Environment Variable

If you package your app and deploy it without access to git, you can pass the commit hash to your app using the environment variable APPLICATION_GIT_COMMIT_HASH:

git_commit_hash = os.environ.get("APPLICATION_GIT_COMMIT_HASH")

Get Release via File

Lastly, if it is difficult or impossible to set an environment variable via your deployment platform, you can include a new file in your packaged deployment which contains the commit hash. You can read from this file and supply the value to the constructor.

At packaging time, write the commit hash to a file and then include it in your package:

git rev-parse HEAD > path/to/git_commit_hash.txt

At runtime, read the included file as follows:

release_file = open("git_commit_hash.txt", "r")
git_commit_hash = release_file.read().decode('utf8').strip('\n')

Define Your Own Version

You can also provide your own version string in the constructor:

from auklet.monitoring import Monitoring
auklet_monitoring = Monitoring(
    api_key="<API_KEY>",
    app_id="<APP_ID>",
    release="<CURRENT_COMMIT_HASH>",
    version="<DEFINED_VERSION>"
)

Resources

Metadata

Release files for auklet 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auklet 1.0.1
File Size Uploaded
auklet-1.0.1.tar.gz 32.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for auklet 1.0.1
File
auklet-1.0.1-py3.7.egg Legacy Egg format - - Details
auklet-1.0.1-py3.6.egg Legacy Egg format - - Details
auklet-1.0.1-py3.5.egg Legacy Egg format - - Details
auklet-1.0.1-py3.4.egg Legacy Egg format - - Details
auklet-1.0.1-py2.py3-none-any.whl Python 2, Python 3 none any Details
auklet-1.0.1-py2.7.egg Legacy Egg format - - Details

Total release size: 487.5 kB

Release files / auklet-1.0.1.tar.gz

Download URL auklet-1.0.1.tar.gz
Size 32.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e2516693641e5ee23bfd916624eb46b05de93fa80748699c19444bc69bcbf47f
BLAKE2b-256 checksum
How to use checksums
b5fa2cc1b65cf574bbff6078efa8f97ee691842939dba9834c89023260e5694d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py3.7.egg

Download URL auklet-1.0.1-py3.7.egg
Size 82.1 kB
Tags Egg
SHA-256 checksum
How to use checksums
50f19f9e3b6daf36858afed08cc7525b4082e27104170f9b2fd3a8bb47f7f9cb
BLAKE2b-256 checksum
How to use checksums
8a9c1d1f79c0b96715c860f40edd92320230e424d4415df925ae2cd00e3de88a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py3.6.egg

Download URL auklet-1.0.1-py3.6.egg
Size 81.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
250faf8f87733c0e52768be9bea4704a2de34c3ef5927828264d6939a7a12c97
BLAKE2b-256 checksum
How to use checksums
534414c65450f635a4019e73b9bbdac5f7c8884646f3c35186de20e72556993c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py3.5.egg

Download URL auklet-1.0.1-py3.5.egg
Size 83.3 kB
Tags Egg
SHA-256 checksum
How to use checksums
7a7c4462376369f53a40236c677b85b9f5b251ca4b3dfb5ae218fd631e3633db
BLAKE2b-256 checksum
How to use checksums
1d4103bdf8af16fbaadd547feeb1c0d7b115a02df1dddc33f55d37fc62a9df57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py3.4.egg

Download URL auklet-1.0.1-py3.4.egg
Size 83.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
47a7e0700cc2be7959048f40d7f192ad1151f62a4a170d97cedc4460fd816806
BLAKE2b-256 checksum
How to use checksums
853ee95896c72d158901fa02163e0d98fbf288924a4b66a51d431db6bb5a0851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py2.py3-none-any.whl

Download URL auklet-1.0.1-py2.py3-none-any.whl
Size 42.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
2c9733f060591c342adc85e3c08c0ee986b07dff27750eb179a71bc42801bc8e
BLAKE2b-256 checksum
How to use checksums
dd6565efb32f4398074367fad33168dc239279d08c5973be4a6f2a6492d769e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6

Release files / auklet-1.0.1-py2.7.egg

Download URL auklet-1.0.1-py2.7.egg
Size 81.0 kB
Tags Egg
SHA-256 checksum
How to use checksums
c1ea5030fb60e6685da4a899c4ad9e41c1944284eef2d4c3f36f34e013b5c764
BLAKE2b-256 checksum
How to use checksums
45ccdf8e0d1a9271017cdec16eaa02c953ed4709df8cd53dfcdd7ae08a1b883d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.27.0 CPython/3.6.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page