openapm

OpenAPM: ligthweight APM for HTTP FastAPI backend applications

https://github.com/frgfm/openapm

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

apm backend fastapi http middleware postgres python
Last synced: 4 months ago · JSON representation ·

Repository

OpenAPM: ligthweight APM for HTTP FastAPI backend applications

Basic Info
  • Host: GitHub
  • Owner: frgfm
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 97.7 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • Open Issues: 3
  • Releases: 0
Topics
apm backend fastapi http middleware postgres python
Created about 1 year ago · Last pushed 9 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation Codeowners Security

README.md

OpenAPM: ligthweight APM for FastAPI backend applications

CI Status ruff ruff Test coverage percentage

PyPi Version pyversions License

Documentation Status

Ready-to-use APM backend service and middleware to monitor your FastAPI applications.

Quick Tour

Using the middleware

OpenAPM leverages FastAPI middlewares and background tasks easily retrieve performance information on your HTTP request processing.

You can find more information in the documentation, then use it as follows:

```python

Define your model

from openapm.middlewares import FastAPIMiddleware from fastapi import FastAPI

app = FastAPI() app.add_middleware(FastAPIMiddleware(endpoint="https://your-apm-endpoint.com")) ```

Setup

Python 3.11 (or higher) and pip/conda are required to install OpenAPM.

Stable release

You can install the last stable release of the package using pypi as follows:

shell pip install openapm

Developer installation

Alternatively, if you wish to use the latest features of the project that haven't made their way to a release yet, you can install the package from source:

shell git clone https://github.com/frgfm/openapm.git pip install -e openapm/.

What else

Documentation

The full package documentation is available here for detailed specifications.

Citation

If you wish to cite this project, feel free to use this BibTeX reference:

bibtex @misc{openapm2024, title={OpenAPM: lightweight APM for FastAPI backend applications}, author={François-Guillaume Fernandez}, year={2024}, month={November}, publisher = {GitHub}, howpublished = {\url{https://github.com/frgfm/openapm}} }

Contributing

Feeling like extending the range of supported backend framework? Or perhaps submitting a new metric capture? Any sort of contribution is greatly appreciated!

You can find a short guide in CONTRIBUTING to help grow this project!

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

FOSSA Status

Owner

  • Name: F-G Fernandez
  • Login: frgfm
  • Kind: user
  • Location: Paris, FR
  • Company: @relaycli @pyronear

Deep Learning Engineer by day, Open Source contributor by night :bat:

Citation (CITATION.cff)

cff-version: 1.2.0
type: software
message: "If you use this software in your work, please cite it as below."
authors:
- family-names: "Fernandez"
  given-names: "François-Guillaume"
title: "OpenAPM"
date-released: 2024-11-25
url: "https://github.com/frgfm/openapm"

GitHub Events

Total
  • Delete event: 27
  • Issue comment event: 42
  • Push event: 26
  • Pull request review event: 3
  • Pull request event: 65
  • Fork event: 1
  • Create event: 36
Last Year
  • Delete event: 27
  • Issue comment event: 42
  • Push event: 26
  • Pull request review event: 3
  • Pull request event: 65
  • Fork event: 1
  • Create event: 36

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 53
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 days
  • Total issue authors: 0
  • Total pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 1.4
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 46
Past Year
  • Issues: 0
  • Pull requests: 53
  • Average time to close issues: N/A
  • Average time to close pull requests: 6 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 1.4
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 46
Top Authors
Issue Authors
Pull Request Authors
  • dependabot[bot] (53)
  • frgfm (14)
Top Labels
Issue Labels
Pull Request Labels
dependencies (53) service: client (48) python (47) ext: ci (14) type: misc (14) service: server (12) func: build (12) topic: docs (9) topic: style (6) github_actions (6) type: improvement (5) type: feat (5) module: database (2) type: fix (2) ext: tests (2)

Dependencies

.github/workflows/build.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • astral-sh/setup-uv v5 composite
.github/workflows/pr-edited.yml actions
  • amannn/action-semantic-pull-request v5 composite
.github/workflows/pr-merged.yml actions
  • actions/checkout v4 composite
  • actions/github-script v7 composite
  • actions/setup-python v5 composite
.github/workflows/push.yml actions
  • actions/checkout v4 composite
  • astral-sh/setup-uv v5 composite
  • docker/login-action v3 composite
.github/workflows/style.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • astral-sh/setup-uv v5 composite
.github/workflows/tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • astral-sh/setup-uv v5 composite
  • frgfm/validate-python-headers main composite
.github/workflows/triage.yml actions
  • actions/labeler v5 composite
docker-compose.yml docker
  • openapm/backend latest
  • postgres 15-alpine
server/Dockerfile docker
  • python 3.11-slim build
client/pyproject.toml pypi
  • fastapi >=0.109.1,<1.0.0
  • requests >=2.31.0,<3.0.0
client/setup.py pypi
server/pyproject.toml pypi
  • asyncpg >=0.29.0,<1.0.0
  • fastapi >=0.109.1,<1.0.0
  • pydantic >=2.0.0,<3.0.0
  • pydantic-settings >=2.0.0,<3.0.0
  • requests >=2.32.0,<3.0.0
  • sentry-sdk [fastapi]>=2.14.0,<3.0.0
  • sqlmodel >=0.0.22,<0.1.0
  • uvicorn >=0.23.0,<1.0.0