Skip to main content

Optic Django Middleware

Build status

This module is a plugin for Django using optic-sdk to capture and format HTTP data to send to Optic. We have a list of middleware available for some frameworks, if we are missing the framework join our community and suggest the next framework or develop it with us.

Requirements

The module requires @useoptic/cli to be installed, instructions on installing it are available https://www.useoptic.com/docs/.

Install

pip install optic-django-unittest

Usage

The plugin is used along with Optic Django Middleware to customise optic logging behaviour based on unittest test result hooks to add features like

1. Send successful test http inteaction only
2. Send interactions in bulk

Configuration

Environment variables can also be used to set the values

  • ENABLE: boolean (defaults to FALSE) Programmatically control if capturing data and sending it to Optic
  • UPLOAD_URL: string (defaults to os.environ['OPTIC_LOGGING_URL']) The URL to Optics capture URL, if left blank it will expect OPTIC_LOGGING_URL environment variable set by the Optic CLI
  • CONSOLE: boolean (defaults to FALSE) Send to stdout/console for debugging
  • framework: string (defaults to '') Additional information to inform Optic of where it is capturing information
  • LOG: boolean (defaults to FALSE) Send to log file
  • LOG_PATH: boolean (defaults to ./optic.log) Log file path
  • LOCAL: boolean (defaults to TRUE) Send to optic cli

Example

# settings.py
import os
from tempfile import mkdtemp
tempdir = mkdtemp('optic_django')
OPTIC = {
    # ...optic-django-middleware settings
    'INTERACTION_MANAGER': "optic_django_unittest.manager.HttpInteractionManager"
}

INSTALLED_APPS += [
    'optic_django_middleware',
]

To start capturing data from the SDK, run your application with

api exec "python manage.py runserver"

License

This software is licensed under the MIT license.

Metadata

Release files for optic-django-unittest-plugin 0.1.2

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

Source distribution (sdist)

Source distribution for optic-django-unittest-plugin 0.1.2
File Size Uploaded
optic-django-unittest-plugin-0.1.2.tar.gz 4.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for optic-django-unittest-plugin 0.1.2
File Interpreter ABI Platform
optic_django_unittest_plugin-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 kB

Release files / optic-django-unittest-plugin-0.1.2.tar.gz

Download URL optic-django-unittest-plugin-0.1.2.tar.gz
Size 4.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a1fce593002fa4939afb55274ef5f0bcedd8000ecba4ef9843addf58f9acbb0f
BLAKE2b-256 checksum
How to use checksums
3bc55a70ee98f5e1aeca53ebfde3e6a8fa506e4edcc552b036b2571285048945
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.7.11 Linux/5.8.0-1039-azure

Release files / optic_django_unittest_plugin-0.1.2-py3-none-any.whl

Download URL optic_django_unittest_plugin-0.1.2-py3-none-any.whl
Size 4.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
662bb49d58be7aa94b526ae0656097c51e37807613e06e7dd8c4d177c0ab8814
BLAKE2b-256 checksum
How to use checksums
4e93b652621ba8d8c893c5445d5f6d7ba327505d041a4e57074b08bc63806075
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.7.11 Linux/5.8.0-1039-azure

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

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