[{"data":1,"prerenderedAt":668},["ShallowReactive",2],{"docs-pages-en":3,"doc-en-changelog-sdk-python":308},[4,9,15,20,25,30,35,41,52,60,69,77,84,92,96,105,109,117,122,127,132,138,143,148,153,158,163,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244,249,254,260,265,269,273,278,283,288,293,298,303],{"path":5,"title":6,"description":7,"order":8,"group":8,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fpermissions","Who can do what","[object Object]",null,{"path":10,"title":11,"description":12,"order":13,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Finstallation","Installation","Install CloseYourIt on your own server with one command.",1,"start",{"path":16,"title":17,"description":18,"order":19,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fsettings","Settings","Every setting in the .env file, what it does and which ones you must never change.",2,{"path":21,"title":22,"description":23,"order":24,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fdatabase","Database","What the database is, what is inside, how long data stays and how much room it takes.",3,{"path":26,"title":27,"description":28,"order":29,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fupdates-and-backups","Updates and backups","Update to a new version, back up and restore the database, check the install.",4,{"path":31,"title":32,"description":33,"order":34,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting","What to check when the install, the certificate, email or incoming data do not work.",5,{"path":36,"title":37,"description":38,"order":39,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fconnect-your-apps","Connect your apps","Every tool that sends data to CloseYourIt, and what each one collects.",6,"connect",{"path":42,"title":43,"description":44,"order":45,"group":8,"parent":46,"package":47,"note":48,"collects":49,"status":8},"\u002Fdocs\u002Fsdk-ruby","Ruby \u002F Rails","The closeyourit-ruby gem sends errors, logs, slow queries and job metrics from a Rails app.",7,"connect-your-apps","closeyourit-ruby","Errors, logs, slow queries and methods, background jobs.",{"errors":50,"logs":50,"performance":50,"visits":51,"servers":51},"full","none",{"path":53,"title":54,"description":55,"order":56,"group":8,"parent":46,"package":57,"note":58,"collects":59,"status":8},"\u002Fdocs\u002Fsdk-javascript","JavaScript","The @bussolabs\u002Fcloseyourit-js package works in the browser and on Node 20.16 or newer.",8,"@bussolabs\u002Fcloseyourit-js","Browser and Node, framework adapters and database queries from 0.13.0.",{"errors":50,"logs":50,"performance":50,"visits":50,"servers":51},{"path":61,"title":62,"description":63,"order":64,"group":8,"parent":46,"package":65,"note":66,"collects":67,"status":8},"\u002Fdocs\u002Fsdk-dart","Dart \u002F Flutter","The closeyourit package captures the errors of Flutter apps, even when the phone is offline.",9,"closeyourit","Public errors, logs and metrics from 0.9.3.",{"errors":50,"logs":68,"performance":68,"visits":51,"servers":51},"partial",{"path":70,"title":71,"description":72,"order":73,"group":8,"parent":46,"package":65,"note":74,"collects":75,"status":76},"\u002Fdocs\u002Fsdk-python","Python","The closeyourit package sends errors, logs and metrics from server-side Python applications.",10,"Server side. SQLAlchemy; Django query monitoring and FastAPI\u002FStarlette from 0.4.0.",{"errors":50,"logs":50,"performance":68,"visits":51,"servers":51},"pre_alpha",{"path":78,"title":79,"description":80,"order":81,"group":8,"parent":46,"package":79,"note":82,"collects":83,"status":8},"\u002Fdocs\u002Fsdk-sentry","Sentry SDK","Send errors with a compatible Sentry SDK; sessions and crashes have separate profiles.",11,"Compatible errors; sessions and crashes require a verified profile.",{"errors":50,"logs":51,"performance":51,"visits":51,"servers":51},{"path":85,"title":86,"description":87,"order":88,"group":8,"parent":46,"package":89,"note":90,"collects":91,"status":8},"\u002Fdocs\u002Fagent-server","Server agent","A small program on the server that sends the state of the machine every 60 seconds.",12,"closeyourit-agent","CPU, memory, disks, network, containers and services.",{"errors":51,"logs":68,"performance":51,"visits":51,"servers":50},{"path":93,"title":94,"description":95,"order":88,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fnuxt","Vue and Nuxt","Connect Nuxt browser errors and Nitro server errors without exposing a server token.",{"path":97,"title":98,"description":99,"order":100,"group":8,"parent":46,"package":101,"note":102,"collects":103,"status":104},"\u002Fdocs\u002Fagent-kubernetes","Kubernetes","A read-only observer of the cluster: one copy per cluster.",13,"closeyourit-kube","Machines, apps and error events of the cluster.",{"errors":51,"logs":51,"performance":51,"visits":51,"servers":50},"coming",{"path":106,"title":107,"description":108,"order":100,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fopentelemetry","OpenTelemetry","Send server traces, metrics and logs through the optional OTLP receiver.",{"path":110,"title":111,"description":112,"order":113,"group":8,"parent":46,"package":114,"note":115,"collects":116,"status":8},"\u002Fdocs\u002Fcli","cyi CLI","The closeyourit command, cyi for short: manage projects, errors and tickets from the terminal.",14,"@bussolabs\u002Fcloseyourit-cli","It collects no data: it drives CloseYourIt from the terminal.",{"errors":51,"logs":51,"performance":51,"visits":51,"servers":51},{"path":118,"title":119,"description":120,"order":121,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fhttp-api","HTTP API","Send errors, logs, metrics and page views with plain HTTP requests, without an SDK.",15,{"path":123,"title":124,"description":125,"order":126,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fgithub-app","GitHub","Connect GitHub repositories to tickets and releases with your own GitHub App.",16,{"path":128,"title":129,"description":130,"order":131,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fingest-gateway","Ingest gateway","Keep incoming errors, logs and metrics safe when the app is slow or restarting.",17,{"path":133,"title":134,"description":135,"order":136,"group":137,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fai","AI","Turn on assistant, analysis, dictation and smart search with a CloseYourIt AI key or your own provider.",18,"automation",{"path":139,"title":140,"description":141,"order":142,"group":137,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fautomator","Automator","Let tickets be worked automatically on your own Linux machine, with Claude Code, Codex or both.",19,{"path":144,"title":145,"description":146,"order":147,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fstack-coverage","Frameworks and stack coverage","Choose a published SDK or understand the limits of a locally tested integration.",20,{"path":149,"title":150,"description":151,"order":152,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fmonitoring","Traces, measurements and sessions","Explore the new signals, compare releases and recover original error locations.",21,{"path":154,"title":155,"description":156,"order":157,"group":40,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fnode-database","Node databases","Monitor slow and repeated queries with pg, mysql2, Drizzle and Prisma PostgreSQL.",22,{"path":159,"title":160,"description":161,"order":162,"group":137,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fclaude-code","Claude Code","CloseYourIt inside Claude Code, in a column next to the conversation with production and your open tickets.",23,{"path":164,"title":165,"description":166,"order":167,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Ftickets","Tickets and ideas","Open and follow tickets on the board, group them into milestones, ask questions and turn voted ideas into work.",30,"use",{"path":170,"title":171,"description":172,"order":173,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Ferrors","Errors","How your apps' errors become single rows, and how to resolve, ignore, merge or turn them into tickets.",31,{"path":175,"title":176,"description":177,"order":178,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fperformance","Performance","Find slow queries and methods, read the problems detected automatically and get an alert when one appears.",32,{"path":180,"title":181,"description":182,"order":183,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Flogs","Logs","Search your apps' messages, follow a request from start to end and link a message to an error or a ticket.",33,{"path":185,"title":186,"description":187,"order":188,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fsecrets","Secrets","Passwords, keys and private files in one place, per project and environment, read by your app without a .env on disk.",34,{"path":190,"title":191,"description":192,"order":193,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fservers","Servers","The state of your machines on one page, with history and alerts when something breaks or fills up.",35,{"path":195,"title":196,"description":197,"order":198,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fuptime","Uptime","Check that your sites answer, keep count of outages and show them to customers on a status page.",36,{"path":200,"title":201,"description":202,"order":203,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fcrons","Scheduled jobs","Notice when a job that should run on its own stops running, or runs and ends badly.",37,{"path":205,"title":206,"description":207,"order":208,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Falerts","Alerts","The rules that create an alert, the notification center and where each person chooses to receive them.",38,{"path":210,"title":211,"description":212,"order":213,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fhelpdesk","Help desk","Visitors of a project's site write to the team with the \"Need help?\" button, and the request lands in the right project.",39,{"path":215,"title":216,"description":217,"order":218,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fanalytics","Site analytics","How many people visit the site, what they look at and where they come from, without cookies.",40,{"path":220,"title":221,"description":222,"order":223,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Freplays","Session replay","Record how people move through the site and watch it back like a video, even next to an error.",41,{"path":225,"title":226,"description":227,"order":228,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Freleases","Releases","The versions running in each environment, bound to GitHub tags, and the errors that come back after a fix.",42,{"path":230,"title":231,"description":232,"order":233,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fvulnerabilities","Vulnerabilities","Known security problems in your projects' libraries, and the languages that no longer get fixes.",43,{"path":235,"title":236,"description":237,"order":238,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fseo","SEO","CloseYourIt visits your sites like a search engine and tells you what keeps your pages from being found.",44,{"path":240,"title":241,"description":242,"order":243,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fknowledge","Knowledge base","Write notes, decisions and guides for your projects, find them by meaning and ask questions with sources.",45,{"path":245,"title":246,"description":247,"order":248,"group":168,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fagents","AI agents","Which tickets agents take, what they hand you, where you decide and how each machine is measured.",46,{"path":250,"title":251,"description":252,"order":253,"group":14,"parent":8,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog","Versions","Every CloseYourIt system with its latest version, and the notes of each release.",50,{"path":255,"title":256,"description":257,"order":258,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-app","App","Every stable version of App, newest first.",51,"changelog",{"path":261,"title":262,"description":263,"order":264,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-cli","Command line (cyi)","Every stable version of Command line (cyi), newest first.",52,{"path":266,"title":140,"description":267,"order":268,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-automator","Every stable version of Automator, newest first.",53,{"path":270,"title":86,"description":271,"order":272,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-agent-server","Every stable version of Server agent, newest first.",54,{"path":274,"title":275,"description":276,"order":277,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-agent-kubernetes","Kubernetes agent","Every stable version of Kubernetes agent, newest first.",55,{"path":279,"title":280,"description":281,"order":282,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-sdk-javascript","JavaScript SDK","Every stable version of JavaScript SDK, newest first.",56,{"path":284,"title":285,"description":286,"order":287,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-sdk-ruby","Ruby SDK","Every stable version of Ruby SDK, newest first.",57,{"path":289,"title":290,"description":291,"order":292,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-sdk-python","Python SDK","Every stable version of Python SDK, newest first.",58,{"path":294,"title":295,"description":296,"order":297,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-sdk-dart","Dart SDK","Every stable version of Dart SDK, newest first.",59,{"path":299,"title":300,"description":301,"order":302,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-skills","Skills for AI assistants","Every stable version of Skills for AI assistants, newest first.",60,{"path":304,"title":305,"description":306,"order":307,"group":8,"parent":259,"package":8,"note":8,"collects":8,"status":8},"\u002Fdocs\u002Fchangelog-site","Website and docs","Every stable version of Website and docs, newest first.",61,{"id":309,"title":290,"body":310,"collects":8,"description":291,"extension":662,"group":8,"meta":663,"navigation":664,"note":8,"order":292,"package":8,"parent":259,"path":289,"seo":665,"status":8,"stem":666,"__hash__":667},"docs_en\u002Fdocs\u002Fchangelog-sdk-python.md",{"type":311,"value":312,"toc":649},"minimark",[313,317,322,328,360,364,369,393,397,411,415,420,428,432,436,444,448,452,464,468,472,492,496,508,512,516,521,525,529,534,538,542,578,582,599,603,607],[314,315,316],"p",{},"Release notes are written in Italian.",[318,319,321],"h2",{"id":320},"_041-2026-10-07","0.4.1 · 2026-10-07",[314,323,324],{},[325,326,327],"strong",{},"Fixed",[329,330,331,347],"ul",{},[332,333,334,337,338,342,343,346],"li",{},[325,335,336],{},"Contesti degli errori mascherati."," I dati passati a ",[339,340,341],"code",{},"capture_exception"," con ",[339,344,345],{},"contexts"," seguono lo stesso filtro delle chiavi sensibili del resto del payload, anche se annidati. (CYPY-16)",[332,348,349,352,353,356,357,359],{},[325,350,351],{},"Avviso per endpoint http remoto."," Fuori da production un endpoint ",[339,354,355],{},"http:\u002F\u002F"," su un host diverso da localhost produce un avviso sul logger ",[339,358,65],{},"; production continua a rifiutarlo. (CYPY-16)",[318,361,363],{"id":362},"_040-2026-10-04","0.4.0 · 2026-10-04",[314,365,366],{},[325,367,368],{},"Added",[329,370,371,377,383],{},[332,372,373,376],{},[325,374,375],{},"Query Django osservabili su richiesta."," Monitoraggio opt-in di query lente, N+1 e conteggi, con isolamento sync\u002Fasync, streaming e rimozione reversibile degli hook. (CYRA-970)",[332,378,379,382],{},[325,380,381],{},"Adapter FastAPI e Starlette."," Errori, metriche e template di rotta seguono streaming e background task, con scope isolato e installazione reversibile. Gli input degli errori di validazione non vengono inviati. (CYRA-971)",[332,384,385,388,389,392],{},[325,386,387],{},"Contesto dei tentativi Celery."," Il contesto job v1 separa durata, attesa e ritardo programmato. ",[339,390,391],{},"lifecycle_logs",", spento per default, registra gli esiti osservati senza argomenti o risultati. (CYRA-972)",[314,394,395],{},[325,396,327],{},[329,398,399,405],{},[332,400,401,404],{},[325,402,403],{},"Commenti SQL annidati protetti."," Il fingerprint elimina anche i commenti annidati prima di costruire la telemetria, evitando che i loro valori restino visibili.",[332,406,407,410],{},[325,408,409],{},"Licenza nel pacchetto."," Wheel e distribuzione sorgente includono la licenza MIT e i relativi metadati. (CYRA-915)",[318,412,414],{"id":413},"_033-2026-10-01","0.3.3 · 2026-10-01",[314,416,417],{},[325,418,419],{},"Changed",[329,421,422],{},[332,423,424,427],{},[325,425,426],{},"Manutenzione interna."," Commenti e test sono in inglese e i controlli automatici girano senza cache condivisa. Per chi usa la libreria non cambia niente.",[318,429,431],{"id":430},"_032-2026-09-14","0.3.2 · 2026-09-14",[314,433,434],{},[325,435,327],{},[329,437,438],{},[332,439,440,443],{},[325,441,442],{},"I controlli automatici tornano a girare su ogni proposta di modifica."," Le verifiche erano ferme e le modifiche passavano senza prova. Ora ogni proposta viene controllata prima di essere unita. (CITM-8)",[318,445,447],{"id":446},"_031-2026-09-07","0.3.1 · 2026-09-07",[314,449,450],{},[325,451,327],{},[329,453,454],{},[332,455,456,459,460,463],{},[325,457,458],{},"La credenziale citata in un errore non parte più in chiaro"," (CYPY-15): quando un messaggio\nriporta un header di accesso, viene nascosto anche il valore dopo ",[339,461,462],{},"Bearer",", non solo il tipo di\nautenticazione. Il testo diagnostico attorno resta leggibile.",[318,465,467],{"id":466},"_030-2026-09-03","0.3.0 · 2026-09-03",[314,469,470],{},[325,471,368],{},[329,473,474],{},[332,475,476,479,480,483,484,487,488,491],{},[325,477,478],{},"Telemetria d'uso delle funzioni"," (CYPY-13): le applicazioni Python compaiono nella pagina d'uso e\nin ",[339,481,482],{},"cyi usage list",", con rotte e task registrati da soli e ",[339,485,486],{},"client.used(\"chiave\")"," per il resto.\nSpenta per default, si accende con ",[339,489,490],{},"CLOSEYOURIT_USAGE_ENABLED",".",[314,493,494],{},[325,495,419],{},[329,497,498],{},[332,499,500,503,504,507],{},[325,501,502],{},"La presentazione non promette più funzioni che non ci sono"," (CYPY-14): il README dice che i\nquattro client CloseYourIt non fanno le stesse cose e rimanda alla tabella di parità in\n",[339,505,506],{},"closeyourit-docs",", rilevazione datata di cosa c'è dove.",[318,509,511],{"id":510},"_022-2026-08-24","0.2.2 · 2026-08-24",[314,513,514],{},[325,515,327],{},[329,517,518],{},[332,519,520],{},"La pubblicazione sull'archivio pubblico non viene più rifiutata: il pacchetto dichiara i\nmetadati nella forma corrente e lo strumento che li controllava, dentro l'azione di pubblicazione,\nera fermo a una versione che non la conosceva. La 0.2.1 si era fermata lì e non è mai arrivata\nsull'archivio; questa versione la porta con sé.",[318,522,524],{"id":523},"_021-2026-08-24","0.2.1 · 2026-08-24",[314,526,527],{},[325,528,327],{},[329,530,531],{},[332,532,533],{},"Il flusso di pubblicazione non produce più un giro muto sul tag di prova (CYPY-12): qui un canale di\nprova non esiste, e la macchina che pubblica si svegliava lo stesso, non eseguiva niente e non\nfalliva — dall'esterno identico a un rilascio riuscito. Ora il giro finisce rosso e la riga dice\nquale tag ha ricevuto e che questo repository pubblica soltanto tag stabili.",[318,535,537],{"id":536},"_020-2026-08-01","0.2.0 · 2026-08-01",[314,539,540],{},[325,541,368],{},[329,543,544],{},[332,545,546,547,550,551,554,555,558,559,554,562,554,565,554,568,554,571,574,575,577],{},"Rilevamento automatico della release dalle variabili d'ambiente di deploy\u002FCI (CYPY-10): senza\n",[339,548,549],{},"CLOSEYOURIT_RELEASE"," impostata a mano le segnalazioni partivano senza release, e i casi già risolti\nriaprivano come regressione. Ora si preferisce il tag semver (",[339,552,553],{},"APP_GIT_TAG",", ",[339,556,557],{},"GIT_TAG","), poi lo short SHA\nda ",[339,560,561],{},"KAMAL_VERSION",[339,563,564],{},"GIT_SHA",[339,566,567],{},"GIT_REVISION",[339,569,570],{},"SOURCE_VERSION",[339,572,573],{},"HEROKU_SLUG_COMMIT",". Nessun subprocess\ngit. ",[339,576,549],{}," e il valore passato a mano mantengono la precedenza. Allineato a\nCloseYourIt-Ruby.",[314,579,580],{},[325,581,327],{},[329,583,584],{},[332,585,586,587,590,591,594,595,598],{},"L'SDK avvisa nei log quando si disattiva o perde eventi (CYPY-11): configurazione non valida, coda piena\ne spedizioni fallite venivano solo contate in ",[339,588,589],{},"TransportStats",", che nessun modulo legge — l'SDK diventava\nmuto e indistinguibile da \"nessun errore\". Ora c'è un logger diagnostico condiviso\n(",[339,592,593],{},"logging.getLogger(\"closeyourit\")",", lo stesso nome che ",[339,596,597],{},"CloseYourItHandler"," già filtra, quindi mai\nri-catturato) che emette un avviso una sola volta con il motivo della disattivazione.",[318,600,602],{"id":601},"_010-2026-07-13","0.1.0 · 2026-07-13",[314,604,605],{},[325,606,368],{},[329,608,609,612,615,618,621,624,627,630,637,640,643,646],{},[332,610,611],{},"Scaffold Python tipizzato con test, coverage, lint, type check e build del package.",[332,613,614],{},"Pipeline di pubblicazione PyPI tramite Trusted Publishing OIDC, senza token permanenti.",[332,616,617],{},"Configurazione immutabile e fail-safe con validazione delle credenziali server-side.",[332,619,620],{},"Scope isolato per task e thread, snapshot immutabili e scrubbing PII ricorsivo.",[332,622,623],{},"Builder tipizzati per errori, messaggi, log strutturati e metriche performance.",[332,625,626],{},"Client con sampling deterministico, breadcrumb limitati e protocollo di sink sostituibile.",[332,628,629],{},"Transport HTTP asincrono con coda limitata, retry, diagnostica, flush, shutdown e fork safety.",[332,631,632,633,636],{},"Handler ",[339,634,635],{},"logging"," e hook reversibili per errori non gestiti di sys, threading e asyncio.",[332,638,639],{},"Contratto golden ingest vendorizzato con schema, fixture, matrice HTTP, lock e checksum.",[332,641,642],{},"Middleware WSGI\u002FASGI e adapter Django\u002FFlask con scope isolato, streaming e privacy-by-default.",[332,644,645],{},"Integrazioni opzionali e reversibili per Requests, HTTPX sync\u002Fasync e SQLAlchemy, con URL e SQL\nprivati per default, slow\u002Frepeated HTTP, query lente, conteggio query e rilevazione N+1.",[332,647,648],{},"Extra Celery con signal reversibili, metriche task\u002Fcoda e capture fail-safe di failure, retry e\nrevoche senza acquisire argomenti o risultati.",{"title":650,"searchDepth":19,"depth":19,"links":651},"",[652,653,654,655,656,657,658,659,660,661],{"id":320,"depth":19,"text":321},{"id":362,"depth":19,"text":363},{"id":413,"depth":19,"text":414},{"id":430,"depth":19,"text":431},{"id":446,"depth":19,"text":447},{"id":466,"depth":19,"text":467},{"id":510,"depth":19,"text":511},{"id":523,"depth":19,"text":524},{"id":536,"depth":19,"text":537},{"id":601,"depth":19,"text":602},"md",{},true,{"title":290,"description":291},"docs\u002Fchangelog-sdk-python","uu2qiAGN22YAaKMs3C-OxFrINFl_th88PquJ0yScGGY",1791469658224]