Metadata-Version: 2.4
Name: django-log-outgoing-requests
Version: 0.9.0
Summary: Log outgoing requests made by the requests python library
Author-email: Maykin Media <support@maykinmedia.nl>
License-Expression: MIT
Project-URL: Homepage, https://github.com/maykinmedia/django-log-outgoing-requests
Project-URL: Documentation, http://django-log-outgoing-requests.readthedocs.io/en/latest/
Project-URL: Changelog, https://github.com/maykinmedia/django-log-outgoing-requests/blob/main/CHANGELOG.rst
Project-URL: Bug Tracker, https://github.com/maykinmedia/django-log-outgoing-requests/issues
Project-URL: Source Code, https://github.com/maykinmedia/django-log-outgoing-requests
Keywords: logging,requests,database
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: django>=5.2
Requires-Dist: requests
Requires-Dist: django-appconf
Requires-Dist: django-solo
Requires-Dist: pygments
Requires-Dist: typing-extensions
Provides-Extra: tests
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Requires-Dist: pytest-django; extra == "tests"
Requires-Dist: pytest-env; extra == "tests"
Requires-Dist: pytest-mock; extra == "tests"
Requires-Dist: freezegun; extra == "tests"
Requires-Dist: requests-mock; extra == "tests"
Requires-Dist: pyquery; extra == "tests"
Requires-Dist: tox; extra == "tests"
Requires-Dist: ruff; extra == "tests"
Provides-Extra: docs
Requires-Dist: sphinx; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Provides-Extra: release
Requires-Dist: bump-my-version; extra == "release"
Provides-Extra: celery
Requires-Dist: celery; extra == "celery"
Provides-Extra: xml
Requires-Dist: lxml; extra == "xml"
Dynamic: license-file

django-log-outgoing-requests
=================================================

:Version: 0.9.0
:Source: https://github.com/maykinmedia/django-log-outgoing-requests
:Keywords: logging, django, requests

|build-status| |code-quality| |ruff| |coverage| |docs|

|python-versions| |django-versions| |pypi-version|

A logging solution for outgoing requests made via the requests_ library.

django-log-outgoing-requests provides a custom formatter and handler for the Python
``logging`` standard library. It integrates with existing logging configuration and
provides (configuration) options to save the log records to the database.

You would typically use this as a tool to debug integration with external HTTP services,
via log shipping solutions and/or the Django admin.


.. contents::

.. section-numbering::

Features
========

* log formatter for a readable representation of a request and response
* log handler to persist relevant log records to the database
* configurable via Django settings
* runtime configuration in the admin, overriding defaults from Django settings.

Usage
=====

Please see the hosted documentation_ for installation, configuration and usage
instructions.

Local development
=================

To install and develop the library locally, use:

.. code-block:: bash

    uv pip install -e .[tests,docs,release,celery]

Before releasing, make sure the styles are up to date:

.. code-block:: bash

    python -m log_outgoing_requests.syntax_highlighting


.. _`requests`: https://pypi.org/project/requests/

.. _`documentation`: https://django-log-outgoing-requests.readthedocs.io/en/latest/

.. |build-status| image:: https://github.com/maykinmedia/django-log-outgoing-requests/workflows/Run%20CI/badge.svg
    :alt: Build status
    :target: https://github.com/maykinmedia/django-log-outgoing-requests/actions?query=workflow%3A%22Run+CI%22

.. |code-quality| image:: https://github.com/maykinmedia/django-log-outgoing-requests/workflows/Code%20quality%20checks/badge.svg
     :alt: Code quality checks
     :target: https://github.com/maykinmedia/django-log-outgoing-requests/actions?query=workflow%3A%22Code+quality+checks%22

.. |ruff| image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

.. |coverage| image:: https://codecov.io/gh/maykinmedia/django-log-outgoing-requests/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/maykinmedia/django-log-outgoing-requests
    :alt: Coverage status

.. |docs| image:: https://readthedocs.org/projects/django-log-outgoing-requests/badge/?version=latest
    :target: https://django-log-outgoing-requests.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. |python-versions| image:: https://img.shields.io/pypi/pyversions/django-log-outgoing-requests.svg

.. |django-versions| image:: https://img.shields.io/pypi/djversions/django-log-outgoing-requests.svg

.. |pypi-version| image:: https://img.shields.io/pypi/v/django-log-outgoing-requests.svg
    :target: https://pypi.org/project/django-log-outgoing-requests/
