Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
HARP Proxy 0.13 (next)
Light Logo Dark Logo
HARP Proxy 0.13 (next)
  • Getting Started
    • Quick start
    • UV & UVX (Recommended)
    • Docker & Docker Compose
    • Helm & Kubernetes
    • Python & PIP
    • Sources

Guides

  • Features Guide
    • Configuration
    • Dashboard
    • Proxy
    • Audit Log
    • Caching
    • Circuit Breaker
    • Rules Engine
  • User Guide
    • Overview
    • Transactions
    • System
    • Performances
  • Operator Guide
    • Configuration
    • Upgrading to 0.13
    • Upgrading to 0.12
    • Database Migrations
    • Logging
    • Security and hardening
    • Prometheus
    • Run
  • Developer guide
    • Quick start
    • Run
    • Customize
    • Extend
  • Contributor Guide
    • Introduction
    • Setup
    • Overview
    • Dependency Injection
    • Applications
    • Events
    • Makefile
    • Storage
    • Dashboard
      • Unit Tests
      • End-to-End Tests
    • Testing
      • Database-related tests
      • Continuous integration
    • Releasing
      • Validation and sign-off
      • Chores
      • What the gate does not run
      • Python Package
      • Security Release
      • Changelog
      • Helm
      • Contributors

Reference

  • Core Reference
    • Events
    • Services
    • Internals
      • ASGI (harp.asgi)
        • harp.asgi.bridge
          • harp.asgi.bridge.requests
          • harp.asgi.bridge.responses
          • harp.asgi.bridge.streams
        • harp.asgi.events
        • harp.asgi.kernel
      • Command Line (harp.commandline)
        • harp.commandline.cookiecutters
          • harp.commandline.cookiecutters.project
        • harp.commandline.install
        • harp.commandline.migrations
        • harp.commandline.options
          • harp.commandline.options.server
        • harp.commandline.utils
          • harp.commandline.utils.manager
      • Config (harp.config)
        • harp.config.adapters
          • harp.config.adapters.hypercorn
        • harp.config.applications
        • harp.config.builders
          • harp.config.builders.configuration
          • harp.config.builders.system
        • harp.config.configurables
          • harp.config.configurables.base
          • harp.config.configurables.service
          • harp.config.configurables.stateful
        • harp.config.defaults
        • harp.config.events
        • harp.config.example
        • harp.config.examples
        • harp.config.mixins
        • harp.config.utils
      • Controllers (harp.controllers)
        • harp.controllers.default
        • harp.controllers.resolvers
        • harp.controllers.routing
        • harp.controllers.typing
      • Errors (harp.errors)
      • Event Dispatcher (harp.event_dispatcher)
      • HTTP (harp.http)
        • harp.http.errors
        • harp.http.requests
        • harp.http.responses
        • harp.http.serializers
        • harp.http.typing
          • harp.http.typing.bridges
          • harp.http.typing.messages
          • harp.http.typing.serializers
        • harp.http.utils
          • harp.http.utils.cache
          • harp.http.utils.cookies
          • harp.http.utils.hop_by_hop
          • harp.http.utils.methods
      • Meta (harp.meta)
      • Models (harp.models)
        • harp.models.base
        • harp.models.blobs
        • harp.models.messages
        • harp.models.transactions
      • harp.services
        • harp.services.containers
        • harp.services.models
        • harp.services.providers
        • harp.services.references
        • harp.services.resolvers
      • Settings (harp.settings)
      • Typing (harp.typedefs)
        • harp.typedefs.global_settings
        • harp.typedefs.signs
      • Utils (harp.utils)
        • harp.utils.api
        • harp.utils.arguments
        • harp.utils.background
        • harp.utils.bytes
        • harp.utils.collections
        • harp.utils.commandline
        • harp.utils.config
          • harp.utils.config.toml
          • harp.utils.config.yaml
        • harp.utils.console
        • harp.utils.dates
        • harp.utils.env
        • harp.utils.guids
        • harp.utils.identifiers
        • harp.utils.json
        • harp.utils.network
        • harp.utils.packages
        • harp.utils.processes
        • harp.utils.services
        • harp.utils.strings
        • harp.utils.tpdex
        • harp.utils.types
        • harp.utils.urls
      • Views (harp.views)
        • harp.views.strings
  • Applications Reference
    • Sentry
      • Internals
        • harp_apps.contrib.sentry.settings
    • Dashboard
      • Services
      • Settings
      • Internals
        • harp_apps.dashboard.conftest
        • harp_apps.dashboard.constants
        • harp_apps.dashboard.controllers
          • harp_apps.dashboard.controllers.blobs
          • harp_apps.dashboard.controllers.models
            • harp_apps.dashboard.controllers.models.system
          • harp_apps.dashboard.controllers.overview
          • harp_apps.dashboard.controllers.system
          • harp_apps.dashboard.controllers.transactions
        • harp_apps.dashboard.filters
          • harp_apps.dashboard.filters.base
          • harp_apps.dashboard.filters.transaction_endpoint
          • harp_apps.dashboard.filters.transaction_flag
          • harp_apps.dashboard.filters.transaction_method
          • harp_apps.dashboard.filters.transaction_status
          • harp_apps.dashboard.filters.transaction_tpdex
          • harp_apps.dashboard.filters.utils
        • harp_apps.dashboard.schemas
          • harp_apps.dashboard.schemas.transactions_grouped_by
        • harp_apps.dashboard.security
          • harp_apps.dashboard.security.auth
        • harp_apps.dashboard.settings
          • harp_apps.dashboard.settings.auth
          • harp_apps.dashboard.settings.devserver
        • harp_apps.dashboard.utils
          • harp_apps.dashboard.utils.dates
          • harp_apps.dashboard.utils.dependencies
    • HTTP Cache
      • Services
      • Settings
      • Internals
        • harp_apps.http_cache.adapters
        • harp_apps.http_cache.models
        • harp_apps.http_cache.settings
        • harp_apps.http_cache.storages
        • harp_apps.http_cache.transports
        • harp_apps.http_cache.utils
    • HTTP Client
      • Events
      • Services
      • Settings
      • Internals
        • harp_apps.http_client.events
        • harp_apps.http_client.settings
        • harp_apps.http_client.transports
    • Janitor
      • Internals
        • harp_apps.janitor.settings
        • harp_apps.janitor.worker
    • Metrics
      • Internals
        • harp_apps.metrics.constants
        • harp_apps.metrics.decorators
        • harp_apps.metrics.settings
    • Notifications
      • Internals
        • harp_apps.notifications.senders
          • harp_apps.notifications.senders.google_chat
          • harp_apps.notifications.senders.slack
        • harp_apps.notifications.settings
        • harp_apps.notifications.subscriber
        • harp_apps.notifications.typing
    • Proxy
      • Events
      • Settings
      • Internals
        • harp_apps.proxy.adapters
        • harp_apps.proxy.constants
        • harp_apps.proxy.controllers
        • harp_apps.proxy.events
        • harp_apps.proxy.examples
        • harp_apps.proxy.helpers
        • harp_apps.proxy.settings
          • harp_apps.proxy.settings.endpoint
          • harp_apps.proxy.settings.liveness
            • harp_apps.proxy.settings.liveness.base
            • harp_apps.proxy.settings.liveness.ignore
            • harp_apps.proxy.settings.liveness.inherit
            • harp_apps.proxy.settings.liveness.leaky_bucket
            • harp_apps.proxy.settings.liveness.naive
          • harp_apps.proxy.settings.remote
            • harp_apps.proxy.settings.remote.endpoint
            • harp_apps.proxy.settings.remote.probe
    • Rules
      • Getting Started
      • Patterns and syntax
      • Lifecycle
        • on_request
        • on_remote_request
        • on_remote_response
        • on_response
      • Execution
      • Recipes
      • Command Line
      • Internals
        • harp_apps.rules.commandline
          • harp_apps.rules.commandline.lint
          • harp_apps.rules.commandline.run
          • harp_apps.rules.commandline.utils
            • harp_apps.rules.commandline.utils.dump
            • harp_apps.rules.commandline.utils.loaders
            • harp_apps.rules.commandline.utils.subscribers
        • harp_apps.rules.constants
        • harp_apps.rules.examples
        • harp_apps.rules.models
          • harp_apps.rules.models.compilers
          • harp_apps.rules.models.patterns
          • harp_apps.rules.models.rulesets
          • harp_apps.rules.models.scripts
        • harp_apps.rules.settings
        • harp_apps.rules.subscribers
    • Storage
      • Transaction Markers
      • Redaction
      • Services
      • Settings
      • Internals
        • harp_apps.storage.conftest
        • harp_apps.storage.constants
        • harp_apps.storage.engines
          • harp_apps.storage.engines.sql_engine
        • harp_apps.storage.models
          • harp_apps.storage.models.base
          • harp_apps.storage.models.blobs
          • harp_apps.storage.models.flags
          • harp_apps.storage.models.messages
          • harp_apps.storage.models.metrics
          • harp_apps.storage.models.tags
          • harp_apps.storage.models.transactions
          • harp_apps.storage.models.users
        • harp_apps.storage.optionals
          • harp_apps.storage.optionals.pg_trgm
        • harp_apps.storage.services
          • harp_apps.storage.services.blob_storages
            • harp_apps.storage.services.blob_storages.memory
            • harp_apps.storage.services.blob_storages.null
            • harp_apps.storage.services.blob_storages.redis
            • harp_apps.storage.services.blob_storages.sql
          • harp_apps.storage.services.redis
          • harp_apps.storage.services.sql
        • harp_apps.storage.settings
          • harp_apps.storage.settings.blobs
          • harp_apps.storage.settings.database
          • harp_apps.storage.settings.redis
        • harp_apps.storage.types
          • harp_apps.storage.types.blob_storage
          • harp_apps.storage.types.helpers
          • harp_apps.storage.types.storage
        • harp_apps.storage.utils
          • harp_apps.storage.utils.dates
          • harp_apps.storage.utils.migrations
          • harp_apps.storage.utils.sql
        • harp_apps.storage.worker
  • Configuration Reference
    • Dashboard
    • HTTP Client
    • Janitor
    • Proxy
    • Storage
  • Command Line Reference

