From the team behind Pydantic, Logfire is an observability platform built on the same belief as our open source library β that the most powerful tools can be easy to use.
What sets Logfire apart:
See the documentation for more information.
Feel free to report issues and ask any questions about Logfire in this repository!
This repo contains the Python SDK for logfire
and documentation; the server application for recording and displaying data is closed source.
This is a very brief overview of how to use Logfire, the documentation has much more detail.
pip install logfire
logfire auth
Here's a simple manual tracing (aka logging) example:
import logfire
from datetime import date
logfire.info('Hello, {name}!', name='world')
with logfire.span('Asking the user their {question}', question='age'):
user_input = input('How old are you [YYYY-mm-dd]? ')
dob = date.fromisoformat(user_input)
logfire.debug('{dob=} {age=!r}', dob=dob, age=date.today() - dob)
Or you can also avoid manual instrumentation and instead integrate with lots of popular packages, here's an example of integrating with FastAPI:
import logfire
from pydantic import BaseModel
from fastapi import FastAPI
app = FastAPI()
logfire.configure()
logfire.instrument_fastapi(app)
# next, instrument your database connector, http library etc. and add the logging handler
class User(BaseModel):
name: str
country_code: str
@app.post('/')
async def add_user(user: User):
# we would store the user here
return {'message': f'{user.name} added'}
Logfire gives you a view into how your code is running like this:
We'd love anyone interested to contribute to the Logfire SDK and documentation, see the contributing guide.
See our security policy.