Miscellaneous

  • Changelogs & History
    • Version 0.13.0 (unreleased)
    • Version 0.12.0 (2026-10-24)
    • Version 0.11.1 (2026-10-24)
    • Version 0.11.0 (2026-10-15)
    • Version 0.10.1 (2026-10-15)
    • Version 0.10.0 (2026-10-15)
    • Version 0.9.1 (2025-11-02)
    • Version 0.9.0 (2025-10-31)
    • Version 0.8.1 (2025-04-24)
    • Version 0.8.0 (2025-04-23)
    • Version 0.7.7 (2024-11-16)
    • Version 0.7.6 (2024-11-03)
    • Version 0.7.5 (2024-11-03)
    • Version 0.7.4 (2024-10-30)
    • Version 0.7.3 (2024-10-28)
    • Version 0.7.2 (2024-10-24)
    • Version 0.7.1 (2024-09-17)
    • Version 0.7.0 (2024-09-17)
    • Older Changelogs
      • Version 0.6.1 (2024-09-06)
      • Version 0.6.0 (2024-07-25)
      • Version 0.5.1 (2024-06-27)
      • Version 0.5.0 (2024-06-16)
      • Version 0.4.0 (2024-01-21)
      • Version 0.3.2 (2024-01-02)
      • Version 0.3.1 (2023-12-27)
      • Version 0.3.0 (2023-12-27)
      • Version 0.2.3 (2023-12-18)
      • Version 0.2.2 (2023-12-18)
      • Version 0.2.1 (2023-12-16)
      • Version 0.2.0 (2023-12-15)
      • Version 0.1.3
  • Frequently Asked Questions
Back to top
View this page
Edit this page

Structure¶

Applications are simple python packages instrumented with some special artefacts that allows them to be loaded and to interraact with other components.

The directory structure of an application is the same as any python package, with the following special files (some are enforced by underlying systems, some are just conventions, and some are optional):

  • __app__.py (required)
  • __init__.py (required)
  • conftest.py (optional)
    • Dependencies
  • settings.py (optional, convention)
HARP, the HTTP API Runtime Proxy – Copyright © 2023-2026, Romain Dorgueil