From a8b71d5d608444cf98ae9f8ae23e249ff74f3d5b Mon Sep 17 00:00:00 2001 From: egenthon-cmd Date: Mon, 6 Jul 2026 17:15:10 -0400 Subject: [PATCH] feat: clean the depreciated integration folder --- integrations-examples/OBS/README.md | 68 - .../OBS/subtitles-with-chromakey.html | 568 ------ integrations-examples/discord/README.md | 29 - integrations-examples/discord/gladia.js | 74 - integrations-examples/discord/index.js | 110 - .../discord/package-lock.json | 703 ------- integrations-examples/discord/package.json | 18 - integrations-examples/gmeet-bot/Dockerfile | 107 - integrations-examples/gmeet-bot/README.md | 29 - integrations-examples/gmeet-bot/build.sh | 1 - integrations-examples/gmeet-bot/entrypoint.sh | 2 - integrations-examples/gmeet-bot/gmeet.py | 435 ---- .../gmeet-bot/pulseaudio.conf | 10 - .../gmeet-bot/requirements.txt | 8 - integrations-examples/gmeet-bot/ssh_config | 53 - .../livekit-agent/.env.example | 4 - integrations-examples/livekit-agent/README.md | 101 - .../livekit-agent/img/agent-connected.png | Bin 9508 -> 0 bytes .../livekit-agent/img/agent-loading.png | Bin 10270 -> 0 bytes .../livekit-agent/img/key-details-2.png | Bin 40372 -> 0 bytes .../livekit-agent/img/key-details.png | Bin 42530 -> 0 bytes .../livekit-agent/img/new-project.png | Bin 19710 -> 0 bytes .../img/playground-connection.png | Bin 86939 -> 0 bytes .../livekit-agent/img/playground.png | Bin 129226 -> 0 bytes .../livekit-agent/img/project-api-keys.png | Bin 104735 -> 0 bytes .../livekit-agent/img/transcription.png | Bin 11513 -> 0 bytes integrations-examples/livekit-agent/main.py | 67 - .../livekit-agent/pyproject.toml | 10 - integrations-examples/livekit-agent/uv.lock | 1269 ------------ .../pipecat-bot/.env.example | 1 - integrations-examples/pipecat-bot/README.md | 53 - integrations-examples/pipecat-bot/main.py | 114 -- .../pipecat-bot/pyproject.toml | 9 - integrations-examples/pipecat-bot/uv.lock | 1798 ----------------- integrations-examples/twilio/.env.example | 4 - integrations-examples/twilio/README.md | 51 - integrations-examples/twilio/app.js | 122 -- .../twilio/package-lock.json | 1444 ------------- integrations-examples/twilio/package.json | 20 - 39 files changed, 7282 deletions(-) delete mode 100644 integrations-examples/OBS/README.md delete mode 100644 integrations-examples/OBS/subtitles-with-chromakey.html delete mode 100644 integrations-examples/discord/README.md delete mode 100644 integrations-examples/discord/gladia.js delete mode 100644 integrations-examples/discord/index.js delete mode 100644 integrations-examples/discord/package-lock.json delete mode 100644 integrations-examples/discord/package.json delete mode 100644 integrations-examples/gmeet-bot/Dockerfile delete mode 100644 integrations-examples/gmeet-bot/README.md delete mode 100755 integrations-examples/gmeet-bot/build.sh delete mode 100755 integrations-examples/gmeet-bot/entrypoint.sh delete mode 100644 integrations-examples/gmeet-bot/gmeet.py delete mode 100644 integrations-examples/gmeet-bot/pulseaudio.conf delete mode 100644 integrations-examples/gmeet-bot/requirements.txt delete mode 100644 integrations-examples/gmeet-bot/ssh_config delete mode 100644 integrations-examples/livekit-agent/.env.example delete mode 100644 integrations-examples/livekit-agent/README.md delete mode 100644 integrations-examples/livekit-agent/img/agent-connected.png delete mode 100644 integrations-examples/livekit-agent/img/agent-loading.png delete mode 100644 integrations-examples/livekit-agent/img/key-details-2.png delete mode 100644 integrations-examples/livekit-agent/img/key-details.png delete mode 100644 integrations-examples/livekit-agent/img/new-project.png delete mode 100644 integrations-examples/livekit-agent/img/playground-connection.png delete mode 100644 integrations-examples/livekit-agent/img/playground.png delete mode 100644 integrations-examples/livekit-agent/img/project-api-keys.png delete mode 100644 integrations-examples/livekit-agent/img/transcription.png delete mode 100644 integrations-examples/livekit-agent/main.py delete mode 100644 integrations-examples/livekit-agent/pyproject.toml delete mode 100644 integrations-examples/livekit-agent/uv.lock delete mode 100644 integrations-examples/pipecat-bot/.env.example delete mode 100644 integrations-examples/pipecat-bot/README.md delete mode 100644 integrations-examples/pipecat-bot/main.py delete mode 100644 integrations-examples/pipecat-bot/pyproject.toml delete mode 100644 integrations-examples/pipecat-bot/uv.lock delete mode 100644 integrations-examples/twilio/.env.example delete mode 100644 integrations-examples/twilio/README.md delete mode 100644 integrations-examples/twilio/app.js delete mode 100644 integrations-examples/twilio/package-lock.json delete mode 100644 integrations-examples/twilio/package.json diff --git a/integrations-examples/OBS/README.md b/integrations-examples/OBS/README.md deleted file mode 100644 index a34688f..0000000 --- a/integrations-examples/OBS/README.md +++ /dev/null @@ -1,68 +0,0 @@ -# How to Use Gladia's Subtitles API - -Gladia's Subtitles API allows you to automatically generate subtitles for your videos in various languages. The API is easy to use and offers a free tier with 10 hours per month. This guide will walk you through the steps to access and use this API. - -## Step 1: Obtaining Your API Key - -Before you can start using the Subtitles API, you need an API key. Here's how you can get it: - -1. Go to [Gladia's Application Portal](https://app.gladia.io). -2. Sign up for an account if you don't already have one. -3. Once logged in, navigate to the API section. -4. Look for the Subtitles API and subscribe to it. -5. You will be given an API key, which you can use for your requests. - - Note: The free tier allows for 10 hours of usage per month. If you need more, there are paid plans available. - -## Step 2: Using the Subtitles API - -The Subtitles API endpoint is structured as follows: - -``` -https://subtitles.gladia.io/subtitles-3.html -``` - -You can customize the API call by adding parameters such as your API token, source language, and visual customization options for the subtitles. - -Here's an example of a URL constructed with various parameters: - -``` -https://subtitles.gladia.io/subtitles-3.html?token=YOUR_API_KEY&source_language=english&font_size=40&font_name=Comic%20Sans%20MS&background_color=00ff00&text_color=ffffff&endpoint=5 -``` - -### Parameters: - -- `token`: Your API key from Gladia. -- `source_language`: The language of the video you are creating subtitles for (e.g., "french"). -- `target_language`: The language to which you want to translate the subtitles (e.g., "english"). -- `font_size`: The size of the font for the subtitles in pixel. -- `font_name`: The font family for the subtitles (e.g., "Arial"). -- `background_color`: The background color of the subtitles in hex format (e.g., "000000" for black). -- `text_color`: The color of the text for the subtitles in hex format (e.g., "ffffff" for white). -- `endpointing`: The endpointing duration in seconds. (Specifies the endpointing duration in milliseconds. i.e. the duration of silence which will cause the utterance to be considered finished and a result of type ‘final’ to be sent.) (recommended 5 for 5ms for conferences) -- `max_lines`: The maximum number of lines for subtitles. -- `line_height`: The line height for subtitles. -- `scroll_speed`: The speed at which the subtitles scroll in milliseconds per pixel. -- `alignment`: The alignment of the subtitles. (left, right, justify, start, end) -- `model`: The model used for generating subtitles. (fast or accurate) -- `vocab`: A list of vocabulary or keywords to be highlighted in the subtitles. (a comma separated value of custom vocabulary) - -You can provide descriptions and usage examples for each of these parameters in your API documentation. - -## Step 3: Making the API Call - -Once you have your URL with all parameters set, you can use it in your application to make the API call. If you're using this in a web application, you can simply make a GET request to the constructed URL. - -## Step 4: Receiving and Using the Subtitles - -After making the API call, you will receive the subtitles, which you can then use in your video player or download as a file, depending on your requirements and the setup of your application. - -## Additional Notes - -- Make sure to keep your API key secret. -- Be mindful of the usage limits on the free tier. -- Check Gladia's documentation for any updates or changes to the API endpoints or parameters. - ---- - -Remember to replace `YOUR_API_KEY` with the actual API key you received from Gladia. By following these instructions, you should be able to utilize the Subtitles API to automatically generate subtitles for your video content. diff --git a/integrations-examples/OBS/subtitles-with-chromakey.html b/integrations-examples/OBS/subtitles-with-chromakey.html deleted file mode 100644 index c3eb180..0000000 --- a/integrations-examples/OBS/subtitles-with-chromakey.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - - Gladia - Embedded - - - - - - - - -
- - - - diff --git a/integrations-examples/discord/README.md b/integrations-examples/discord/README.md deleted file mode 100644 index e534cb7..0000000 --- a/integrations-examples/discord/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Discord.js v14 BOT + Gladia Live Transcription - -First, install all the required package by running: - -```bash -npm install -``` - -Then, you will to setup the `index.js` script with your Discord keys, guild ID (Server ID), and the Voice Channel ID. - -## Run - -Documentation can be found here for Gladia live transcription: - -https://docs.gladia.io/api-reference/live-flow - -Once everything is setup properly, just run - -```bash -npm run start YOUR_GLADIA_TOKEN -``` - -Your bot should then join the channel corresponding to the channel ID you configured in the `index.js` file. - -## Notes - -- Make sure your bot is invited on the server -- Make sure your bot have the voices permissions -- The current implementation is not optimized, so you might experiences inaccuracy regarding language changes & words diff --git a/integrations-examples/discord/gladia.js b/integrations-examples/discord/gladia.js deleted file mode 100644 index a11bd58..0000000 --- a/integrations-examples/discord/gladia.js +++ /dev/null @@ -1,74 +0,0 @@ -import { exit } from 'process'; -import WebSocket from 'ws'; - -const ERROR_KEY = 'error'; -const TYPE_KEY = 'type'; -const TRANSCRIPTION_KEY = 'transcription'; -const LANGUAGE_KEY = 'language'; -const SAMPLE_RATE = 48_000; - -// Your Gladia Token -const gladiaKey = process.argv[2]; -if (!gladiaKey) { - console.error( - 'You must provide a Gladia key. Go to https://app.gladia.io to get yours.', - ); - exit(1); -} else { - console.log(`Using the Gladia key: ${gladiaKey}`); -} - -const gladiaUrl = 'wss://api.gladia.io/audio/text/audio-transcription'; - -export function initGladiaConnection(userName) { - const socket = new WebSocket(gladiaUrl); - - socket.on('message', (event) => { - if (event) { - const utterance = JSON.parse(event.toString()); - if (Object.keys(utterance).length !== 0) { - if (ERROR_KEY in utterance) { - console.error(`${utterance[ERROR_KEY]}`); - socket.close(); - } else { - if (utterance && utterance[TRANSCRIPTION_KEY]) - console.log( - `${userName} [${utterance[TYPE_KEY]}] (${utterance[LANGUAGE_KEY]}): ${utterance[TRANSCRIPTION_KEY]}`, - ); - } - } - } else { - console.log('Empty ...'); - } - }); - - socket.on('error', (error) => { - console.log(error.message); - }); - - socket.on('close', () => { - console.log('Connection closed.'); - }); - - socket.on('open', async () => { - const configuration = { - x_gladia_key: gladiaKey, - language_behaviour: 'automatic single language', - sample_rate: SAMPLE_RATE, - // "model_type":"accurate" <- Slower but more accurate model, useful if you need precise addresses for example. - }; - socket.send(JSON.stringify(configuration)); - }); - - return socket; -} - -export function sendDataToGladia(chunkPCM, socket) { - const base64 = chunkPCM.toString('base64'); - - if (socket.readyState === WebSocket.OPEN) { - socket.send(JSON.stringify({ frames: base64 })); - } else { - console.log('WebSocket ready state is not [ OPEN ]'); - } -} diff --git a/integrations-examples/discord/index.js b/integrations-examples/discord/index.js deleted file mode 100644 index f7a9bab..0000000 --- a/integrations-examples/discord/index.js +++ /dev/null @@ -1,110 +0,0 @@ -import { Client, Events, GatewayIntentBits } from 'discord.js'; -import { - joinVoiceChannel, - VoiceConnectionStatus, - EndBehaviorType, -} from '@discordjs/voice'; -import { sendDataToGladia, initGladiaConnection } from './gladia.js'; // import the initialization function -import * as prism from 'prism-media'; - -const config = { - // Your bot secret token - token: '', - // Your server ID (known as guild id) - guildId: '', - // The Voice channel ID you want to bot to connect to - voiceChannelId: '', -}; - -const { token, guildId, voiceChannelId } = config; -const users = {}; -const userSockets = {}; // Store user WebSocket connections here - -const client = new Client({ - intents: [ - GatewayIntentBits.Guilds, - GatewayIntentBits.GuildVoiceStates, - GatewayIntentBits.GuildMessages, - ], -}); - -client.once(Events.ClientReady, (c) => { - console.log(`Ready! Logged in as ${c.user.tag}`); - - const guild = client.guilds.cache.get(guildId); - const voiceChannel = guild.channels.cache.get(voiceChannelId); - - const connection = joinVoiceChannel({ - channelId: voiceChannel.id, - guildId: voiceChannel.guild.id, - adapterCreator: voiceChannel.guild.voiceAdapterCreator, - selfDeaf: false, - selfMute: true, - }); - - connection.on(VoiceConnectionStatus.Ready, () => { - console.log( - 'The connection has entered the Ready state - ready to listen to audios!', - ); - - connection.receiver.speaking.on('start', async (userId) => { - if (!users[userId]) { - const userInfos = await client.users.fetch(userId); - users[userId] = userInfos; - } - const userName = users[userId].globalName ?? 'Unknown User'; - - if (!userSockets[userId]) { - console.log(`Init new websocket connection for: ${userName}`); - userSockets[userId] = initGladiaConnection(userName); - } - - const opusDecoder = new prism.opus.Decoder({ - frameSize: 50960, - channels: 1, - rate: 48000, - }); - - let subscription = connection.receiver.subscribe(userId, { - end: { - behavior: EndBehaviorType.AfterSilence, - duration: 300, - }, - }); - - subscription.pipe(opusDecoder); - - let audioBuffer = []; - opusDecoder.on('data', (chunk) => { - audioBuffer.push(chunk); - }); - - subscription.once('end', async () => { - // Get the last 9 elements of audioBuffer that should be silence - // since Discord doesn't pad the audio with silence - const lastNineElements = audioBuffer.slice(-9); - - // Get more silences for a better end of speech detection - const repeatedElements = []; - for (let i = 0; i < 10; i++) { - repeatedElements.push(...lastNineElements); - } - - // Pad the audio buffer with silence - audioBuffer.push(...repeatedElements); - audioBuffer.unshift(...repeatedElements); - - // Concatenate all the Buffers in audioBuffer - const concatenated = Buffer.concat(audioBuffer); - sendDataToGladia(concatenated, userSockets[userId]); // Pass the user's WebSocket connection - audioBuffer = []; - }); - }); - }); - - connection.on(VoiceConnectionStatus.Connecting, () => { - console.log('Connecting to voice channel...'); - }); -}); - -client.login(token); diff --git a/integrations-examples/discord/package-lock.json b/integrations-examples/discord/package-lock.json deleted file mode 100644 index aaca2a9..0000000 --- a/integrations-examples/discord/package-lock.json +++ /dev/null @@ -1,703 +0,0 @@ -{ - "name": "discordjs-gladia", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "discordjs-gladia", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@discordjs/voice": "^0.19.2", - "discord.js": "^14.26.4", - "libsodium-wrappers": "^0.8.4", - "prism-media": "^1.3.5" - } - }, - "node_modules/@discordjs/builders": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@discordjs/builders/-/builders-1.14.1.tgz", - "integrity": "sha512-gSKkhXLqs96TCzk66VZuHHl8z2bQMJFGwrXC0f33ngK+FLNau4hU1PYny3DNJfNdSH+gVMzE85/d5FQ2BpcNwQ==", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/formatters": "^0.6.2", - "@discordjs/util": "^1.2.0", - "@sapphire/shapeshift": "^4.0.0", - "discord-api-types": "^0.38.40", - "fast-deep-equal": "^3.1.3", - "ts-mixer": "^6.0.4", - "tslib": "^2.6.3" - }, - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/collection": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-1.5.3.tgz", - "integrity": "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.11.0" - } - }, - "node_modules/@discordjs/formatters": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@discordjs/formatters/-/formatters-0.6.2.tgz", - "integrity": "sha512-y4UPwWhH6vChKRkGdMB4odasUbHOUwy7KL+OVwF86PvT6QVOwElx+TiI1/6kcmcEe+g5YRXJFiXSXUdabqZOvQ==", - "license": "Apache-2.0", - "dependencies": { - "discord-api-types": "^0.38.33" - }, - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/rest": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/@discordjs/rest/-/rest-2.6.1.tgz", - "integrity": "sha512-wwQdgjeaoYFiaG+atbqx6aJDpqW7JHAo0HrQkBTbYzM3/PJ3GweQIpgElNcGZ26DCUOXMyawYd0YF7vtr+fZXg==", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/collection": "^2.1.1", - "@discordjs/util": "^1.2.0", - "@sapphire/async-queue": "^1.5.3", - "@sapphire/snowflake": "^3.5.5", - "@vladfrangu/async_event_emitter": "^2.4.6", - "discord-api-types": "^0.38.40", - "magic-bytes.js": "^1.13.0", - "tslib": "^2.6.3", - "undici": "6.24.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/rest/node_modules/@discordjs/collection": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", - "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", - "license": "Apache-2.0", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/rest/node_modules/@sapphire/snowflake": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.5.tgz", - "integrity": "sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ==", - "license": "MIT", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@discordjs/util": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@discordjs/util/-/util-1.2.0.tgz", - "integrity": "sha512-3LKP7F2+atl9vJFhaBjn4nOaSWahZ/yWjOvA4e5pnXkt2qyXRCHLxoBQy81GFtLGCq7K9lPm9R517M1U+/90Qg==", - "license": "Apache-2.0", - "dependencies": { - "discord-api-types": "^0.38.33" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/voice": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.19.2.tgz", - "integrity": "sha512-3yJ255e4ag3wfZu/DSxeOZK1UtnqNxnspmLaQetGT0pDkThNZoHs+Zg6dgZZ19JEVomXygvfHn9lNpICZuYtEA==", - "license": "Apache-2.0", - "dependencies": { - "@snazzah/davey": "^0.1.9", - "@types/ws": "^8.18.1", - "discord-api-types": "^0.38.41", - "prism-media": "^1.3.5", - "tslib": "^2.8.1", - "ws": "^8.19.0" - }, - "engines": { - "node": ">=22.12.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/ws": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@discordjs/ws/-/ws-1.2.3.tgz", - "integrity": "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw==", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/collection": "^2.1.0", - "@discordjs/rest": "^2.5.1", - "@discordjs/util": "^1.1.0", - "@sapphire/async-queue": "^1.5.2", - "@types/ws": "^8.5.10", - "@vladfrangu/async_event_emitter": "^2.2.4", - "discord-api-types": "^0.38.1", - "tslib": "^2.6.2", - "ws": "^8.17.0" - }, - "engines": { - "node": ">=16.11.0" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@discordjs/ws/node_modules/@discordjs/collection": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-2.1.1.tgz", - "integrity": "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg==", - "license": "Apache-2.0", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/@emnapi/core": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", - "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", - "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", - "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", - "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@sapphire/async-queue": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@sapphire/async-queue/-/async-queue-1.5.5.tgz", - "integrity": "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==", - "license": "MIT", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@sapphire/shapeshift": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sapphire/shapeshift/-/shapeshift-4.0.0.tgz", - "integrity": "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=v16" - } - }, - "node_modules/@sapphire/snowflake": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/@sapphire/snowflake/-/snowflake-3.5.3.tgz", - "integrity": "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==", - "license": "MIT", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/@snazzah/davey": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey/-/davey-0.1.11.tgz", - "integrity": "sha512-oBN+msHzPnm1M5DDx3wVD7iBwpNXFUtkh2MrAbUJu0OhKjliLChi28hq++mu1+qdMpAVQO5JKAvQQxYVbyneiw==", - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "funding": { - "url": "https://github.com/sponsors/Snazzah" - }, - "optionalDependencies": { - "@snazzah/davey-android-arm-eabi": "0.1.11", - "@snazzah/davey-android-arm64": "0.1.11", - "@snazzah/davey-darwin-arm64": "0.1.11", - "@snazzah/davey-darwin-x64": "0.1.11", - "@snazzah/davey-freebsd-x64": "0.1.11", - "@snazzah/davey-linux-arm-gnueabihf": "0.1.11", - "@snazzah/davey-linux-arm64-gnu": "0.1.11", - "@snazzah/davey-linux-arm64-musl": "0.1.11", - "@snazzah/davey-linux-x64-gnu": "0.1.11", - "@snazzah/davey-linux-x64-musl": "0.1.11", - "@snazzah/davey-wasm32-wasi": "0.1.11", - "@snazzah/davey-win32-arm64-msvc": "0.1.11", - "@snazzah/davey-win32-ia32-msvc": "0.1.11", - "@snazzah/davey-win32-x64-msvc": "0.1.11" - } - }, - "node_modules/@snazzah/davey-android-arm-eabi": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-android-arm-eabi/-/davey-android-arm-eabi-0.1.11.tgz", - "integrity": "sha512-T1RYbNYKN6tLOcGIDKJd8OI6FBSEemwL7DOYdTMmhqfhhMr3YVN8WOhfoxGg63OcnpTN2e2c5tdY2bAx25RmQQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-android-arm64": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-android-arm64/-/davey-android-arm64-0.1.11.tgz", - "integrity": "sha512-ksJn/x2VU8h6w9eku1HT96ugSRZ7lKVkKNKbFleaFN+U99DJaPM+gMu2YvnFU4V54HR06ZBnRihnVG6VLXQpDw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-darwin-arm64": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-darwin-arm64/-/davey-darwin-arm64-0.1.11.tgz", - "integrity": "sha512-E1d7PbaaVMO3Lj9EiAPqOVbuV0xg5+PsHzHH097DDXiD1+zUDXvJaTnUWsnm5z50pJniHpi4GtaYmk+ieB/guA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-darwin-x64": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-darwin-x64/-/davey-darwin-x64-0.1.11.tgz", - "integrity": "sha512-Tl4TI/LTmgJZepgbgVMYDi8RqlAkPtPg1OEBPl7a9Tn3AwR36Vs6lyIT1cs/lGy/ds/+B+mKI4rPObN1cyILTw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-freebsd-x64": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-freebsd-x64/-/davey-freebsd-x64-0.1.11.tgz", - "integrity": "sha512-T8Iw9FXkuI1T+YBAFzh9v/TXf9IOTOSqnd/BFpTRTrlW72PR2lhIidzSmg027VxO7r5pX47iFwiOkb9I/NU/EA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-linux-arm-gnueabihf": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm-gnueabihf/-/davey-linux-arm-gnueabihf-0.1.11.tgz", - "integrity": "sha512-1Txj+8pqA8uq/OGtaUaBFWAPnNMQzFgIywj0iA7EI4xZl+mab48/pv+YZ1pNb/suC6ynsW44oB9efiXSdcUAgA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-linux-arm64-gnu": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm64-gnu/-/davey-linux-arm64-gnu-0.1.11.tgz", - "integrity": "sha512-ERzF5nM/IYW1BcN3wLXpEwBCGLFf0kGJUVhaV6yfiInz0tkU8UmvrrgpaMaACfMjIhfWdq5CcX+aTkXo/saNcg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-linux-arm64-musl": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-arm64-musl/-/davey-linux-arm64-musl-0.1.11.tgz", - "integrity": "sha512-e6pX6Hiabtz99q+H/YHNkm9JVlpqN8HGh0qPib8G2+UY4/SSH8WvqWipk3v581dMy2oyCHt7MOoY1aU1P1N/xA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-linux-x64-gnu": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-x64-gnu/-/davey-linux-x64-gnu-0.1.11.tgz", - "integrity": "sha512-TW5bSoqChOJMbvsDb4wAATYrxmAXuNnse7wFNVSAJUaZKSeRfZbu3UAiPWSNn7GwLwSfU6hg322KZUn8IWCuvg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-linux-x64-musl": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-linux-x64-musl/-/davey-linux-x64-musl-0.1.11.tgz", - "integrity": "sha512-5j6Pmc+Wzv5lSxVP6quA7teYRJXibkZqQyYGfTDnTsUOO5dPpcojpqlXlkhyvsA1OAQTj4uxbOCciN3cVWwzug==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-wasm32-wasi": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-wasm32-wasi/-/davey-wasm32-wasi-0.1.11.tgz", - "integrity": "sha512-rKOwZ/0J8lp+4VEyOdMDBRP9KR+PksZpa9V1Qn0veMzy4FqTVKthkxwGqewheFe0SFg9fdvt798l/PBFrfDeZw==", - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^1.1.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@snazzah/davey-win32-arm64-msvc": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-arm64-msvc/-/davey-win32-arm64-msvc-0.1.11.tgz", - "integrity": "sha512-5fptJU4tX901m3mj0SHiBljMrPT4ZEsynbBhR7bK1yn9TY1jjyhN8EFi7QF5IWtUEni+0mia2BCMHZ5ZkmFZqQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-win32-ia32-msvc": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-ia32-msvc/-/davey-win32-ia32-msvc-0.1.11.tgz", - "integrity": "sha512-ualexn8SeLsiMHhWfzVrzRcjHgcBapg++FPaVgJJxoh2S/jCRiklXOu3luqIZdJdNKvhe2V9SwO/cImPeIIBKw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@snazzah/davey-win32-x64-msvc": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@snazzah/davey-win32-x64-msvc/-/davey-win32-x64-msvc-0.1.11.tgz", - "integrity": "sha512-muNhc8UKXtknzsH/w4AIkbPR2I8BuvApn0pDXar0IEvY8PCjqU/M8MPbOOEYwQVvQRMwVTgExtxzrkBPSXB4nA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/node": { - "version": "24.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", - "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@vladfrangu/async_event_emitter": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@vladfrangu/async_event_emitter/-/async_event_emitter-2.4.7.tgz", - "integrity": "sha512-Xfe6rpCTxSxfbswi/W/Pz7zp1WWSNn4A0eW4mLkQUewCrXXtMj31lCg+iQyTkh/CkusZSq9eDflu7tjEDXUY6g==", - "license": "MIT", - "engines": { - "node": ">=v14.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/discord-api-types": { - "version": "0.38.47", - "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.38.47.tgz", - "integrity": "sha512-XgXQodHQBAE6kfD7kMvVo30863iHX1LHSqNq6MGUTDwIFCCvHva13+rwxyxVXDqudyApMNAd32PGjgVETi5rjA==", - "license": "MIT", - "workspaces": [ - "scripts/actions/documentation" - ] - }, - "node_modules/discord.js": { - "version": "14.26.4", - "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-14.26.4.tgz", - "integrity": "sha512-4oBp8tc6Kf8IDBwAHhbsMaAqx1b5fob9SNasZT7V6yyyUydoO5i5fGuX7TmvRtR+q/WgKRnRViRoAWnG7fNyvA==", - "license": "Apache-2.0", - "dependencies": { - "@discordjs/builders": "^1.14.1", - "@discordjs/collection": "1.5.3", - "@discordjs/formatters": "^0.6.2", - "@discordjs/rest": "^2.6.1", - "@discordjs/util": "^1.2.0", - "@discordjs/ws": "^1.2.3", - "@sapphire/snowflake": "3.5.3", - "discord-api-types": "^0.38.40", - "fast-deep-equal": "3.1.3", - "lodash.snakecase": "4.1.1", - "magic-bytes.js": "^1.13.0", - "tslib": "^2.6.3", - "undici": "6.24.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/discordjs/discord.js?sponsor" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/libsodium": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.8.4.tgz", - "integrity": "sha512-lMcYaRi0zcs7tarATsQUYC7rstliIXZuoq0c6zXSgNtSNtdvBgkSegjWhpMJAXzKX3SUSwIp7+zEsob+j3LuRw==", - "license": "ISC" - }, - "node_modules/libsodium-wrappers": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.8.4.tgz", - "integrity": "sha512-mu8aAWucZjTB5O/BtGXtW4e1agy7uHxNYG7zPthmmD1jU43LCDmSWZLN4JhflbdPXj3yDO4lxM1O9hLDgIOXDw==", - "license": "ISC", - "dependencies": { - "libsodium": "^0.8.0" - } - }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "license": "MIT" - }, - "node_modules/lodash.snakecase": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", - "license": "MIT" - }, - "node_modules/magic-bytes.js": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/magic-bytes.js/-/magic-bytes.js-1.13.0.tgz", - "integrity": "sha512-afO2mnxW7GDTXMm5/AoN1WuOcdoKhtgXjIvHmobqTD1grNplhGdv3PFOyjCVmrnOZBIT/gD/koDKpYG+0mvHcg==", - "license": "MIT" - }, - "node_modules/prism-media": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.5.tgz", - "integrity": "sha512-IQdl0Q01m4LrkN1EGIE9lphov5Hy7WWlH6ulf5QdGePLlPas9p2mhgddTEHrlaXYjjFToM1/rWuwF37VF4taaA==", - "license": "Apache-2.0", - "peerDependencies": { - "@discordjs/opus": ">=0.8.0 <1.0.0", - "ffmpeg-static": "^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0", - "node-opus": "^0.3.3", - "opusscript": "^0.0.8" - }, - "peerDependenciesMeta": { - "@discordjs/opus": { - "optional": true - }, - "ffmpeg-static": { - "optional": true - }, - "node-opus": { - "optional": true - }, - "opusscript": { - "optional": true - } - } - }, - "node_modules/ts-mixer": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", - "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==", - "license": "MIT" - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/undici": { - "version": "6.27.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", - "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", - "license": "MIT", - "engines": { - "node": ">=18.17" - } - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "license": "MIT" - }, - "node_modules/ws": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - } - } -} diff --git a/integrations-examples/discord/package.json b/integrations-examples/discord/package.json deleted file mode 100644 index ad222fc..0000000 --- a/integrations-examples/discord/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "discordjs-gladia", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "start": "node index.js" - }, - "author": "", - "license": "ISC", - "dependencies": { - "@discordjs/voice": "^0.19.2", - "discord.js": "^14.26.4", - "libsodium-wrappers": "^0.8.4", - "prism-media": "^1.3.5" - } -} diff --git a/integrations-examples/gmeet-bot/Dockerfile b/integrations-examples/gmeet-bot/Dockerfile deleted file mode 100644 index d6743f3..0000000 --- a/integrations-examples/gmeet-bot/Dockerfile +++ /dev/null @@ -1,107 +0,0 @@ -# Use a base image, for example, Ubuntu -FROM ultrafunk/undetected-chromedriver - -RUN mkdir /app /app/recordings /app/screenshots - - -# Set the working directory inside the container -WORKDIR /app - -# Install necessary dependencies -RUN apt-get update && \ - apt-get install -y \ - python3 \ - python3-pip \ - pulseaudio \ - pavucontrol \ - curl \ - sudo \ - pulseaudio \ - xvfb \ - libnss3-tools \ - ffmpeg \ - xdotool \ - unzip \ - x11vnc \ - libfontconfig \ - libfreetype6 \ - xfonts-cyrillic \ - xfonts-scalable \ - fonts-liberation \ - fonts-ipafont-gothic \ - fonts-wqy-zenhei \ - xterm \ - vim - -RUN usermod -aG audio root -RUN adduser root pulse-access - -ENV key=value DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket -ENV XDG_RUNTIME_DIR=/run/user/0 - - -RUN mkdir -p /run/dbus -RUN chmod 755 /run/dbus - -RUN rm -rf /var/run/pulse /var/lib/pulse /root/.config/pulse - - -RUN dbus-daemon --system --fork - - - -RUN wget http://files.portaudio.com/archives/pa_stable_v190700_20210406.tgz - -RUN tar -xvf pa_stable_v190700_20210406.tgz - -RUN mv portaudio /usr/src/ - -WORKDIR /usr/src/portaudio - -RUN ./configure && \ - make && \ - make install && \ - ldconfig - -RUN pip3 install \ - pyaudio \ - click \ - opencv-python \ - Pillow - -RUN echo 'user ALL=(ALL:ALL) NOPASSWD:ALL' >> /etc/sudoers - -RUN adduser root pulse-access - -RUN mkdir -p /var/run/dbus - -RUN dbus-uuidgen > /var/lib/dbus/machine-id - -#RUN dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address - -WORKDIR /app - -#COPY chromedriver /usr/bin/chromedriver - -# Copy your application code to the container -COPY . /app - -# Set any environment variables if required -ENV GLADIA_API_KEY="YOUR_GLADIA_API_KEY" -ENV X_SERVER_NUM=1 -ENV SCREEN_WIDTH=1280 -ENV SCREEN_HEIGHT=1024 -ENV SCREEN_RESOLUTION=1280x1024 -ENV COLOR_DEPTH=24 -ENV DISPLAY=:${X_SERVER_NUM}.0 - -RUN touch /root/.Xauthority -RUN chmod 600 /root/.Xauthority - -RUN rm /run/dbus/pid -RUN mv pulseaudio.conf /etc/dbus-1/system.d/pulseaudio.conf - -# Define the command to run your application -CMD ["/app/entrypoint.sh"] - - diff --git a/integrations-examples/gmeet-bot/README.md b/integrations-examples/gmeet-bot/README.md deleted file mode 100644 index b97c538..0000000 --- a/integrations-examples/gmeet-bot/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# gmeet-bot - -This example project will help you record and transcribe using gladia a google meet meeting from a container with a audio and video using virtual sound card (pulseaudio) and screen recording with Xscreen. - -One of the main challenge is to record the session without a sound card using audio loop sink and not being flagged by the meeting provider (in this case google meet). - -This project is a proof of concept with limited support and is not meant for production grade usage. - -## Build: - -``` -docker build -t gmeet -f Dockerfile . -``` - -## Usage: - -``` -docker run -it \ - -e GMEET_LINK=https://meet.google.com/my-gmeet-id \ - -e GMAIL_USER_EMAIL=myuser1234@gmail.com \ - -e GMAIL_USER_PASSWORD=my_gmail_password \ - -e DURATION_IN_MINUTES=1 \ #duration of the meeting to record - -e GLADIA_API_KEY=YOUR_GLADIA_API_KEY \ - -e GLADIA_DIARIZATION=true \ - -e MAX_WAIT_TIME_IN_MINUTES=2 \ #max wait time in the lobby - -v $PWD/recordings:/app/recordings \ # local storage for the recording - -v $PWD/screenshots:/app/screenshots \ # local storage for intermediate bot screenshots - gmeet -``` diff --git a/integrations-examples/gmeet-bot/build.sh b/integrations-examples/gmeet-bot/build.sh deleted file mode 100755 index 716c429..0000000 --- a/integrations-examples/gmeet-bot/build.sh +++ /dev/null @@ -1 +0,0 @@ -docker build -t gmeet -f Dockerfile . \ No newline at end of file diff --git a/integrations-examples/gmeet-bot/entrypoint.sh b/integrations-examples/gmeet-bot/entrypoint.sh deleted file mode 100755 index d603b12..0000000 --- a/integrations-examples/gmeet-bot/entrypoint.sh +++ /dev/null @@ -1,2 +0,0 @@ -Xvfb :99 -screen 0 1920x1080x24 & -export DISPLAY=:99; python3 gmeet.py \ No newline at end of file diff --git a/integrations-examples/gmeet-bot/gmeet.py b/integrations-examples/gmeet-bot/gmeet.py deleted file mode 100644 index 9ad4a27..0000000 --- a/integrations-examples/gmeet-bot/gmeet.py +++ /dev/null @@ -1,435 +0,0 @@ -import asyncio -import os -import subprocess -import click -import datetime -import requests -import json - -from time import sleep - -import undetected_chromedriver as uc - -from selenium.webdriver.common.keys import Keys -from selenium.webdriver.common.by import By - - -def make_request(url, headers, method="GET", data=None, files=None): - if method == "POST": - response = requests.post(url, headers=headers, json=data, files=files) - else: - response = requests.get(url, headers=headers) - return response.json() - - -async def run_command_async(command): - process = await asyncio.create_subprocess_shell( - command, stdout=subprocess.PIPE, stderr=subprocess.PIPE - ) - - # Wait for the process to complete - stdout, stderr = await process.communicate() - - return stdout, stderr - - -async def google_sign_in(email, password, driver): - # Open the Google Sign-In page - driver.get("https://accounts.google.com") - - sleep(1) - # Find the email input field and enter the email - email_field = driver.find_element(By.NAME, "identifier") - email_field.send_keys(email) - # save screenshot - driver.save_screenshot("screenshots/email.png") - - # Click the Next button - # next_button = driver.find_element_by_id("identifierNext") - sleep(2) - - driver.find_element(By.ID, "identifierNext").click() - - # Wait for a moment to let the next page load - sleep(3) - - # save screenshot - driver.save_screenshot("screenshots/password.png") - - # Find the password input field and enter the password - password_field = driver.find_element(By.NAME, "Passwd") - password_field.click() - password_field.send_keys(password) - - # Press the Enter key to submit the form - password_field.send_keys(Keys.RETURN) - - # Wait for the login process to complete - sleep(5) - # save screenshot - driver.save_screenshot("screenshots/signed_in.png") - - -async def join_meet(): - meet_link = os.getenv("GMEET_LINK", "https://meet.google.com/dau-pztc-yad") - print(f"start recorder for {meet_link}") - - # delete the folder screenshots if it exists even if not empty - print("Cleaning screenshots") - if os.path.exists("screenshots"): - # for each file in the folder delete it - for f in os.listdir("screenshots"): - os.remove(f"screenshots/{f}") - else: - os.mkdir("screenshots") - - print("starting virtual audio drivers") - # find audio source for specified browser - subprocess.check_output( - "sudo rm -rf /var/run/pulse /var/lib/pulse /root/.config/pulse", shell=True - ) - subprocess.check_output( - "sudo pulseaudio -D --verbose --exit-idle-time=-1 --system --disallow-exit >> /dev/null 2>&1", - shell=True, - ) - subprocess.check_output( - 'sudo pactl load-module module-null-sink sink_name=DummyOutput sink_properties=device.description="Virtual_Dummy_Output"', - shell=True, - ) - subprocess.check_output( - 'sudo pactl load-module module-null-sink sink_name=MicOutput sink_properties=device.description="Virtual_Microphone_Output"', - shell=True, - ) - subprocess.check_output( - "sudo pactl set-default-source MicOutput.monitor", shell=True - ) - subprocess.check_output("sudo pactl set-default-sink MicOutput", shell=True) - subprocess.check_output( - "sudo pactl load-module module-virtual-source source_name=VirtualMic", - shell=True, - ) - - options = uc.ChromeOptions() - - options.add_argument("--use-fake-ui-for-media-stream") - options.add_argument("--window-size=1920x1080") - options.add_argument("--no-sandbox") - options.add_argument("--disable-setuid-sandbox") - # options.add_argument('--headless=new') - options.add_argument("--disable-gpu") - options.add_argument("--disable-extensions") - options.add_argument("--disable-application-cache") - options.add_argument("--disable-setuid-sandbox") - options.add_argument("--disable-dev-shm-usage") - log_path = "chromedriver.log" - - driver = uc.Chrome(service_log_path=log_path, use_subprocess=False, options=options) - - driver.set_window_size(1920, 1080) - - email = os.getenv("GMAIL_USER_EMAIL", "") - password = os.getenv("GMAIL_USER_PASSWORD", "") - gladia_api_key = (os.getenv("GLADIA_API_KEY", ""),) - - if email == "" or password == "": - print("No email or password specified") - return - - if gladia_api_key == "": - print("No Gladia API key specified") - print("Create one for free at https://app.gladia.io/") - return - - print("Google Sign in") - await google_sign_in(email, password, driver) - - driver.get(meet_link) - - driver.execute_cdp_cmd( - "Browser.grantPermissions", - { - "origin": meet_link, - "permissions": [ - "geolocation", - "audioCapture", - "displayCapture", - "videoCapture", - "videoCapturePanTiltZoom", - ], - }, - ) - - print("screenshot") - driver.save_screenshot("screenshots/initial.png") - print("Done save initial") - - try: - driver.find_element( - By.XPATH, - "/html/body/div/div[3]/div[2]/div/div/div/div/div[2]/div/div[1]/button", - ).click() - sleep(2) - except Exception: - print("No popup") - - # disable microphone - print("Disable microphone") - - sleep(10) - missing_mic = False - - try: - print("Try to dismiss missing mic") - driver.find_element(By.CLASS_NAME, "VfPpkd-vQzf8d").find_element(By.XPATH, "..") - sleep(2) - # take screenshot - - driver.save_screenshot("screenshots/missing_mic.png") - - # save the webpage source html - with open("screenshots/webpage.html", "w") as f: - f.write(driver.page_source) - - missing_mic = True - except Exception: - pass - - try: - print("Allow Microphone") - driver.find_element( - By.XPATH, - "/html/body/div/div[3]/div[2]/div/div/div/div/div[2]/div/div[1]/button", - ).click() - sleep(2) - # take screenshot - driver.save_screenshot("screenshots/allow_microphone.png") - print("Done save allow microphone") - except Exception: - print("No Allow Microphone popup") - - # if not missing_mic: - try: - print("Try to disable microphone") - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[1]/div[1]/div/div[6]/div[1]/div/div', - ).click() - except Exception: - print("No microphone to disable") - - sleep(2) - - driver.save_screenshot("screenshots/disable_microphone.png") - print("Done save microphone") - - # disable microphone - print("Disable camera") - if not missing_mic: - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[1]/div[1]/div/div[6]/div[2]/div', - ).click() - sleep(2) - else: - print("assuming missing mic = missing camera") - driver.save_screenshot("screenshots/disable_camera.png") - print("Done save camera") - try: - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[2]/div[1]/div[1]/div[3]/label/input', - ).click() - sleep(2) - - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[2]/div[1]/div[1]/div[3]/label/input', - ).send_keys("TEST") - sleep(2) - driver.save_screenshot("screenshots/give_non_registered_name.png") - - print("Done save name") - sleep(5) - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[2]/div[1]/div[2]/div[1]/div[1]/button/span', - ).click() - sleep(5) - except Exception: - print("authentification already done") - sleep(5) - # take screenshot - driver.save_screenshot("screenshots/authentification_already_done.png") - print(driver.title) - - driver.find_element( - By.XPATH, - '//*[@id="yDmH0d"]/c-wiz/div/div/div[14]/div[3]/div/div[2]/div[4]/div/div/div[2]/div[1]/div[2]/div[1]/div[1]/button', - ).click() - sleep(5) - - # try every 5 seconds for a maximum of 5 minutes - # current date and time - now = datetime.datetime.now() - max_time = now + datetime.timedelta( - minutes=os.getenv("MAX_WAITING_TIME_IN_MINUTES", 5) - ) - - joined = False - - while now < max_time and not joined: - driver.save_screenshot("screenshots/joined.png") - print("Done save joined") - sleep(5) - - try: - driver.find_element( - By.XPATH, - "/html/body/div[1]/div[3]/span/div[2]/div/div/div[2]/div[1]/button", - ).click() - - driver.save_screenshot("screenshots/remove_popup.png") - print("Done save popup in meeting") - except Exception: - print("No popup in meeting") - - print("Try to click expand options") - elements = driver.find_elements(By.CLASS_NAME, "VfPpkd-Bz112c-LgbsSe") - expand_options = False - for element in elements: - if element.get_attribute("aria-label") == "More options": - try: - element.click() - expand_options = True - print("Expand options clicked") - except Exception: - print("Not able to click expand options") - - driver.save_screenshot("screenshots/expand_options.png") - - sleep(2) - print("Try to move to full screen") - - if expand_options: - li_elements = driver.find_elements( - By.CLASS_NAME, "V4jiNc.VfPpkd-StrnGf-rymPhb-ibnC6b" - ) - for li_element in li_elements: - txt = li_element.text.strip().lower() - if "fullscreen" in txt: - li_element.click() - print("Full Screen clicked") - joined = True - break - elif "minimize" in txt: - # means that you are already in fullscreen for some reason - joined = True - break - - elif "close_fullscreen" in txt: - # means that you are already in fullscreen for some reason - joined = True - break - else: - pass - - driver.save_screenshot("screenshots/full_screen.png") - print("Done save full screen") - - duration = os.getenv("DURATION_IN_MINUTES", 15) - duration = int(duration) * 60 - - print("Start recording") - record_command = f"ffmpeg -y -video_size 1920x1080 -framerate 30 -f x11grab -i :99 -f pulse -i default -t {duration} -c:v libx264 -pix_fmt yuv420p -c:a aac -strict experimental recordings/output.mp4" - - await asyncio.gather( - run_command_async(record_command), - ) - - print("Done recording") - print("Transcribing using Gladia") - - file_path = "recordings/output.mp4" # Change with your file path - - if os.path.exists(file_path): # This is here to check if the file exists - print("- File exists") - else: - print("- File does not exist") - - file_name, file_extension = os.path.splitext( - file_path - ) # Get your audio file name + extension - - if str(os.getenv("DIARIZATION")).lower() in [ - "true", - "t", - "1", - "yes", - "y", - "oui", - "o", - ]: - diarization = "true" - else: - diarization = "false" - - with open(file_path, "rb") as f: # Open the file - file_content = f.read() # Read the content of the file - - headers = { - "x-gladia-key": os.getenv("GLADIA_API_KEY", ""), - "accept": "application/json", - } - - files = [("audio", (file_path, file_content, "video/" + file_extension[1:]))] - - print("- Uploading file to Gladia...") - upload_response = make_request( - "https://api.gladia.io/v2/upload/", headers, "POST", files=files - ) - print("Upload response with File ID:", upload_response) - audio_url = upload_response.get("audio_url") - - data = { - "audio_url": audio_url, - "diarization": diarization, - } - - headers["Content-Type"] = "application/json" - - print("- Sending request to Gladia API...") - post_response = make_request( - "https://api.gladia.io/v2/pre-recorded/", headers, "POST", data=data - ) - - print("Post response with Transcription ID:", post_response) - result_url = post_response.get("result_url") - - if result_url: - while True: - print("Polling for results...") - poll_response = make_request(result_url, headers) - - if poll_response.get("status") == "done": - file_path = "recordings/transcript.json" - print("- Transcription done | recording results to {file_path}") - # save the json response to recordings folder as transcript.json - with open(file_path, "w") as f: - json.dump(poll_response, f, indent=2) - break - elif poll_response.get("status") == "error": - file_path = "recordings/error.json" - print("- Transcription failed | recording results to {file_path}") - with open(file_path, "w") as f: - json.dump(poll_response, f, indent=2) - else: - print("Transcription status:", poll_response.get("status")) - sleep(1) - - print("- End of work") - - -if __name__ == "__main__": - click.echo("starting google meet recorder...") - asyncio.run(join_meet()) - click.echo("finished recording google meet.") diff --git a/integrations-examples/gmeet-bot/pulseaudio.conf b/integrations-examples/gmeet-bot/pulseaudio.conf deleted file mode 100644 index aad57b0..0000000 --- a/integrations-examples/gmeet-bot/pulseaudio.conf +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/integrations-examples/gmeet-bot/requirements.txt b/integrations-examples/gmeet-bot/requirements.txt deleted file mode 100644 index 0fa2688..0000000 --- a/integrations-examples/gmeet-bot/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -click==8.4.1 -datetime==6.0 -pathlib==1.0.1 -pyaudio==0.2.14 -selenium==4.44.0 -wave==0.1.0 -sounddevice -opencv-python-headless \ No newline at end of file diff --git a/integrations-examples/gmeet-bot/ssh_config b/integrations-examples/gmeet-bot/ssh_config deleted file mode 100644 index 45d5de7..0000000 --- a/integrations-examples/gmeet-bot/ssh_config +++ /dev/null @@ -1,53 +0,0 @@ - -# This is the ssh client system-wide configuration file. See -# ssh_config(5) for more information. This file provides defaults for -# users, and the values can be changed in per-user configuration files -# or on the command line. - -# Configuration data is parsed as follows: -# 1. command line options -# 2. user-specific file -# 3. system-wide file -# Any configuration value is only changed the first time it is set. -# Thus, host-specific definitions should be at the beginning of the -# configuration file, and defaults at the end. - -# Site-wide defaults for some commonly used options. For a comprehensive -# list of available options, their meanings and defaults, please see the -# ssh_config(5) man page. - -Include /etc/ssh/ssh_config.d/*.conf - -Host * -# ForwardAgent no - ForwardX11 yes - ForwardX11Trusted yes -# PasswordAuthentication yes -# HostbasedAuthentication no -# GSSAPIAuthentication no -# GSSAPIDelegateCredentials no -# GSSAPIKeyExchange no -# GSSAPITrustDNS no -# BatchMode no -# CheckHostIP yes -# AddressFamily any -# ConnectTimeout 0 -# StrictHostKeyChecking ask -# IdentityFile ~/.ssh/id_rsa -# IdentityFile ~/.ssh/id_dsa -# IdentityFile ~/.ssh/id_ecdsa -# IdentityFile ~/.ssh/id_ed25519 -# Port 22 -# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc -# MACs hmac-md5,hmac-sha1,umac-64@openssh.com -# EscapeChar ~ -# Tunnel no -# TunnelDevice any:any -# PermitLocalCommand no -# VisualHostKey no -# ProxyCommand ssh -q -W %h:%p gateway.example.com -# RekeyLimit 1G 1h -# UserKnownHostsFile ~/.ssh/known_hosts.d/%k - SendEnv LANG LC_* - HashKnownHosts yes - GSSAPIAuthentication yes diff --git a/integrations-examples/livekit-agent/.env.example b/integrations-examples/livekit-agent/.env.example deleted file mode 100644 index 7928680..0000000 --- a/integrations-examples/livekit-agent/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -GLADIA_API_KEY= -LIVEKIT_URL= -LIVEKIT_API_KEY= -LIVEKIT_API_SECRET= diff --git a/integrations-examples/livekit-agent/README.md b/integrations-examples/livekit-agent/README.md deleted file mode 100644 index 74778d0..0000000 --- a/integrations-examples/livekit-agent/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# LiveKit x Gladia Integration - -[Gladia](https://www.gladia.io) is available as a Speech-to-Text plugin for LiveKit Agents. \ -This example demonstrates how to integrate [Gladia](https://docs.livekit.io/agents/integrations/stt/gladia/) as a Speech-to-Text (STT) plugin within [LiveKit Agents](https://docs.livekit.io/agents/). - -> [!NOTE] -> For simplicity and speed, we'll create an agent using LiveKit Cloud and the LiveKit Playground. - -## 1. Set up a LiveKit Server - -LiveKit can be deployed in two ways: - -- **Self-hosted**: Use the [open-source LiveKit Server](https://github.com/livekit/livekit) on your own infrastructure. -- **Cloud**: Use [LiveKit Cloud](https://cloud.livekit.io/), the fastest and easiest option. Each project includes free monthly bandwidth and free transcoding credits. - -\ -**For this guide, we'll use LiveKit Cloud.** - -1. Go to [cloud.livekit.io](https://cloud.livekit.io/) and create a new project with the name you want. \ -   ![New project creation dialog](img/new-project.png) - -2. Navigate to **Settings > API Keys**. Open your key details by clicking on the row of the table. \ -   ![API keys page](img/project-api-keys.png) - -3. Click on **Reveal secret** button to show your secret key. \ -   ![API keys details](img/key-details.png) - -4. Store your URL, key and secret, you will need them later. \ -   ![API keys details with secret](img/key-details-2.png) - -## 2. Set up the Frontend with LiveKit Agents Playground - -LiveKit offers SDKs across multiple environments, making it simple to build custom integrations. -For quick testing, use the **LiveKit Agents Playground**, an interactive app to prototype and validate workflows. - -1. Go to [agents-playground.livekit.io](https://agents-playground.livekit.io/), select the project you've just created, and click the **Connect to ...** button. \ -   ![Playground connection page](img/playground-connection.png) - -2. Once connected, you'll be redirected to the playground. Keep this page open — it will be used later to display the transcription. \ -   ![Playground](img/playground.png) - ---- - -## 3. Create a LiveKit Agent with Gladia STT - -LiveKit provides many agent examples here: [LiveKit Agents Examples](https://github.com/livekit/agents/tree/main?tab=readme-ov-file#examples). - -For this integration, we’ve built a simple **transcriber agent** using the Gladia plugin. This example is adapted from the LiveKit transcription project: https://github.com/livekit/agents/tree/main/examples/other/transcription - -### Setup - -#### Prerequisites - -- A valid [Gladia API key](https://docs.gladia.io/) -- [Python uv](https://docs.astral.sh/uv/getting-started/installation/) - -#### Installation - -Clone the repository and install dependencies: - -```bash -git clone https://github.com/gladiaio/gladia-samples.git -cd gladia-samples/integrations-examples/livekit-agent -uv sync -``` - -#### Create your environment file - -```bash -cp .env.example .env -``` - -Open the **.env** file in your text editor and add your API keys: - -```ini -GLADIA_API_KEY=your_gladia_api_key -LIVEKIT_URL=your_livekit_server_wss -LIVEKIT_API_KEY=your_livekit_api_key -LIVEKIT_API_SECRET=your_livekit_api_secret -``` - -Replace each placeholder with your actual API key from the respective service. - -### Usage - -Go back to the [agent playground](https://agents-playground.livekit.io/), it should still be connected to your LiveKit Cloud. - -1. In the right column under **STATUS**, you'll see that the room is connected, but the agent is still loading. \ -   ![Agent status loading](img/agent-loading.png) - -2. To start the agent in development mode, run: - -```bash -uv run --env-file=.env main.py dev -``` - -3. In the right column, you'll see that the agent is now connected. \ -   ![Agent status connected](img/agent-connected.png) - -4. You can start talking in your microphone, and the transcriptions will appear in the playground's chat column. \ -   ![Agent status connected](img/transcription.png) diff --git a/integrations-examples/livekit-agent/img/agent-connected.png b/integrations-examples/livekit-agent/img/agent-connected.png deleted file mode 100644 index a9f92ff2264812783f28b1ffcd27fa20ba34e5ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9508 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 E1voPVOaK4? diff --git a/integrations-examples/livekit-agent/img/key-details-2.png b/integrations-examples/livekit-agent/img/key-details-2.png deleted file mode 100644 index 15f127530150406c6bdc8850dfdaff3a6cc817a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40372 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 T)2{_qz@LTLe!@dj*NA@sKFAK3 diff --git a/integrations-examples/livekit-agent/img/new-project.png b/integrations-examples/livekit-agent/img/new-project.png deleted file mode 100644 index 4368ac7af13cc8e1be30f9909453b13333962113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19710 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 qKL7;u2EN+hryRZ0fd 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 diff --git a/integrations-examples/livekit-agent/img/playground.png b/integrations-examples/livekit-agent/img/playground.png deleted file mode 100644 index fcb773d007c0ecd6c3363907c5171308e8573a9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129226 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

|-h03o~`@v)b0eS;q2k+NcG8 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 z z)1;UUe3!xMDzq9(HI{zssRj9xDQaK$tls_U-y)4O4PY-EZZjD8zD*n#>@Hd2#n;zp z2w32jl1b&q1ol#nw$iuC#KKf-`0BQAJ+I`8ix_D!L6;|~Gt}$p7{9ojk4Z|m0#m%Y zg{l|<{*;HCX7eAF+<$M>_t z{K=|c@os5vM@mm=bAxUmYG7XtymTle30Y3XGH035(xa=$;E9DR5HE%{;C^T`zuK1( zzY}QcG=hjcm3pzA?jJOENLe+sW3+ybHF*B2CC7V&ANJ17q}}4DNAydTd%Nl}w=9o- z6}r9@NMb|I1eYz85mwap%l?Hd`tZk;+TcIOZL+SU%bWC3x$k^cqo>)q=2n3M=TU-_ z9HUV%&4#D3oZ!OytVj%LOkx3TB=C~;Hyc!50e+DuF*CpRhI7s%;zv-_Juh&2qybP` zBK)pi!XY*zS(sbq37dd7pqd>jB(OSmJFI=l`U9+bAUbRR zPg3oV9ysjQo5n{^6U!Eg#-9K%(sZ`;8e_Ql{1ZN&Q#Yn@t1QzAk0*i-8*aTNha~Yw z?O8o#kDKF<=sEf>CMKU=XF{R3g}!{L=Tl)OLf%d8fpRrcM1AAHQU zPAESvLQ35^v0Hev@Gd)cV0?8xD$9JS(OSEhSuwQRk?#RErBZ(-qv!lx0L4Qf(BZKLY8 z-+zG}050G+!%%!>?jMozF%V&lyRgaDm%Q9_(uWn^S4`^Ldq)q(k2Cep?(T(5Xw60j z%Vp@wbsXD(C?U5zSxo#~orr$HS_{&Hb5v-Oc#z+s&Q4Z4Z^!w0<;9)xv94)*Yz28Rv0f3*y+>Jo6Lz=itQda-%c~^3J@NaGjYxkNksy& zHc=LIYjI@kuI@&_^Yo0$++MrR(^&BJwmfoYT4ik68S-VN8$g+4$z9+h*|;Et`zC@f zhq5A9N$5M@SGV0rrjF>I&a|HWq#^qTkIU~9Rq!y#diGCni9KRfRPv{#2Lwv+liv}> zm&;q%WBo%gz9`F?B-#q3K^Iz zO#0FhaBz_*0q+*=%q0ktam!^@#mHO3wcj|?Jh*qB79E}xy79?(N1t4H*m-z8|wQeXa z%f_}EbZ6$_-2F8_nKV*1dz&>MF1=-B^_*d6v)(1wq*W;|HA~wB`q}%Au>)|)?F-#auO)}!hscb)g`)z$(Lf!C_ zlCB6*pv^8K?mqE|kcPZGYgv1C`HIGOHt{^{sRQxO-4Rz;d2pKgzFtA%*|nY3hC*rwYnvb;{nbWC>b*yGs_cxO@6`b%1w7W zVrL3Mp88?U${QyGf{SUWsL7ekvvN}F;0?py5`iq}o1LkYm~`Qg2aNN)GIS3uIWRpv zT@HL=bbXiZf6+i+kLEuTUV%H3SwniRc|82Y7N*&3Gf0M94{SELc+a{qNzA1TZN!Cw zx!ONN>vzg*zD-FErctcCcg8*o89Brq2&De&oR%CBtd}Ov3~P;8A%dRiKp&Jwu_AU@ zFx)yMBA=x5z<@(h5~vMcIz%>Hzxz`r=V}nkZoF^lXN*xi_6r}LeIc#I{B-d~QmRJu zkQ2n zM?Ev8$%y;?{o?dhck5obsdTxXclJ^;R9P*F!rSl)-LF(+zZ%Ns3r0A!I%^ls{e=a1 zatY%EzaT=+9NhzXa0pe{oTrV8>I|a|%$!pFGU%x@)T`y3(9%wczIKNfR?baXZF9Lc zehd@+8mv1lxGyJu(hd{FqxpBlv$&JeBP%nh%dnA}DvBeo&cC3uh3|eC*G$x{9&)~f zf$|`DaV>7fT30XD(r)cn)7A=lb+7LPtV0F8%F2+j_*@J4D)w=UL65nim%Snn1Fu+L z6)9Gx;dX6&b$Q`!4cEhH$U2gD?(5}9N9b|KdZ`#raK7!W44Hzbu{7~Y_Q9f2=Wb~1 z-Pl7wZPIy^;d+F&YK@4Pr8;sR5D^ zXC5#_0Y)#nqB%@ zdNn(Axt?V%zkuYA7`Y#JF4~tx{^HxD@29+(Z}8g&(?EORFPK8oH(?XViZMBsm7GPB zpg68=>s)xi?$+&DH%W4ZC$A}^D@+RMXE{P_1_vdt&cXWa3-%;7N1cmr6^yk|KHigS zD|J?U?r6Dj|4w5aBbwzQ47QMbXZf&)W}gaM1;9&Ck&>S60By-#6(?&$w^5__^{@O> zFcv`jGP=}MN_vy|Y*$9A`DN82Sltc_C}-xJ&Wvq2L)M*JISnBi^NUoTq4vE7o?wC^ zO}(0WjETek45IA%a>3AD*Fiqdt|A*Gl{x^2w?ushid;WiNF{5IKLt)5g1 zuqb=^X$z%eM8uBJ{vd&pu@=&?FvqzyAv!TBwsH8{;yiyq(B`2~@}d(pF0MS` zyPKEO;+@*~MMHkO#yTom>+3RYsU$V93*)e(0T?UUx13h_wqzUHm*Wh1_sX&&{l~S% zfGOgin9f5~mWkxHic`dfoeHOjnijm52{@a#4VTHOsmfD9UQ6y~ZE8Fd60nZ`r=%1A z`aQzXh_41EcxfBAe5F1W_qnM4_=9$UDT_uZeZt4`;!};{tQ3+0JRW?>=H}8wt8UpZaeO84X8^~$uY#>Q8{(K- zS;K;?%}?09u@|If?>L&88VJlcm6qB69QgR0lUq(7w+C5&Q8sc9QsM|)QiI}fRAV;4 z`6>5e3xA=F3QPv(IdMlov;%v6#U!=uqF71!?FQVhE=w0Q79 zbkxcalbD%qJdn2RFyq@IGX?k_3D150(-zJi5e|?TPQ&psI@xAK@4tk)219kiaTd% zk+ECOfEnif1==wswlM71V5eY=mBjp4U^k-1^jF(+xL0y$LNP{XoWmdE>0_8up<8Xs z3CUQ@8RF*Io5J@&;j3~bLo!sb;ohgAV+8Zv?}qi2i@;>@Ln#?x^ifF0e%#iVvnglD z&$|E(S~m1DhPV0WJ~bYYm6G(@DI7+Y@SS}^#O`m~CV;QACymB|z3K&T(ye1h9J7(1 zpqTj6FSOXI)V;w!u%f*e0lfl%6lb#>`5O|nWa zmUUmQCivxmXjZpuCNJyOJdb16Xsck#Qzy%b2kz_b_}!(WN$XX?l;>2aLw;AAUeEJj z7k-!vk5}-W#auxbL^#wXC?bcA5Xx_vb3GX+ktm&YB!u@ z727kiz(rqk`zRWQMld3{#o0}2e%7+k!7X}r3`UBCIe3T^+P@7tYPvs&`Z=SQp5iB?*6P!e(O9v5ub(Ya-pD877k886F=_ee#O&@87uE=IjTjg391yH?02dG9aF}>~?ScTDj%4J0F~yBO&HEw5-%+ zm;)IzOyT(Oi^nLYaR($~_3M=D>5&K?=jw;v@m01M%gCj22#AOD}jsU&sq`U^+k8AOE! zL25_67B*BQY^3i$<}ai+Gew99qqpk@Aybucwzy31bA)<(nzlfEzunUnL(b}bv!Zs zj3W5rI5tcF0S0_@J(KlUs4#`Lr`Ba%_-aM~A6{+PdX*%z>2`r;)$M?fe-^s&eknPb zsorWn1!8G>w{jl7JB_`1 zC|NvMD3vKSCE>O`b)#eDv#Gt7%Xx6knARd&T=hQRINV1v!C zcm7GNi`Y?m|8qI7lJAAB@SNu~9Br;=#wa)p>$1(nRjChguL#d2@iLwcTbH|tiB_R` z$VevlxW>;w}=y7S?^gLJg z)@GuEWz^8c4zUM0s$jaDCl^PQbsvJhT*JzW9|2U!*&4hh#~*tvN;KT#P=_1|-jpmwsPP85cTS za}L$AWw0!aBffApyZ}yjF~ODE+W`_siZm>`H~Zd05n9QSn7X92X8r^_^PpIwM~R>v z;B0RTe0$s)unYnGd-CzT*DeS6^d z9{$euSt>9ER!1J}ePj?m3k3)t$KoL0O&Prq+4piN@{&CSKSawJL9>4!f?koUwyR`f z0kmGZS1`pHGxUc1xsn}X-QfaY^uFLishw72hR)HKv&FXzr~vAL{wzISu~ z^lW0KQYqB-LeK8hrQ`h~VxsZ#U#!yKAb5aEb-5s)dB)n8i<9_~??%Xb&n^BC&;d`f z0QsvL?~SoYPsrSXq&maSZ_oT z!fxr2f6KJ@m{j>3`;m1XZIpwZ7sp5jpzpl)DOLg*KPOvg$OpJ{XKO*HRO|g4&yW0E zMXXHPttzY{U>!}F`B}|%n2&xBht&YKjx`Uvqh#b%L**x!(wc$Q%f;$(D;s}5n)I43 z&2}4lkkMigbV*WLsz+fjx4^)>?Uff_Cxo{(X+=h=1>$+R8!$ zfWTx*^QHm@8|sg+1a*FoLF#AvTh^zW-7w&Dm|ZBNr_o0ZM!;ZdH)t0jfKm}IB$Mn4 z@G(m5lFl2ENkM&T`K9wLuxuSe@D>(rv7CX$JJ7!{F zrhBO_CArA|-vS&9=V3`TTTh#MjQVgpr>bkotw=>Dd@D?MRssTp!nBIIX^n5CL z^LIOkhvJI09Xc?x&`q;`Y$bTDrS_kP3Rn)P!TeWX7tswHf5Z-)iX7Z&C+q%?kD0E_ z%zZnevY?K-2x41DilzzZ_yg?X4d%AgKaNx(-;Lf91TGHJDctnYH))z;%_G(1960&P zWVT1|z#m6s%{nou4UJ4fz--L8Hq@>>Z(p08fBijeK#p-9L*C_t@Gq$4(p_cPQM$5f z2L1~R&=7t`Q8iR*>wI|qE$%T_A*i9JgVMjJTBGd~11!Z&y&k6VEYPq=<@cLR|At4^ zL1kr%52o#HNp+<|JQ(t_p41%z7L-O9BC#>x@F%C)9HG}{AeLDWdm0(f9XNwVXdaWH z*LqV^w>Gy7&I<`FMy*b5-;@*{`a=KVh`Tl9hW*YB&4-l+ev`FZ$A45~fJ@bw*FWL3 zKg8mIr|>7ZRCGJ*P6f(KddXg@mF|eMlNBWWT`1*Kfl*g0K*?U2r2!^GS}6s-4z8V{ za#?sdS3sG@RoWTj2uHrfCHCwy3FIk!pj1QOVC@rh{JzlXkA2+GjbcPosqVDu1rMt2 z%Xj%U#@RR7g^Q{$3OPcT-q&F29$YJXHUpEV}MR+7-p+n5S#PUVeoj#w^xT z6h*KgD?%#>)2-?fJAE+SRp&MN3tRulY|K%~UfXL>Tq3CsX~fV)sH~JrTv?yK8-vsfi1Vsv zUyUE|qldu)5ah>fH6FKZp(9{O78OhxkUq+oD}NZ}%gJ#>fQG?Y9`N=4_;qKhq9I^q zU8DL|5Yq*4vNX4&u;prVY1?)D=^sy>jse&G$`tO^ql)WJ(tWFCsq8Hz$=;i7yLCr* z`h!pkz^IoYlRnu5OOtJK?p&!?OEl-UJqXOyuS;HCI#7KKo{mse+}xkl-eUQSF#Idt zk15jB<;CbxLgDa_Q6|x}($4?e-DP$;u z9d!pQ1u$=5*JR(U@esp%C$n6AH~4=}7D;D$D%+sCWqY16>4MI#rcZ!>d0tIbkQ3(u zs^=9kkTa`12n%8i$-L-dCK;gHjYHtNH+#wpM;OD{Ws393#YzaEQSe3&)E?_ea^vEL zmFxWty-f2$Z0!|C@T16Ma?p|GZw+{mI_-BkPEfh3&@_2wXh>@OI(b44PH}b-(6?=<=-McuyFUUt-50#H16ja6O8cBp<&cN?&x@h0t)EeJrce~2Au(s49JnAa-!hKc5$1MNXQzyWX=eG zINB;A2Hf0LnR%UZhguDuPC5BayVF5Dc}-=L@O^amWO@B4Iblc5Zh3bFl_>v777@H* zWiZv|w1)H?P0)iM!RhTJy-t*j)(x|vxNecM@bpSz*3tn_xeeqQK`9EjD^gU8_vB<9 zZz81>qCpMET?ba&))=)6i%GXpmV@#sg|@1Xtp73m8kTbfn6>?9ga=p@b1ixKD}xy< z-4u5^Mz{MH#a-DSbTaYKQ-;zDFMZDu&Z0Ci%`yk=CwIhFEOx=J#0#@1veQ`BrY4t! zpHU_}c~PAGLBQBN>)eq4Xgu-Z30vXyQP|Bdci4nz6u-|VR<`31Kw))1LR8W3Wj{hh zau=SC68l-Pu~D!lL{{`8lV@L*>38~rZWJ#=ei8--r14cl@f>esY*hkG!JJ5uoItLX zN#%9Won7oOGSAgAtNDmJ3g`__cqJFM6yUuEIQ7w5K+X<%*~zn;g-t;`S30UV4MvmF zhy0AL-$on74aEcMtRb-1LsNmBK=p~0b)~GOPm{$%!*%I1-?M!;RQ6x}W47e{zs;6p zr`T}%gvzq{($ZejwlJEbaFLy7V7L+fI{6D_=Ytk5&U+^ zsF4_FzOnvf6Q#a+vZaz%Mr?Hib!@(9;s5zBUa|1eI>Xq=O|8^;jR8LQU+TycC^_$4 zq{aLEcdg9p&CR8f%T@&5tWVtch$w~$uXM5=XzRCN<-aG7uUlhGKz@ZI){fss%O7-e zoH@i+MFR@kJ)x*tB1EM)eMy6VH2I2UOncT4DFp(}S?H~_Y(96_IVeFPK?#6kwTz)X zzJ8OjK%}-*onH-qN-pj?_l}X{5=LbYW-3hos_E|Xh%7Qy+9PImn6ogSA^ju#vy zY5I72PHS&{*>6t8yi zUy}2X>XTI~bIV(CH_`dl%m1Ta&?Bss`rEPmVTE~h*mCYA@e74oV&)f;ss8PyF;6$l zU#O=ZD-t@IcKkxYYkp~obHyv<>oDs{dvpIAt<17++Hcawv+4BVs0rcI-+f7O7ooYo z-+n~~MT4q@r`Va6b$e}7Z%GjHT0fMQxOU52CLPB+9dd@wy!H%mAzrCe06tvX>;8I=eryL{=F+jPuttr*?&%Ty|EHB>bv zA=_kdkzL2NmQ z$p8s;R}<7L=cBz*M;+87Grt$}8RGdMCvNqP6dlg8bhl1Ea{q#Za?AEhC>5vZxNC;hS}C{K&w`^k=Q}>uKKh@(XDmFSGOHh8 zWagkc_7p8Sa&5>?4JCf)(CQ8U72bgDO+($MfAsq(+k{ZOKK>J>a-`X=8JR;B=vZ`X zIgYo-gY34hOzi<;6 zkL~1>&g8_l>V58CAwM%UKYcqJ8dN<_cr>C|k+T?nQpZx4P3(V`OB*y4Kvx|fN1CW} zTlVSpP@g>c5hA^Iz%c63w0HU~GtkuI;qvjl9{SPXZwHYI^Qm3Ro(et}zA3a8k5fO1 zqn3Q&P+LTj;EAqFQ`n>XhSEAT)+!s^FI$Mu0=&aZ%I`NzX>KAHzEpqm{o$jmEP7?eq>V>iI*^F8TpN?(} z(gsll$#1B{Q}@usa_X`4XNn7KKCaZ~iB)lHqns(_@ZfaIar^QUD!1|KcXnam%saWW z!0DMl*pwjZz6NXdZSo+9tbIYN$FEN=wE9oR_Z<}Q=>H_udyJ7=OK2T7cYX8pxk*&# zc-8y$zg6ueKGwh_MRjlWCwIY4?t155Zl9FT-=uU$tsKkdF)D7>6H|ut|M&U$`!g{L z6S=x2#O;2Yw4m7U8GGc%I6?Or3{n^w{>{TW{>YH=C!W+mep;oID5W`~LS-FCp>-f0 z%0lZ9)a;{4(&}QXDmb}B(()i__aeMJUY&IJ(*`ko>-?F=K@v18IQvx1UIsPNOjdkM zqw{%_g^+Pt?A1GR9uYnHn&{nAg)r@7#QJ0~oy_qr4`c2`(^a^Cl%D9`x#&#>{_a2wM>7`)Cn1k|<(N6|*DW%{vk+wQpE8tY7?po? zVPl$QW7>}y2M7L{wS}+0k+$`tdD13I?O@&KPn#QAPoAic{Fu0;+}8E9$5q#_xMy_a z$_>`1Io+W$JWG9qIQrQ10u2L7`JUaHR^?IBNhPhPdt>W+o~I@IFE$B#Z8!H7tM(f; zN+tOjR}t;28y@Zr{AE9f>#vP8rLNl9eVO6B_x`8r4y$Qsg1uGdIO;DffL6^q#A=}c zX>=mW`fxvWFlb{s)!?Edhn!>H0gIimiqs7QiuL+Iki7mXs%pR9S~ZU~qyof~d$-r) z5EYme-#_yN|G0a3s$V69yPf{o zHxoCv%j>fz8aBSipmvu!SdZI3{TzO_74UQbc~p5^8AnN}+hxX+xI8@+vGK{`-eiA% zRl)BIB?Sm)5M%x*^|&)cwU)8;GE!?<&Jp`wfs=RF@3mRBX;HSGN1t*4)uINTU)saV zzg2gUvQ;(2bW@`-$D4c&RgtbS_T*kg92X67b(X|9y6e5&j5ta-9HIb8jjb6d9EY98 zbBEB9>sYnKBQ>fz!Y=piKX^APL{Y?r40&9T_c@{MXVG#ADu1dVsjWSthdzii7%5j0 zlp1@KV4}p%6Y8*lSmZYCVtxwzK)YbD-WvP}#rp4a%i>&uWyw>1Q^aa{$h1pyIkMs(YB$~P&{teo_6dxJML~fim0D)LkJ;w9m{$@ zBg*6T?;U$_#vTPH2NLBZQzJd|^+MMp-Me-26(|jI3;YSFHOBm5$_~uQixM06dJ{w5 zqh7Y?RB`K>5<)*iPoP0YjPld)+Kqx)zfkB|F_XY0~~ zT;U(p`;wv7xk({eySYb!)x}Juv`Q$&i_v zmsLn)&guDm^R&O8p#NR^Z8?kiye$0fUxV6aZ1v7}5uZIB$W+quz)E(BEklZz5ukR{ zarYM>X59yaQoZY+9@jnn7DwUuE6wFR@9BDOJGE?Tfk|}GX*MUhGi7ekfuF9Kb8ecS zRk^lzjKQ$}2R{2zf`yb9rA@lbH|I>RGC{uCA6K;~yriN+HAcnq7DBi0ConzL=&R1( z+_u=ry?jl+Y@xV^*KV1C+aSNhD>u|jipLYN5O}vCuXk;Z`Z@9mDuzde=Z9}1lzOzD z=_FU6Z}W3H&qnjPADdQzjMWFtKkEiUHX8kq$7JQXMSp@h;P{H|a20_={ zO|}u$+FxBh=2<$?*%ReU ziS0ihlu0`NDCq7Te;cD_D#8)4{A2vg2V|N_9csMSJe~S8Y}QW8FIrHp{>|>1_wfVz zA9rh@0{7*wa(2`6^P2g>Lc)*=Y7gQbJrUKqpQ+08 zB-#7aBCg!PznO8uU#p?PRfbS6Vy9F0b;W-jk)3cl7gZnfEs$qhCce(sOexBtKz*n6 zTxH;6VmBK;UaMAfDh9Ezu4uKJ(UFVV404O#Yvt+=>!DjLSi)rX+GxB7T$D7-76vtk z>rQ@@<%9lyoEiW@93&UgE(m$(_5Ge=cVotr>wT!4X^Bz$ zq2tZI_+!BCL(>5|E|jz4$W4wvNs!aQ)8mJ%@8D6sodqBp%V#Up;rbo!{w#)VJNH0jJ0J#y!ud(bz&e7m5$Qh!DwImoXH(RH&!-GO;6lUEv4Dj9OrYz&jO8JKk2XM2qA z&0`%gN&r;X(i~Toak5TZ-D(QsEq8U(XcUCo5wWtV)x#!)LFcNnBW&?}qiQ_YB>d{l z(v|O}*+j-W8^JF%Y!8P)V4L2_L3{fazeX`2lJIWH%?jPC;kVp!vqG_r?W*ia#uv1B zT7BxqEKe#MN|!JCa7*AP8@8!c9a!?57XIi0sZGnxxO+;5&&k2R*h=~1Lhb$P&$}h( z+Um^KXFI4V6aSe$xY^lEQo;P z$}K7(?I_c9)*W5su9y4flDYq~FugRVT!qS>0Ioy>rB?bq+u0mtP8^Sx^=WtYl+v*!_R{ zq0oKvCVMYenlD<&_GE?7+Qf^1D&2@6_{4JSM_wf(>GA7KI%VJrLaE=lEymg zvT{zO4oSDsqieimByL)E69yMc6*kaBv&8du!iEGKTp1}Kl5x$nVUs{nOHd#rfk&A2 zVPBz3zh@!GH|lNh9hGhDSXKB z;s-r@3xB!{TWX23!fx=fo!h;1-0*5;FvHonpltG(_-PGv6<(;?vFJXIXB56_j4rbf zC8iXrUf$bMe`3Gsv{jK;Qb@zkt$V&EpR)>V%X3M6b@@t()#AJ51pF?Mu!=ar zdBil3!`@h*qb@?#h!}m?Dx&>)h<$4WXv!z>lkT@QdKtTxK)0ERc5Qo}8N|e-j)j*l z1xl0QuhIM$$}Lrjj0;e*lMzG51%JN>KeK>s&v%5c-^8JMA+uKUEcAKPc3(k$pXFaN z_BZK4yQ_5k+-K$8h}l@B8wy{q z#;oY5p4Q?9^*~A*+F2R|tY)Vx*Vn>@!C1q!C89>R=)gGsX`cXXB*H~#wMVRdHvx?H z>1r*8D@2H1wpp`)taqkMzsTJWGNkczT|#M(pmHIt zK&Vj&Rc5|cbxOK-y^4Yu`;S;XJIed^^dYmq7)CxCy9fTRK%#buRzhWoH!PmO8h^k? z`!g)yd`i&Qs~*@LZ?g9+iQgGv73QvSYQJak)ctDHVS=4Y&Z)~Y0amrK7dIa}xPN@q zoUM2jv(UR}0_eX23St;f)508!c<+K-I+&SBNphO=N)zt7ezoMN6x47=-NI}|eaTZ~ z)~Tvrgzeg?I@+CQ6v;qzWo-!=2ie}D75NOj4ISpbpjxTNWBrC$sW%=1a>sXi!kk&c zI{Q1~z3OegjpDs!d<)@Z#8#+SE0*NDCD6#u7fKhSRpP|~D*9wBIwkMKl$FskRO66t zpZ&)wEWyE|+>@6nPRa$a3T(OwWr|f|Fs-cupHAqtmHU#VN@3prK(gc##Ak1}7rzoq zY2G(WsMxPqr8eRZdfkDvJkk=o%d-8tQj%uu2BN_!Xcz0pH#H{|j>TE{u1?f6g`RTMsA0oI&O*lzH?b)!JtVO4(pEkp!UbvH zVmLN<_}OIRb@~ww|GrKFPyfdD8@vjTrKw2W0}r87asZxh1{G8SyJsBHS-hbK-G(3^ zt(>M>1t8l-sa!;(K-b5WWH0I>R`rYa+^8QkW@6z-xX->hj0Wd=7nMhwsxROkTgZ#> zbB^Le6+y=qI=7uRuu3x&y)jO`&}luXEu2P`13yH*K73B=|HWatdP3*ohPgDT)`E@} zVp99RB3eWhbYfb_MYDu%>4phyqp@e_welr8ZN}hN-lf2!Vw2lW_?u1cpqneOT?wlj z5-8{mbCAunUp02YSD8Wn)3(}0=WO|2&run+-TD_zh>pIPT?R@%hFJ4~Ni<)csNjWN z2J|2JPTem%BmQ^?mA}0u!P3<|1v9-I$2vn_YYGR?f9z0m4tBh=7s7l0q8wDPw{^iz zen+M?Z*QVUCnt^Ri9>GY($muFePN*Hpy5tCbn;izVn6A@3n>lEHLbqcLPqwQ`zZRx z*R+1Ba$vy|-Jx!YheSP$!GJs7_<=q!jmxPt0mA?2?Ov}TP@sR;FXH#w3M?TDtJ zRfZ7T&lK6tN2O&Rx`NgqJQA~>dP=BzHjXlMVOlr&-(Ycer5u%d>dSeX|E2BryDLE4 zulg}SZj_8BD$%-~XvMzI8C5_w><})*zkDDP=bsXv{VO3@FAQp)-iD&oP3jE*5ca;8 z(B+n;AX1sFlH$(AMdN_ zvV=`4ay_}Lv7tzg>g7_IZ9B)eV+S2F0W99j<)NR4ipFt@x?MI`-qH>}AL)qj5cN^I zu5ex$<`GQAVKI`Wx_%$zsEGVw_9E=Z4BMq;%5sA$CXbuNB>)IogkCB$j-LS5uk1VH zCr~6XJC1^jEG<;3e2?;{+O~w!4rUdmn9+&E%JX78pVC5CBEg9gn`W4uNy6UTTBQJ! z|0`72Y}J3|4=mt+5++_iNZq{U(6dD@m9n0@Uf=MpVp=qm=Gl6lki91%G8<*SJHehL zv3J#4uphs8ObcZ$Mv;IYP%RaSzz-K!#?3*^yFml=tQ4^w8{zX zH0#vk6WXoMjeOgU4Sj)0ZN{nBAYFHy4tK3e)6dZ+I$o4<1JOD~J)5~nny$DRIB5@l z0WO@BhC1BBw6-~s6*3`%Dr5A$gDq{CzGJD~bA+AR&%EcM@^Zphg&;}ZiQQ;Jto97@ zlMXal*-sqL#|T7)tnk2RCuI3ENB{huI2EJexndaPV0z|6BpA!kjxGB*X*Bz z#dJj&WSrVWx0M^zwfSJ0j#MZa-=sc&gH(A=TB_MUz!({kSbx`{bqpfN6VLbYF8+rL^(Z|R#j znvDU`?Q-$L@dJgRHyok{l2Mq&Fx9DZqQ}s-U!<>WN+@xCq@Z8LnkK%dng*>chQg~n zv$n3QwXl7(nxzMV16MN{VFvkY&aWc$I3MD8lAUgR3);L)gHLph9{ z1p5>MSIz?1dgOAH#SK{cP?@)K$39 zy5{ibD@Aj2gKS6u7%^SDlHM?fSvma7-(@6et!-k~`Fs02sU5BM-I<|Hw43b9 z)<@`fy_HL?@{KlVyN38*te?70)C|NQn?+b0bOziK~9>zq(=V}m! zOdA`JMiKOooN=#Fwr@&wtK)U>__OyA`M=WkPQ;`L{f67(kgQi!j2hXb9%3{_2@xdV z$UM4gP1ypD#z=@Jrs;L_&-FWp*=g02oT$s?1EF!?G`#}m(GjYSqNnlVZR>=USi_8` zAX=OM+HP@i(3io%`Q>fJJ4wHLX`g1c_S0){sBVJ|>-mGF`!X0$7P3NZxx3(tmHwoh zn7-4M=d+oX73&Cm$z1tx`biyQ7IfkWV(9hr!Uh{%Iq2*|n10_i2oA>(YHMCAIx>L< zfN`WCwbtidby}Fxew$jK>FTfglvB2J-|r}S_`WkS@b*E^LTcR5dP}k60b$C60`Wn0 zKg6qQ8fqFd=XjZK1VU?x2Xq|lmQcMNU&)an+`(51_%(GvH!aPIoFe|@_NkA`WT};% z%_FKicqcK?NKCfCn;8KS;YOI=9*EVks1vMV(%^OgHfvpoI|INEHTzjbMd-=ao}ZtZ#A3^F*6 z*bSc%K8|LrfdaLzig%IrFvB}q>Y~HHjo&9&TVx?A`LLLhjth$zPn&DdGMmGm9CsL( zzo+R)nR*V4Y&9J=^{+9^y(S$$#N=%sFBg7K)HG!(@eIV7uw8-i$>gNZoK>m~lAHGF z0LM(*3-hDaWqkugs#SPvCsl*<(1fEig{wFFAz^Jd!w!;GHph768Zs|O%0}6CXp38h z1~iFbUhDq28ByE4Gl-C(@+MK=Uco+c0_#QSZ43#2UHGumKYl;+95}(%VI7mr?@&i8 z`zu#m%wX2yzPF~mNr&vCy*VFXBsiV-!hssC!z%99qdxn{a86? z{6UYm&F!J@D7EZ9Iabb|6cbagx*!u39qkO1(qSH^1cdGOzQEk$OZ7FtvIvJ9_c-mE z$O6;@BFQvE**#EpAuhwpYrU|v=mvEqWHDaV!gm@zh$1MzI7y@q`7fu}avMULfS$iB4N5nr~6 ztusM6WbBRDjZ++(1ou_)V`)v8XIjWhe;%DPdgw;NJ4bnv7yRnio5L!< zi<~`D#Z+m}G~i+}>Cf|j$&}SV)c^@jwQuDeSyB?&9-oOaxHRC{kyi0IWzG&8I9nAD zm6h7S`R%VTw!OfN=@Uv^B|mz;uh-RFhT0mAG&KCqG$zK&r!36p;Qp9uqadGdM5k(~ z9hAz%obbuv#MTmZho_T8nLf?q90*vo#92r$ia}O}0wE-ne@96FT}A4&EQ&j_J^igikaa z%eur)wO#Id_|#}|4y@_ZaVOkX1OHxqwnz0>%XRP6zFfQSviB&~zpB9=#T^6!V`p7! zZoG}8sM~cbW7YJ1Gao+SntSXA_rLy5WdbX%AyvM7>KMYqXn8bHo-vTT(RF=iARpm8 z8y`Y?(lxnh z3QD9?YoR1P-pXU7HnhLQ-WPLV(LU!S17=>w0e;j}@tFxusWnfsK?HugNnuQp&?~@0 z0yHGbP>&8ry)FFq8rx7XcS<2Bt;+x%>{TgLnW!Z$Igveh^{`YjOfxih@CP{xf(^-0 z_JlWq*S;D=M41gYD394M#&}nwj1Z}&r$QKZZ@h&~Lx#1LI@Otjjw4;IlHGv7ur9l+ z8TNg>!{W71ALDZ&_G%(M_!djGO^(bIvsdXWz$4t}+uI^x6N>UJH@HW8SWBj0hN)2Z z_Dm+L{@-)!S0!?JGIoko{yc*X+c&SH`lR~5U}i7P0w3u7c2o2dtv*j%^KPh>M6$P{qO2A2rf+ ztU1_7*>!EduqI^gvIcluQl5zOr4Am(z`XFWK5I(2Vv8?z^%w3P@tG0<1RtSzd3jx_ zt$!vyTaIkZSmi{EOHahI-n!>Ep&CI~n~YP0t}+?wnk>&o@7;Uw?S)XK(zn+we$An^ z?a8LgivlTl@nU9So|&3czAAp8zF$I5KpLH7#h9()=H>cof^)dt`W^q-E#bC-h{o%J zvxS8Y0%adS2-E6{_>*^Exg>b%ot0-%CDH>g z$Bgr4L8<*dImpRZ)d|!9=S_)&h?EZRt{7GXilf<0*TBHE{X{iFx4AYOwFiB9aC=4l z1WdlA$09@BqeM*as?CgmbL)z8{?3X|i5q)!UFDu_!uioEb5u1dW85|TaiD`jMJ{vh z)<{yE^sE4mptP$`2gh_W91Iknt!Zv{MQ^$t4y*EEtm*Tjf>X3c-`PJpZmlzBLHh#3po1Aw zjxrU&>^q?Dm)|f9v@2>ToEo`F2T}fg@J?PiXiAJ?Hc&+%vG+xK%(F-5VIy`-nVeSKh__^JclDywSr?x5?4GZ(D9(u!zre( z2&4GPZ*$8|$;`>LIQE~BzSA2Is($?GFGGb`uOu}qv7NNPw#CvQ+*SoY27iv4+8fhn z9}*#d1+)|ho{>Q}A42SbCVL?cyXjYc9w(fyI5Bk>GVCarJHA{m$VQQgZR zpi4dG0JHW*<%IqWM$5lQad1PGV1%wlzI6mlx1DTpcsRlrNr3D6WtHmP=+d=sSLF?? zH9qm+vh| zEL-8y#f-FfD!TE@lfcqnGIHfsO9z`M>&Xn9FB5dA*I@5;7fQfyxZ7AIU z#F5RO*(SPvh?x;_Or1VPO)g<|s%sBB3|AKDf%6tVDg(W&(D6QS0Frx@p8C?Nv zEE8dbyV`VKIm>Y|zZ^1!OyO(tK_gFgSlN4V9bUQHpI1k6HNha&C0@MPp&uVoVHqbX zUXEkF6&TdiL3Xk1xsGIJe@P1`o?@729t@C6U*yD?!(y46M*H1@aCyw_d7+yd$!c0& zLV^#_lqR#wMPAP*QDYTtGO0k;BJcevT1}I!rXBS^ErJd!hXHyW|MQ_=jK z^Bd>L7DTJWwN!BjM7m>L-n=M-cmPQOU9nME4v#n=&^!wt{ z)m$R8PDH;ZSQD)jKU{O3HA{wxA`UVU-(A==h)UDx5e3LFb*v@9nCQyLCUJd35aWT} zAlF17gQIt1lWmCW*@ApxC!?p&6yK5~w*FuO@%gl4lKI33^4`$bBKX+hlh{LxM45=V z0GBPp7e1d?Q?^Ey?JzpBP+tn4Ik(;`3?l-1F{tu(DR>{@2eL#mUvf#rG>VXS(UpBV zwaR@$l}#*%_dP_y|;@+qx_9~tHswEhpLdv}u0 zNJ~CKD7lBkm8UN*k8$en{`!UHdfX`bDX->B!})h>$?VyubzZsg`jW&K)GXc+^%(ew zIYJ~k)syotyfI#%{T~~?IkqnY_~GA=T%H53Y>s*(huNO^-7!yia5ER(Zk+pV=GPs@ z-{cp0q7#e$^-ViE(PjGoPyfsr^Cz78bGML>HvjKG-S0NsD6<@T$$Q`Y^48+1VV3x0 z0POFsz-Onr!0fd6PlH$<6_n>3oIJYy#Fq)n^aQ2XZhxt>&#N$Irx|r*vAF!{=e1;5 z?2C7Qz%_pZvW!m028>8z;B0Pi?fE~q`6s;)x>DFJ_;LAE!hPhU-xS9`2yG;viG5M{ zpDh6U>EdGc%25&3I{$thYjd+ym6RhYpJ&*16Iofu*?u!i9zZ1-Hij@Hr o6l5~1?I4JPf`Zy-wWzEx@A=%KCDq}qd_=+J_{n2sM=#&_UxP0ErT_o{ diff --git a/integrations-examples/livekit-agent/img/project-api-keys.png b/integrations-examples/livekit-agent/img/project-api-keys.png deleted file mode 100644 index c5bf817a4430cfbc7512a2727017edfd907dbd12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104735 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

^Oegw0YR|`JbF?|suPw*0&=kjOm?Cb6%__g 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 TSYKp-SN>9#*FcoZnLqr0<}_qP diff --git a/integrations-examples/livekit-agent/img/transcription.png b/integrations-examples/livekit-agent/img/transcription.png deleted file mode 100644 index a672413b1aeff552240c4c1fedace310627c7c74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11513 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 None: - super().__init__( - instructions="None", - ) - - async def on_user_turn_completed( - self, chat_ctx: llm.ChatContext, new_message: llm.ChatMessage - ): - user_transcript = new_message.text_content - logger.info(f" -> {user_transcript}") - - raise StopResponse() - - -async def entrypoint(ctx: JobContext): - api_key = os.getenv("GLADIA_API_KEY") - if not api_key: - raise RuntimeError( - "GLADIA_API_KEY is not set. Please create a .env from .env.example and set it, or export it in your shell." - ) - - logger.info(f"Starting transcriber (speech to text) in room: {ctx.room.name}") - await ctx.connect(auto_subscribe=AutoSubscribe.AUDIO_ONLY) - - session = AgentSession( - stt=GladiaSTT(api_key=api_key, interim_results=True), - ) - - @session.on("metrics_collected") - def on_metrics_collected(ev: MetricsCollectedEvent): - metrics.log_metrics(ev.metrics) - - await session.start( - agent=Transcriber(), - room=ctx.room, - room_output_options=RoomOutputOptions( - transcription_enabled=True, - # disable audio output if it's not needed - audio_enabled=False, - ), - ) - - -if __name__ == "__main__": - cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint)) diff --git a/integrations-examples/livekit-agent/pyproject.toml b/integrations-examples/livekit-agent/pyproject.toml deleted file mode 100644 index 5611d17..0000000 --- a/integrations-examples/livekit-agent/pyproject.toml +++ /dev/null @@ -1,10 +0,0 @@ -[project] -name = "livekit-example-transcriber" -version = "0.1.0" -description = "Simple Gladia transcriber example using LiveKit Cloud and LiveKit Agents Playground" -readme = "README.md" -requires-python = ">=3.13" -dependencies = [ - "livekit-agents[gladia]>=1.5.17", - "pyjwt>=2.13.0", -] diff --git a/integrations-examples/livekit-agent/uv.lock b/integrations-examples/livekit-agent/uv.lock deleted file mode 100644 index a398430..0000000 --- a/integrations-examples/livekit-agent/uv.lock +++ /dev/null @@ -1,1269 +0,0 @@ -version = 1 -revision = 3 -requires-python = ">=3.13" - -[[package]] -name = "aiofiles" -version = "24.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247, upload-time = "2024-06-24T11:02:03.584Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896, upload-time = "2024-06-24T11:02:01.529Z" }, -] - -[[package]] -name = "aiohappyeyeballs" -version = "2.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, -] - -[[package]] -name = "aiohttp" -version = "3.14.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohappyeyeballs" }, - { name = "aiosignal" }, - { name = "attrs" }, - { name = "frozenlist" }, - { name = "multidict" }, - { name = "propcache" }, - { name = "yarl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ee/ab/93ce242f899b68c51b0578c027aafa791ab3614cb9345fa5d37b5f5c8e3e/aiohttp-3.14.0.tar.gz", hash = "sha256:2882de819734c715fd1b9c11c97e09fa020d14438203d1d354d8ed1702791c9b", size = 7940674, upload-time = "2026-06-01T19:41:02.763Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/61/d11f7d9a3144bffe825247d6367cd93053666da50b94707c9129c78868d5/aiohttp-3.14.0-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:25400d710641a8040bf022a8a99f579e581ffa1c5bd42c33255d7d6f3957c127", size = 502399, upload-time = "2026-06-01T19:38:25.955Z" }, - { url = "https://files.pythonhosted.org/packages/4f/9b/a7e317625d36356844f8bb022cabd305b541f968856cc3c2e0b58e53ee6e/aiohttp-3.14.0-cp313-cp313-android_21_x86_64.whl", hash = "sha256:c5492b9929826e07cc3fcb9739ae87aab05dff6b5e67a9b73fd1700c6d008981", size = 510068, upload-time = "2026-06-01T19:38:27.828Z" }, - { url = "https://files.pythonhosted.org/packages/11/41/cc2d2cfbfbdc3126ba258f3cd27d1ac8a33492ae3c35a4583ee21f0ba7f1/aiohttp-3.14.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3366751d68d237c621264233a32f3078bbc21b7904ab90a77e03d21390c742c6", size = 481670, upload-time = "2026-06-01T19:38:29.836Z" }, - { url = "https://files.pythonhosted.org/packages/3c/07/381f4023c3b08cb616e520f566d8c58957abad54e56441d41fe67cfb0195/aiohttp-3.14.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:57ea07d28695a7a40304d42251892a8df765e5588c10ee32afeddcd5df33c0a2", size = 487591, upload-time = "2026-06-01T19:38:31.704Z" }, - { url = "https://files.pythonhosted.org/packages/fb/4d/4506fdb7a022bdf70011a3bbb4ca00c5c570026ef6a3c5bd7bc70c39089c/aiohttp-3.14.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:076cb014191ae2e65d949e1ad01f1dcfe33e32789b5172510f3e79c79fc04d50", size = 496503, upload-time = "2026-06-01T19:38:33.6Z" }, - { url = "https://files.pythonhosted.org/packages/ef/7d/c814111e04894a45d9e2defc94443879a6f118d9633d5fedfe6e2e8af5f0/aiohttp-3.14.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2f3fc37054564dee64a855b5b092d87ec35dcddfaabf7dacb1c8a2b1f83dc0a9", size = 745870, upload-time = "2026-06-01T19:38:36.013Z" }, - { url = "https://files.pythonhosted.org/packages/c6/ee/80eee0efddfe187e7cd05027086b7ce1c0e492e82a4eda58f5c5543a44a0/aiohttp-3.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8fcaef74d2ab0f607d7ff85a0d15e21bb5a258c4a58df1908396eb50d7f4ed3c", size = 505588, upload-time = "2026-06-01T19:38:38.282Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f8/0f28f04eef75d52fc9c715dde7ce9c0abb810fd20cfeb0fea7afd2ab1e98/aiohttp-3.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e4c01b0bfc6209590960e68eac083cd22d5d87c21f974dd6208cafa5d3542bc8", size = 504492, upload-time = "2026-06-01T19:38:40.611Z" }, - { url = "https://files.pythonhosted.org/packages/ff/db/44c755232085545065c94378dfce38641b1aee647f4939fcd32f5b32e719/aiohttp-3.14.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f12eb7896e81caf403a2b18c9406426f1207361e7239c057ab29c076d4257e83", size = 1752111, upload-time = "2026-06-01T19:38:42.682Z" }, - { url = "https://files.pythonhosted.org/packages/5e/6a/42e030a46743841414402a3b00cd3d78419055e86c66fb5822c14b5abfc6/aiohttp-3.14.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6c79a044cacf360ec46738d863d2f41c9300d2a06ef4a7402ea0df306a350e61", size = 1729674, upload-time = "2026-06-01T19:38:44.79Z" }, - { url = "https://files.pythonhosted.org/packages/34/26/3199beb415202e3108e7b83ecebe10914d806d33fb9860c3e4aa60a19be3/aiohttp-3.14.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:85e0675f47be4eff0636bf88c02140ea89168ae0df3ff1f3f464e9de9610d277", size = 1798808, upload-time = "2026-06-01T19:38:47.01Z" }, - { url = "https://files.pythonhosted.org/packages/bd/94/b9b6fcf0ee17c21d0d19fb8c22bf83ad18f82e702a9c3bd901a868f5e446/aiohttp-3.14.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7b33e751cab03fdc960095b1e326cb5a03f5ee577d6ded59f3d1c100f8668882", size = 1891921, upload-time = "2026-06-01T19:38:49.233Z" }, - { url = "https://files.pythonhosted.org/packages/c5/a3/3800dbd095cb2bb165a7ea5d94d790914677e27f45638c7d80e3f34c8945/aiohttp-3.14.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26d9224c6dd7f5c749aba4f61315a894601448b28d94d12f4dea0903e26d2096", size = 1777241, upload-time = "2026-06-01T19:38:52.04Z" }, - { url = "https://files.pythonhosted.org/packages/21/2a/45be91ad1b860508557448d4cc2e165a2ee68dd865657b73bf66cc5a00fb/aiohttp-3.14.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6281aecdf2732940f4fe06bd6adec5ae4d59b78b080b8e3a6b81467301010988", size = 1579554, upload-time = "2026-06-01T19:38:54.508Z" }, - { url = "https://files.pythonhosted.org/packages/b4/3d/dc94df99ed1511fdf28314f722643ed334112643cab00223577085e788c4/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:23e8314e7aed8576fbe33314d218bd81447a3adbc91dc36f1163bf583cd3084c", size = 1714864, upload-time = "2026-06-01T19:38:56.788Z" }, - { url = "https://files.pythonhosted.org/packages/ae/e4/1f1c8acbb3acd5c8f795473b92c9c3d44eb60a5692c6104256c8a1c83a0c/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3b54fbff46127aeafdd764cecd0d99fa2f24a0e37ea5c18a7c3a4ac450df1db3", size = 1749803, upload-time = "2026-06-01T19:38:59.367Z" }, - { url = "https://files.pythonhosted.org/packages/0b/c8/c45ea6e7ed84cebba939b9c334498a045ba19d79c61b0110df5f21580de3/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b27d89af91a555f58e08e4902dbcbc48862fd40095720ca705990476bd93b7ac", size = 1765023, upload-time = "2026-06-01T19:39:01.651Z" }, - { url = "https://files.pythonhosted.org/packages/a8/a1/a932941784432962fe390e1066823aaef64b4e5ac9fa595df57b5fe472a9/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:25d2326a4967bf705a9f9913a13005e93b6020ad8a9f6bd6bd78850d5171332e", size = 1571671, upload-time = "2026-06-01T19:39:04.044Z" }, - { url = "https://files.pythonhosted.org/packages/b0/01/e1280feac522597a4d46eb67a0cdfa053cfae263033030b761ab146f29fb/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a1d209375c503472b3c0a340cdf3c55fcd82e84b46dda7caeaced59faba373ec", size = 1789904, upload-time = "2026-06-01T19:39:06.294Z" }, - { url = "https://files.pythonhosted.org/packages/fa/10/ab28818262f4d26bdb47ed5f1fc7999b69e2fc6e0370b02d0f49011f45ea/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:666c7c5036df57b693026398b69b41874a1931ac5b3485fd910e57bfac253869", size = 1754516, upload-time = "2026-06-01T19:39:08.788Z" }, - { url = "https://files.pythonhosted.org/packages/af/cc/c122eabd7a1b7e0c9bbdd6be60e4715905b858399145d9df872bb94f1427/aiohttp-3.14.0-cp313-cp313-win32.whl", hash = "sha256:23f094a1ef64823fd35854ddf5c7a80a078162f37f9d2f7c6142b51a6affa456", size = 448656, upload-time = "2026-06-01T19:39:11.171Z" }, - { url = "https://files.pythonhosted.org/packages/41/a5/bab07d79848a00eedd8ed979ccb302aaea3ac6eb9fa16bd0ed87135869b4/aiohttp-3.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:e03abdaa17d553f17e1d1d06bb266b3970106c78051d06795723e748d8e49d11", size = 475803, upload-time = "2026-06-01T19:39:13.439Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a0/f03ade8566c153666a3871afccbedf6d99911da006325e1fc6cf72a2de99/aiohttp-3.14.0-cp313-cp313-win_arm64.whl", hash = "sha256:acdb400538cf4769543548bb5d1eb23d39bed4f96554a6078cb728c7cb2c268b", size = 443889, upload-time = "2026-06-01T19:39:15.945Z" }, - { url = "https://files.pythonhosted.org/packages/28/03/5f36ab196a88ba5e9648ae5643e6531e67a3a8c0e96f9c6510ff41540fec/aiohttp-3.14.0-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:363ef9e91014e7891679bfb2ac0a7c6ea93435dbbfd10ecf41b9f06fcf506c5f", size = 503330, upload-time = "2026-06-01T19:39:18.195Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ce/8b49ec2f30f68e02f314f4832186cd45e583360a5a386058be36855d23b6/aiohttp-3.14.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:884a4edbdad77be9d0ef36142c8b504351b170df0bf62b51e784fadabf311c42", size = 509822, upload-time = "2026-06-01T19:39:20.396Z" }, - { url = "https://files.pythonhosted.org/packages/1a/fe/6edbf5d39bf29322b6816365b17ed8ede4dace164a3aea1abcd30110eb78/aiohttp-3.14.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:70ea956f6cc4a37620966b56c2e205d88ca3e6d85ec063277e414b1035cddad3", size = 483329, upload-time = "2026-06-01T19:39:22.607Z" }, - { url = "https://files.pythonhosted.org/packages/1b/5a/fae531bdbc6456fb6241f46b7b81e4d8a0dd3fc09118a0055dc7141ac1ec/aiohttp-3.14.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:ea3b9806c89f61da22fddf1f12dd524fb368e5e28f1261fbdafe5c3cd8ce893b", size = 489502, upload-time = "2026-06-01T19:39:24.881Z" }, - { url = "https://files.pythonhosted.org/packages/36/f4/48a7b0414db7fed77a03d5dde34508c026afd83510ab6bca08c313855776/aiohttp-3.14.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a071be341c2bd9b0188e62d173509f024e0a35b1c342c53c50f8daaeda8c3bd8", size = 497357, upload-time = "2026-06-01T19:39:27.197Z" }, - { url = "https://files.pythonhosted.org/packages/75/75/e85a13a370acc007fca5feb1fd1b88ac2d8426e6dadd625479b7cadd55a3/aiohttp-3.14.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:198cfe61bf253b19da1fb3e0fa122249dc4f14c12709493fed8054aa0411cc76", size = 750898, upload-time = "2026-06-01T19:39:29.563Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e4/3d637f800c724eff0e2bed64df72557444482366fd0a35b0cec0e6968f6c/aiohttp-3.14.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9dc203d6ce6b9106d54e2a93f41dfdfebfbca2d99962ba503bfd3e5921a6549e", size = 506986, upload-time = "2026-06-01T19:39:31.872Z" }, - { url = "https://files.pythonhosted.org/packages/1d/df/35161f3598bf7501d2b2a805b41ab4f45a2e34150c421bcb4ef8c0d281a7/aiohttp-3.14.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9e19d17ab02bf16832a2c8c0d55a486792c5b1645665652ee9531aebcc30cb72", size = 508033, upload-time = "2026-06-01T19:39:34.137Z" }, - { url = "https://files.pythonhosted.org/packages/e5/39/b36e5d3d31e850fb4691dd3e941684ac490a2559249f6fa634b6b0fdf020/aiohttp-3.14.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d925fba0c14d5b498a8028b0107beebdfd16c5d48d702ff54f879cb017aaaca3", size = 1746213, upload-time = "2026-06-01T19:39:36.654Z" }, - { url = "https://files.pythonhosted.org/packages/b1/28/24e1409e605a9aa5d84abe0e2acb365354b70ae56d40948101cabe3341ab/aiohttp-3.14.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d33e61021222ce7f9792bcac870d6f58d8adfceda33ab857b01264f4560f2c5f", size = 1705862, upload-time = "2026-06-01T19:39:38.968Z" }, - { url = "https://files.pythonhosted.org/packages/8c/d0/e5eb3ff1daeaf644c7e36a957517672494122628e067c38b263fa04eda77/aiohttp-3.14.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:44eca38755d0105bb32f47d085f5dd449846a449e1245fc105889e3279dcf8e3", size = 1798909, upload-time = "2026-06-01T19:39:41.334Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ba/8943f906f0570342886ababb9a722a44e360f786a028c5e0b0e29e3f735b/aiohttp-3.14.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f13087e06f68fea4941c21a0c541c00553aa16e4f8fd7bbe2b198df761e964d6", size = 1868892, upload-time = "2026-06-01T19:39:43.807Z" }, - { url = "https://files.pythonhosted.org/packages/3a/05/27df32c844b2156e1675a8d8ec22d963e3c8ba469ed7ceb1863320c7b521/aiohttp-3.14.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff82be7f1ef73634cb77890a770743239bc3d487b848669be1c599889336dc0a", size = 1751659, upload-time = "2026-06-01T19:39:46.398Z" }, - { url = "https://files.pythonhosted.org/packages/7f/62/da182e5910ab912b2e88aa919b61a16046a37a95714a5795b02eb57b2d18/aiohttp-3.14.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a150c0875ac8fd87f1c398650841308a30d65facf7416b12dbdb9cfdcbe5a48c", size = 1578775, upload-time = "2026-06-01T19:39:48.902Z" }, - { url = "https://files.pythonhosted.org/packages/66/e3/53c67097e8a5ce98625e91e3fa7f43c9c6940de680345d03b3509a72a078/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:edc01ea4e1ec5a1649a28866262bf24195889ff7b27bdd947029a6086741de9b", size = 1710090, upload-time = "2026-06-01T19:39:51.392Z" }, - { url = "https://files.pythonhosted.org/packages/dd/55/0e2732ca598c7a4dfe8a775662376d0ca2977cb1030e48386d4da5d9a456/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:540632bf882ff8fc88f2e1697be0761578e89e0d79fb4a8a6d65dc5da7e729d4", size = 1715016, upload-time = "2026-06-01T19:39:53.807Z" }, - { url = "https://files.pythonhosted.org/packages/5a/96/f0b73730798c9ca525afc30b39f1f81bbe24e245d9654c54d3b39d63212d/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:860a86bc2c80237f5dff52edcf427e10a8d8352271fd84845429a3e60199e02c", size = 1763810, upload-time = "2026-06-01T19:39:56.31Z" }, - { url = "https://files.pythonhosted.org/packages/71/cc/11acb6c4518f448323405a7312b6f255d0f974a34373ad1db7633c4aadc8/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5cbd50e6a50d6b99283a826b18cbdebf65b0797689a7535cb0e9dd37be0f63c3", size = 1573064, upload-time = "2026-06-01T19:39:58.718Z" }, - { url = "https://files.pythonhosted.org/packages/de/2d/28c31dde0a7dc98c0ee7d0da2ddcec3f7688c4fc131e5989e278d0c03c0a/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:20144819e99db593e22bbd2f3f2691a5e149f879142d6b8670254708853ff4fb", size = 1775765, upload-time = "2026-06-01T19:40:01.195Z" }, - { url = "https://files.pythonhosted.org/packages/b8/69/155c4ef3aec96417d47024800472b33b16c5d8a665371dcd044c2afdf25d/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:26b6d79aa54cb4ed50cc7d41ed14e99e0f1fc8e7c2d42f2e05b37aea897b2b52", size = 1733716, upload-time = "2026-06-01T19:40:03.631Z" }, - { url = "https://files.pythonhosted.org/packages/5f/44/6126116fd8a316b712bb615660b855c78466bb67ba1bb1742427eafcf7ac/aiohttp-3.14.0-cp314-cp314-win32.whl", hash = "sha256:106ed074a856f3e21d186b8579e2c8afb6da598e267cdaab01059e13db2fc44d", size = 453684, upload-time = "2026-06-01T19:40:06.277Z" }, - { url = "https://files.pythonhosted.org/packages/a2/d7/eff4c58a88c5cac5e38b55f44fb8a6d3929c3cbd77356e383e094d3220bd/aiohttp-3.14.0-cp314-cp314-win_amd64.whl", hash = "sha256:4f770846edae8f00ecc57af825bce811f787f87a7dcf0e90d191790efe5b31f7", size = 481758, upload-time = "2026-06-01T19:40:08.653Z" }, - { url = "https://files.pythonhosted.org/packages/d7/ed/17b5bd9fbcb46e688f02e572f517754a9a75831e7b54702f027761dc4fa5/aiohttp-3.14.0-cp314-cp314-win_arm64.whl", hash = "sha256:acf1581c4f21ed4b80a2dded504d87b055a071a84d5737ea966435f768275ac6", size = 450557, upload-time = "2026-06-01T19:40:11.03Z" }, - { url = "https://files.pythonhosted.org/packages/12/34/6180103ce9aabc8ebff3f7bb55a1228ffe60f61042823031d9692cb7b101/aiohttp-3.14.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6aa1a40f9cbb3da9f80714c5966b8946c21e6a2530d809b9498b33161e3c8733", size = 787878, upload-time = "2026-06-01T19:40:13.401Z" }, - { url = "https://files.pythonhosted.org/packages/92/e9/08954a40e8b7baa3d8beadd2b074b186e9b1e9c8ddabc288678a6265de50/aiohttp-3.14.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b62af5a8cc96a194eaa01a9ed7b34a3ffa58d3d8daaa1a0d7a749353ad12d228", size = 524400, upload-time = "2026-06-01T19:40:15.972Z" }, - { url = "https://files.pythonhosted.org/packages/08/6a/b5965a634ac4d5ba99a463314cf4ab214ca073fcdc38a15e0294273701fc/aiohttp-3.14.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6eb63b1417efaf7d1002a6ad034a40d44376afcc16508a57f8e74b49ad26a095", size = 527904, upload-time = "2026-06-01T19:40:18.28Z" }, - { url = "https://files.pythonhosted.org/packages/06/b4/932bcdd850c354d9bcca30f360e475d7852e30413fbbd44b182782ed5432/aiohttp-3.14.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c20b9ad156a79eb97be5cf9e069eec01d2f0dc8472ffbd75299a8b2d4c2cbbde", size = 1912162, upload-time = "2026-06-01T19:40:20.825Z" }, - { url = "https://files.pythonhosted.org/packages/c6/85/ce79bab0310d2e3fd2d7bc7e44412abeff7c8338f8a21dd0f2f1714989e5/aiohttp-3.14.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:40ae7b0642c25632c7eabc4a04754012691864d2a1b93becf7cddb76027b838a", size = 1778813, upload-time = "2026-06-01T19:40:23.726Z" }, - { url = "https://files.pythonhosted.org/packages/05/54/ba62ac2d1bc87e010aad23751e383b8794e45d931df67677313a2da78823/aiohttp-3.14.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95f5217e76a046b9f228a101717ef8d42b1eb3d9d196d15202db5bf41df88936", size = 1899969, upload-time = "2026-06-01T19:40:26.406Z" }, - { url = "https://files.pythonhosted.org/packages/dc/82/7cc7907725d83a19f31551334061e1ab8e108b1d7ac52632a2a844a4acb5/aiohttp-3.14.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1a4a9f17e85b80878c176695c1998c790e83731d8271881e5d356488652a1f9e", size = 1991771, upload-time = "2026-06-01T19:40:29.061Z" }, - { url = "https://files.pythonhosted.org/packages/d0/1c/a57de71a4508c93a830b77c28af3d08cd97f606dedfc6b94275347744508/aiohttp-3.14.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:145262119b07d7f95abc1839add35ba2bfc84551d4b4660ca11542c0b215455b", size = 1868606, upload-time = "2026-06-01T19:40:31.843Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ae/3839726cd49150a53ed340cc24ce5ba09d4c2117020ef9d45542bec5eb2f/aiohttp-3.14.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:49a33ded29b0b2fa7a367a02cf0fb89af602bb87542a16177ec8ce1c9c51d12a", size = 1665437, upload-time = "2026-06-01T19:40:35.01Z" }, - { url = "https://files.pythonhosted.org/packages/35/1e/c237923232c7da7f0392ea25d89fc5e60c0e93f685f4ebca8e7bcdd5271c/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2cc736a9c9fc2bc4dd71fd404815741b6573df27c3f985948ec4076989ac57de", size = 1834090, upload-time = "2026-06-01T19:40:37.733Z" }, - { url = "https://files.pythonhosted.org/packages/98/02/a5a7a2524f92d3911761b405a7c067c751891942144adc13e2ad79611e39/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b4141a3e5342ee3053a9cab54d25b64ed28289c1041e4c54b3d99839314d90ce", size = 1816907, upload-time = "2026-06-01T19:40:40.46Z" }, - { url = "https://files.pythonhosted.org/packages/fa/76/a8b9f0d09234d516af9f2d7dd715557f33b5da3b0b56ead41d1170e86e3c/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e30871b2d58996cb81aac52d2b1d15ac05257131ef0f90f18c2115a380fbfe7c", size = 1840382, upload-time = "2026-06-01T19:40:43.48Z" }, - { url = "https://files.pythonhosted.org/packages/c9/8e/140e715a0a4bbc211979ea30ec8396ad2ed5bf90ab87d8058fc4668b1923/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:667b881d083ccae3900ea5a241e17e5007ca78844c53ed389bb63d48f729d9c7", size = 1659497, upload-time = "2026-06-01T19:40:46.265Z" }, - { url = "https://files.pythonhosted.org/packages/10/c7/7ba5de8af9650b9767b063c675427b8685f43fa7ce563673a7bc3af60f08/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:b584dfe615d151e9b8f0a8ecb3aee6147f2927ec5b95ba25fe621f5377510928", size = 1870829, upload-time = "2026-06-01T19:40:49.583Z" }, - { url = "https://files.pythonhosted.org/packages/cc/bc/2aaab2f85cadb26ea59c091fa2b8e370d625154b5c14b478f1b489d07551/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6199707cc40e0e9cd39c36fbc97bec416c704e1d0ddce03412bb3b3e6a90ccd0", size = 1832281, upload-time = "2026-06-01T19:40:52.303Z" }, - { url = "https://files.pythonhosted.org/packages/39/98/31b9ad9fbc01f0075ee7221002df5fd2d10b647f451ca5f30edc802d9dd6/aiohttp-3.14.0-cp314-cp314t-win32.whl", hash = "sha256:a8d93334d4961c9d566b1f046c81dee475b7c21eb730728d38237bfa70d1c8e6", size = 490597, upload-time = "2026-06-01T19:40:54.937Z" }, - { url = "https://files.pythonhosted.org/packages/59/1f/299b21441c8de42ff70fddc7cfe65e92f810abcf740739a09b56f7835364/aiohttp-3.14.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2d2ffe9b614f50f069068b3b52e73414e4107fc10b7efc939a76acff9251fdd2", size = 525789, upload-time = "2026-06-01T19:40:57.306Z" }, - { url = "https://files.pythonhosted.org/packages/70/11/7f83fcba9ee05d4c54d61b3f8104da0d43a59adac44dd28effc0c9a10422/aiohttp-3.14.0-cp314-cp314t-win_arm64.whl", hash = "sha256:7a3fc4358e65826c515350f199c210de747cf669998211b1ee6c2e46de364b24", size = 467399, upload-time = "2026-06-01T19:40:59.993Z" }, -] - -[[package]] -name = "aiosignal" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "frozenlist" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, -] - -[[package]] -name = "annotated-doc" -version = "0.0.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, -] - -[[package]] -name = "annotated-types" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, -] - -[[package]] -name = "anyio" -version = "4.10.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "idna" }, - { name = "sniffio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" }, -] - -[[package]] -name = "attrs" -version = "25.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, -] - -[[package]] -name = "av" -version = "15.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/17/89/940a509ee7e9449f0c877fa984b37b7cc485546035cc67bbc353f2ac20f3/av-15.0.0.tar.gz", hash = "sha256:871c1a9becddf00b60b1294dc0bff9ff193ac31286aeec1a34039bd27e650183", size = 3833128, upload-time = "2025-07-03T16:23:48.455Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/27/c2e248498ce78dd504b0b1818ce88e71e30a7e26c348bdf5d6467d7b06f7/av-15.0.0-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:0701c116f32bd9478023f610722f6371d15ca0c068ff228d355f54a7cf23d9cb", size = 21746400, upload-time = "2025-07-03T16:22:46.604Z" }, - { url = "https://files.pythonhosted.org/packages/1d/d8/11f8452f19f4ddc189e978b215420131db40e3919135c14a0d13520f7c94/av-15.0.0-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:57fb6232494ec575b8e78e5a9ef9b811d78f8d67324476ec8430ca3146751124", size = 26939576, upload-time = "2025-07-03T16:22:49.255Z" }, - { url = "https://files.pythonhosted.org/packages/00/1c/b109fd41487d91b8843f9e199b65e89ca533a612ec788b11ed0ba9812ea3/av-15.0.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:801a3e0afd5c36df70d012d083bfca67ab22d0ebd2c860c0d9432ac875bc0ad6", size = 34284344, upload-time = "2025-07-03T16:22:52.373Z" }, - { url = "https://files.pythonhosted.org/packages/99/71/aee35fa182d0a41227fbd3f4250fd94c54acdd2995025ee59dd948bba930/av-15.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:d5e97791b96741b344bf6dbea4fb14481c117b1f7fe8113721e8d80e26cbb388", size = 38130346, upload-time = "2025-07-03T16:22:56.755Z" }, - { url = "https://files.pythonhosted.org/packages/b7/c4/2d9bbc9c42a804c99bc571eeacb2fe1582fe9cfdb726616876cada937d6a/av-15.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:acb4e4aa6bb394d3a9e60feb4cb7a856fc7bac01f3c99019b1d0f11c898c682c", size = 39728857, upload-time = "2025-07-03T16:23:00.392Z" }, - { url = "https://files.pythonhosted.org/packages/7c/d6/a5746e9fb4fdf326e9897abd7538413210e66f35ad4793fe30f87859249d/av-15.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:02d2d80bdbe184f1f3f49b3f5eae7f0ff7cba0a62ab3b18be0505715e586ad29", size = 40109012, upload-time = "2025-07-03T16:23:04.1Z" }, - { url = "https://files.pythonhosted.org/packages/77/1f/da89798231ad0feacfaaea4efec4f1779060226986f97498eabe2c7c54a8/av-15.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:603f3ae751f6678df5d8b949f92c6f8257064bba8b3e8db606a24c29d31b4e25", size = 36929211, upload-time = "2025-07-03T16:23:07.694Z" }, - { url = "https://files.pythonhosted.org/packages/d5/4c/2bcabe65a1c19e552f03540f16155a0d02cb9b7a90d31242ab3e0c7ea0d8/av-15.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:682686a9ea2745e63c8878641ec26b1787b9210533f3e945a6e07e24ab788c2e", size = 40967172, upload-time = "2025-07-03T16:23:13.488Z" }, - { url = "https://files.pythonhosted.org/packages/c9/f0/fe14adaa670ab7a3f709805a8494fd0a2eeb6a5b18b8c59dc6014639a5b1/av-15.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:5758231163b5486dfbf664036be010b7f5ebb24564aaeb62577464be5ea996e0", size = 31332650, upload-time = "2025-07-03T16:23:16.558Z" }, -] - -[[package]] -name = "certifi" -version = "2025.8.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, -] - -[[package]] -name = "cffi" -version = "1.17.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pycparser" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, - { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, - { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, - { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, - { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, - { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, - { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, - { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, - { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, - { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, - { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, - { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, - { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, - { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, - { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, - { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, - { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, - { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, - { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, - { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, -] - -[[package]] -name = "click" -version = "8.2.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, -] - -[[package]] -name = "colorama" -version = "0.4.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, -] - -[[package]] -name = "distro" -version = "1.9.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, -] - -[[package]] -name = "docstring-parser" -version = "0.17.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442, upload-time = "2025-07-21T07:35:01.868Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" }, -] - -[[package]] -name = "eval-type-backport" -version = "0.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/30/ea/8b0ac4469d4c347c6a385ff09dc3c048c2d021696664e26c7ee6791631b5/eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1", size = 9079, upload-time = "2024-12-21T20:09:46.005Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/31/55cd413eaccd39125368be33c46de24a1f639f2e12349b0361b4678f3915/eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a", size = 5830, upload-time = "2024-12-21T20:09:44.175Z" }, -] - -[[package]] -name = "frozenlist" -version = "1.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, - { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, - { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, - { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, - { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, - { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, - { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, - { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, - { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, - { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, - { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, - { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, - { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, - { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, - { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, - { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, - { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, - { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, - { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, - { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, - { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, - { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, - { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, - { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, - { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, - { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, - { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, - { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, - { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, -] - -[[package]] -name = "googleapis-common-protos" -version = "1.70.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "protobuf" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903, upload-time = "2025-04-14T10:17:02.924Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530, upload-time = "2025-04-14T10:17:01.271Z" }, -] - -[[package]] -name = "grpcio" -version = "1.74.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/38/b4/35feb8f7cab7239c5b94bd2db71abb3d6adb5f335ad8f131abb6060840b6/grpcio-1.74.0.tar.gz", hash = "sha256:80d1f4fbb35b0742d3e3d3bb654b7381cd5f015f8497279a1e9c21ba623e01b1", size = 12756048, upload-time = "2025-07-24T18:54:23.039Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/d8/1004a5f468715221450e66b051c839c2ce9a985aa3ee427422061fcbb6aa/grpcio-1.74.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:2bc2d7d8d184e2362b53905cb1708c84cb16354771c04b490485fa07ce3a1d89", size = 5449488, upload-time = "2025-07-24T18:53:41.174Z" }, - { url = "https://files.pythonhosted.org/packages/94/0e/33731a03f63740d7743dced423846c831d8e6da808fcd02821a4416df7fa/grpcio-1.74.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:c14e803037e572c177ba54a3e090d6eb12efd795d49327c5ee2b3bddb836bf01", size = 10974059, upload-time = "2025-07-24T18:53:43.066Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c6/3d2c14d87771a421205bdca991467cfe473ee4c6a1231c1ede5248c62ab8/grpcio-1.74.0-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:f6ec94f0e50eb8fa1744a731088b966427575e40c2944a980049798b127a687e", size = 5945647, upload-time = "2025-07-24T18:53:45.269Z" }, - { url = "https://files.pythonhosted.org/packages/c5/83/5a354c8aaff58594eef7fffebae41a0f8995a6258bbc6809b800c33d4c13/grpcio-1.74.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:566b9395b90cc3d0d0c6404bc8572c7c18786ede549cdb540ae27b58afe0fb91", size = 6626101, upload-time = "2025-07-24T18:53:47.015Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ca/4fdc7bf59bf6994aa45cbd4ef1055cd65e2884de6113dbd49f75498ddb08/grpcio-1.74.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1ea6176d7dfd5b941ea01c2ec34de9531ba494d541fe2057c904e601879f249", size = 6182562, upload-time = "2025-07-24T18:53:48.967Z" }, - { url = "https://files.pythonhosted.org/packages/fd/48/2869e5b2c1922583686f7ae674937986807c2f676d08be70d0a541316270/grpcio-1.74.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:64229c1e9cea079420527fa8ac45d80fc1e8d3f94deaa35643c381fa8d98f362", size = 6303425, upload-time = "2025-07-24T18:53:50.847Z" }, - { url = "https://files.pythonhosted.org/packages/a6/0e/bac93147b9a164f759497bc6913e74af1cb632c733c7af62c0336782bd38/grpcio-1.74.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:0f87bddd6e27fc776aacf7ebfec367b6d49cad0455123951e4488ea99d9b9b8f", size = 6996533, upload-time = "2025-07-24T18:53:52.747Z" }, - { url = "https://files.pythonhosted.org/packages/84/35/9f6b2503c1fd86d068b46818bbd7329db26a87cdd8c01e0d1a9abea1104c/grpcio-1.74.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3b03d8f2a07f0fea8c8f74deb59f8352b770e3900d143b3d1475effcb08eec20", size = 6491489, upload-time = "2025-07-24T18:53:55.06Z" }, - { url = "https://files.pythonhosted.org/packages/75/33/a04e99be2a82c4cbc4039eb3a76f6c3632932b9d5d295221389d10ac9ca7/grpcio-1.74.0-cp313-cp313-win32.whl", hash = "sha256:b6a73b2ba83e663b2480a90b82fdae6a7aa6427f62bf43b29912c0cfd1aa2bfa", size = 3805811, upload-time = "2025-07-24T18:53:56.798Z" }, - { url = "https://files.pythonhosted.org/packages/34/80/de3eb55eb581815342d097214bed4c59e806b05f1b3110df03b2280d6dfd/grpcio-1.74.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd3c71aeee838299c5887230b8a1822795325ddfea635edd82954c1eaa831e24", size = 4489214, upload-time = "2025-07-24T18:53:59.771Z" }, -] - -[[package]] -name = "h11" -version = "0.16.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, -] - -[[package]] -name = "httpcore" -version = "1.0.9" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "certifi" }, - { name = "h11" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, -] - -[[package]] -name = "httpx" -version = "0.28.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "certifi" }, - { name = "httpcore" }, - { name = "idna" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, -] - -[[package]] -name = "idna" -version = "3.15" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" }, -] - -[[package]] -name = "importlib-metadata" -version = "8.7.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "zipp" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, -] - -[[package]] -name = "jiter" -version = "0.14.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6e/c1/0cddc6eb17d4c53a99840953f95dd3accdc5cfc7a337b0e9b26476276be9/jiter-0.14.0.tar.gz", hash = "sha256:e8a39e66dac7153cf3f964a12aad515afa8d74938ec5cc0018adcdae5367c79e", size = 165725, upload-time = "2026-04-10T14:28:42.01Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/97/2a/09f70020898507a89279659a1afe3364d57fc1b2c89949081975d135f6f5/jiter-0.14.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:af72f204cf4d44258e5b4c1745130ac45ddab0e71a06333b01de660ab4187a94", size = 315502, upload-time = "2026-04-10T14:26:47.697Z" }, - { url = "https://files.pythonhosted.org/packages/d6/be/080c96a45cd74f9fce5db4fd68510b88087fb37ffe2541ff73c12db92535/jiter-0.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4b77da71f6e819be5fbcec11a453fde5b1d0267ef6ed487e2a392fd8e14e4e3a", size = 314870, upload-time = "2026-04-10T14:26:49.149Z" }, - { url = "https://files.pythonhosted.org/packages/7d/5e/2d0fee155826a968a832cc32438de5e2a193292c8721ca70d0b53e58245b/jiter-0.14.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f4ea612fe8b84b8b04e51d0e78029ecf3466348e25973f953de6e6a59aa4c1", size = 343406, upload-time = "2026-04-10T14:26:50.762Z" }, - { url = "https://files.pythonhosted.org/packages/70/af/bf9ee0d3a4f8dc0d679fc1337f874fe60cdbf841ebbb304b374e1c9aaceb/jiter-0.14.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62fe2451f8fcc0240261e6a4df18ecbcd58327857e61e625b2393ea3b468aac9", size = 369415, upload-time = "2026-04-10T14:26:52.188Z" }, - { url = "https://files.pythonhosted.org/packages/0f/83/8e8561eadba31f4d3948a5b712fb0447ec71c3560b57a855449e7b8ddc98/jiter-0.14.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6112f26f5afc75bcb475787d29da3aa92f9d09c7858f632f4be6ffe607be82e9", size = 461456, upload-time = "2026-04-10T14:26:53.611Z" }, - { url = "https://files.pythonhosted.org/packages/f6/c9/c5299e826a5fe6108d172b344033f61c69b1bb979dd8d9ddd4278a160971/jiter-0.14.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:215a6cb8fb7dc702aa35d475cc00ddc7f970e5c0b1417fb4b4ac5d82fa2a29db", size = 378488, upload-time = "2026-04-10T14:26:55.211Z" }, - { url = "https://files.pythonhosted.org/packages/5d/37/c16d9d15c0a471b8644b1abe3c82668092a707d9bedcf076f24ff2e380cd/jiter-0.14.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ab96a30fb3cb2c7e0cd33f7616c8860da5f5674438988a54ac717caccdbaa", size = 353242, upload-time = "2026-04-10T14:26:56.705Z" }, - { url = "https://files.pythonhosted.org/packages/58/ea/8050cb0dc654e728e1bfacbc0c640772f2181af5dedd13ae70145743a439/jiter-0.14.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:3a99c1387b1f2928f799a9de899193484d66206a50e98233b6b088a7f0c1edb2", size = 356823, upload-time = "2026-04-10T14:26:58.281Z" }, - { url = "https://files.pythonhosted.org/packages/b0/3b/cf71506d270e5f84d97326bf220e47aed9b95e9a4a060758fb07772170ab/jiter-0.14.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ab18d11074485438695f8d34a1b6da61db9754248f96d51341956607a8f39985", size = 392564, upload-time = "2026-04-10T14:27:00.018Z" }, - { url = "https://files.pythonhosted.org/packages/b0/cc/8c6c74a3efb5bd671bfd14f51e8a73375464ca914b1551bc3b40e26ac2c9/jiter-0.14.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:801028dcfc26ac0895e4964cbc0fd62c73be9fd4a7d7b1aaf6e5790033a719b7", size = 520322, upload-time = "2026-04-10T14:27:01.664Z" }, - { url = "https://files.pythonhosted.org/packages/41/24/68d7b883ec959884ddf00d019b2e0e82ba81b167e1253684fa90519ce33c/jiter-0.14.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ad425b087aafb4a1c7e1e98a279200743b9aaf30c3e0ba723aec93f061bd9bc8", size = 552619, upload-time = "2026-04-10T14:27:03.316Z" }, - { url = "https://files.pythonhosted.org/packages/b6/89/b1a0985223bbf3150ff9e8f46f98fc9360c1de94f48abe271bbe1b465682/jiter-0.14.0-cp313-cp313-win32.whl", hash = "sha256:882bcb9b334318e233950b8be366fe5f92c86b66a7e449e76975dfd6d776a01f", size = 205699, upload-time = "2026-04-10T14:27:04.662Z" }, - { url = "https://files.pythonhosted.org/packages/4c/19/3f339a5a7f14a11730e67f6be34f9d5105751d547b615ef593fa122a5ded/jiter-0.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:9b8c571a5dba09b98bd3462b5a53f27209a5cbbe85670391692ede71974e979f", size = 201323, upload-time = "2026-04-10T14:27:06.139Z" }, - { url = "https://files.pythonhosted.org/packages/50/56/752dd89c84be0e022a8ea3720bcfa0a8431db79a962578544812ce061739/jiter-0.14.0-cp313-cp313-win_arm64.whl", hash = "sha256:34f19dcc35cb1abe7c369b3756babf8c7f04595c0807a848df8f26ef8298ef92", size = 191099, upload-time = "2026-04-10T14:27:07.564Z" }, - { url = "https://files.pythonhosted.org/packages/91/28/292916f354f25a1fe8cf2c918d1415c699a4a659ae00be0430e1c5d9ffea/jiter-0.14.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e89bcd7d426a75bb4952c696b267075790d854a07aad4c9894551a82c5b574ab", size = 320880, upload-time = "2026-04-10T14:27:09.326Z" }, - { url = "https://files.pythonhosted.org/packages/ad/c7/b002a7d8b8957ac3d469bd59c18ef4b1595a5216ae0de639a287b9816023/jiter-0.14.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b25beaa0d4447ea8c7ae0c18c688905d34840d7d0b937f2f7bdd52162c98a40", size = 346563, upload-time = "2026-04-10T14:27:11.287Z" }, - { url = "https://files.pythonhosted.org/packages/f9/3b/f8d07580d8706021d255a6356b8fab13ee4c869412995550ce6ed4ddf97d/jiter-0.14.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:651a8758dd413c51e3b7f6557cdc6921faf70b14106f45f969f091f5cda990ea", size = 357928, upload-time = "2026-04-10T14:27:12.729Z" }, - { url = "https://files.pythonhosted.org/packages/47/5b/ac1a974da29e35507230383110ffec59998b290a8732585d04e19a9eb5ba/jiter-0.14.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e1a7eead856a5038a8d291f1447176ab0b525c77a279a058121b5fccee257f6f", size = 203519, upload-time = "2026-04-10T14:27:14.125Z" }, - { url = "https://files.pythonhosted.org/packages/96/6d/9fc8433d667d2454271378a79747d8c76c10b51b482b454e6190e511f244/jiter-0.14.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e692633a12cda97e352fdcd1c4acc971b1c28707e1e33aeef782b0cbf051975", size = 190113, upload-time = "2026-04-10T14:27:16.638Z" }, - { url = "https://files.pythonhosted.org/packages/4f/1e/354ed92461b165bd581f9ef5150971a572c873ec3b68a916d5aa91da3cc2/jiter-0.14.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:6f396837fc7577871ca8c12edaf239ed9ccef3bbe39904ae9b8b63ce0a48b140", size = 315277, upload-time = "2026-04-10T14:27:18.109Z" }, - { url = "https://files.pythonhosted.org/packages/a6/95/8c7c7028aa8636ac21b7a55faef3e34215e6ed0cbf5ae58258427f621aa3/jiter-0.14.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a4d50ea3d8ba4176f79754333bd35f1bbcd28e91adc13eb9b7ca91bc52a6cef9", size = 315923, upload-time = "2026-04-10T14:27:19.603Z" }, - { url = "https://files.pythonhosted.org/packages/47/40/e2a852a44c4a089f2681a16611b7ce113224a80fd8504c46d78491b47220/jiter-0.14.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce17f8a050447d1b4153bda4fb7d26e6a9e74eb4f4a41913f30934c5075bf615", size = 344943, upload-time = "2026-04-10T14:27:21.262Z" }, - { url = "https://files.pythonhosted.org/packages/fc/1f/670f92adee1e9895eac41e8a4d623b6da68c4d46249d8b556b60b63f949e/jiter-0.14.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f4f1c4b125e1652aefbc2e2c1617b60a160ab789d180e3d423c41439e5f32850", size = 369725, upload-time = "2026-04-10T14:27:22.766Z" }, - { url = "https://files.pythonhosted.org/packages/01/2f/541c9ba567d05de1c4874a0f8f8c5e3fd78e2b874266623da9a775cf46e0/jiter-0.14.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be808176a6a3a14321d18c603f2d40741858a7c4fc982f83232842689fe86dd9", size = 461210, upload-time = "2026-04-10T14:27:24.315Z" }, - { url = "https://files.pythonhosted.org/packages/ce/a9/c31cbec09627e0d5de7aeaec7690dba03e090caa808fefd8133137cf45bc/jiter-0.14.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26679d58ba816f88c3849306dd58cb863a90a1cf352cdd4ef67e30ccf8a77994", size = 380002, upload-time = "2026-04-10T14:27:26.155Z" }, - { url = "https://files.pythonhosted.org/packages/50/02/3c05c1666c41904a2f607475a73e7a4763d1cbde2d18229c4f85b22dc253/jiter-0.14.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80381f5a19af8fa9aef743f080e34f6b25ebd89656475f8cf0470ec6157052aa", size = 354678, upload-time = "2026-04-10T14:27:27.701Z" }, - { url = "https://files.pythonhosted.org/packages/7d/97/e15b33545c2b13518f560d695f974b9891b311641bdcf178d63177e8801e/jiter-0.14.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:004df5fdb8ecbd6d99f3227df18ba1a259254c4359736a2e6f036c944e02d7c5", size = 358920, upload-time = "2026-04-10T14:27:29.256Z" }, - { url = "https://files.pythonhosted.org/packages/ad/d2/8b1461def6b96ba44530df20d07ef7a1c7da22f3f9bf1727e2d611077bf1/jiter-0.14.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cff5708f7ed0fa098f2b53446c6fa74c48469118e5cd7497b4f1cd569ab06928", size = 394512, upload-time = "2026-04-10T14:27:31.344Z" }, - { url = "https://files.pythonhosted.org/packages/e3/88/837566dd6ed6e452e8d3205355afd484ce44b2533edfa4ed73a298ea893e/jiter-0.14.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:2492e5f06c36a976d25c7cc347a60e26d5470178d44cde1b9b75e60b4e519f28", size = 521120, upload-time = "2026-04-10T14:27:33.299Z" }, - { url = "https://files.pythonhosted.org/packages/89/6b/b00b45c4d1b4c031777fe161d620b755b5b02cdade1e316dcb46e4471d63/jiter-0.14.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:7609cfbe3a03d37bfdbf5052012d5a879e72b83168a363deae7b3a26564d57de", size = 553668, upload-time = "2026-04-10T14:27:34.868Z" }, - { url = "https://files.pythonhosted.org/packages/ad/d8/6fe5b42011d19397433d345716eac16728ac241862a2aac9c91923c7509a/jiter-0.14.0-cp314-cp314-win32.whl", hash = "sha256:7282342d32e357543565286b6450378c3cd402eea333fc1ebe146f1fabb306fc", size = 207001, upload-time = "2026-04-10T14:27:36.455Z" }, - { url = "https://files.pythonhosted.org/packages/e5/43/5c2e08da1efad5e410f0eaaabeadd954812612c33fbbd8fd5328b489139d/jiter-0.14.0-cp314-cp314-win_amd64.whl", hash = "sha256:bd77945f38866a448e73b0b7637366afa814d4617790ecd88a18ca74377e6c02", size = 202187, upload-time = "2026-04-10T14:27:38Z" }, - { url = "https://files.pythonhosted.org/packages/aa/1f/6e39ac0b4cdfa23e606af5b245df5f9adaa76f35e0c5096790da430ca506/jiter-0.14.0-cp314-cp314-win_arm64.whl", hash = "sha256:f2d4c61da0821ee42e0cdf5489da60a6d074306313a377c2b35af464955a3611", size = 192257, upload-time = "2026-04-10T14:27:39.504Z" }, - { url = "https://files.pythonhosted.org/packages/05/57/7dbc0ffbbb5176a27e3518716608aa464aee2e2887dc938f0b900a120449/jiter-0.14.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1bf7ff85517dd2f20a5750081d2b75083c1b269cf75afc7511bdf1f9548beb3b", size = 323441, upload-time = "2026-04-10T14:27:41.039Z" }, - { url = "https://files.pythonhosted.org/packages/83/6e/7b3314398d8983f06b557aa21b670511ec72d3b79a68ee5e4d9bff972286/jiter-0.14.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8ef8791c3e78d6c6b157c6d360fbb5c715bebb8113bc6a9303c5caff012754a", size = 348109, upload-time = "2026-04-10T14:27:42.552Z" }, - { url = "https://files.pythonhosted.org/packages/ae/4f/8dc674bcd7db6dba566de73c08c763c337058baff1dbeb34567045b27cdc/jiter-0.14.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e74663b8b10da1fe0f4e4703fd7980d24ad17174b6bb35d8498d6e3ebce2ae6a", size = 368328, upload-time = "2026-04-10T14:27:44.574Z" }, - { url = "https://files.pythonhosted.org/packages/3b/5f/188e09a1f20906f98bbdec44ed820e19f4e8eb8aff88b9d1a5a497587ff3/jiter-0.14.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1aca29ba52913f78362ec9c2da62f22cdc4c3083313403f90c15460979b84d9b", size = 463301, upload-time = "2026-04-10T14:27:46.717Z" }, - { url = "https://files.pythonhosted.org/packages/ac/f0/19046ef965ed8f349e8554775bb12ff4352f443fbe12b95d31f575891256/jiter-0.14.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b39b7d87a952b79949af5fef44d2544e58c21a28da7f1bae3ef166455c61746", size = 378891, upload-time = "2026-04-10T14:27:48.32Z" }, - { url = "https://files.pythonhosted.org/packages/c4/c3/da43bd8431ee175695777ee78cf0e93eacbb47393ff493f18c45231b427d/jiter-0.14.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d918a68b26e9fab068c2b5453577ef04943ab2807b9a6275df2a812599a310", size = 360749, upload-time = "2026-04-10T14:27:49.88Z" }, - { url = "https://files.pythonhosted.org/packages/72/26/e054771be889707c6161dbdec9c23d33a9ec70945395d70f07cfea1e9a6f/jiter-0.14.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:b08997c35aee1201c1a5361466a8fb9162d03ae7bf6568df70b6c859f1e654a4", size = 358526, upload-time = "2026-04-10T14:27:51.504Z" }, - { url = "https://files.pythonhosted.org/packages/c3/0f/7bea65ea2a6d91f2bf989ff11a18136644392bf2b0497a1fa50934c30a9c/jiter-0.14.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:260bf7ca20704d58d41f669e5e9fe7fe2fa72901a6b324e79056f5d52e9c9be2", size = 393926, upload-time = "2026-04-10T14:27:53.368Z" }, - { url = "https://files.pythonhosted.org/packages/3c/a1/b1ff7d70deef61ac0b7c6c2f12d2ace950cdeecb4fdc94500a0926802857/jiter-0.14.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:37826e3df29e60f30a382f9294348d0238ef127f4b5d7f5f8da78b5b9e050560", size = 521052, upload-time = "2026-04-10T14:27:55.058Z" }, - { url = "https://files.pythonhosted.org/packages/0b/7b/3b0649983cbaf15eda26a414b5b1982e910c67bd6f7b1b490f3cfc76896a/jiter-0.14.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:645be49c46f2900937ba0eaf871ad5183c96858c0af74b6becc7f4e367e36e06", size = 553716, upload-time = "2026-04-10T14:27:57.269Z" }, - { url = "https://files.pythonhosted.org/packages/97/f8/33d78c83bd93ae0c0af05293a6660f88a1977caef39a6d72a84afab94ce0/jiter-0.14.0-cp314-cp314t-win32.whl", hash = "sha256:2f7877ed45118de283786178eceaf877110abacd04fde31efff3940ae9672674", size = 207957, upload-time = "2026-04-10T14:27:59.285Z" }, - { url = "https://files.pythonhosted.org/packages/d6/ac/2b760516c03e2227826d1f7025d89bf6bf6357a28fe75c2a2800873c50bf/jiter-0.14.0-cp314-cp314t-win_amd64.whl", hash = "sha256:14c0cb10337c49f5eafe8e7364daca5e29a020ea03580b8f8e6c597fed4e1588", size = 204690, upload-time = "2026-04-10T14:28:00.962Z" }, - { url = "https://files.pythonhosted.org/packages/dc/2e/a44c20c58aeed0355f2d326969a181696aeb551a25195f47563908a815be/jiter-0.14.0-cp314-cp314t-win_arm64.whl", hash = "sha256:5419d4aa2024961da9fe12a9cfe7484996735dca99e8e090b5c88595ef1951ff", size = 191338, upload-time = "2026-04-10T14:28:02.853Z" }, -] - -[[package]] -name = "json-repair" -version = "0.59.10" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d3/7c/e95bb03068572146eba37e8175c760f470ea0a6097310e16bbf2bc6e6457/json_repair-0.59.10.tar.gz", hash = "sha256:2e4b85537c752d8a513ea28fdad891e5ede32c83de745366b97f648b8c34ede7", size = 49133, upload-time = "2026-05-14T06:41:51.222Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ee/87/49b20c6b81493d55c311f711ed87319d0fbad8bd0bbfbe36e52103af36bd/json_repair-0.59.10-py3-none-any.whl", hash = "sha256:5468fa3eaadcc9b4a5646776bc4176e2fe5f374b5848a15f468cce3b60e3db0e", size = 47742, upload-time = "2026-05-14T06:41:49.812Z" }, -] - -[[package]] -name = "livekit" -version = "1.1.8" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiofiles" }, - { name = "numpy" }, - { name = "protobuf" }, - { name = "types-protobuf" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ce/d7/1fde055300c1f8338feec88bac55270ea5c20cac66ed3655cc60fb14f2b6/livekit-1.1.8.tar.gz", hash = "sha256:862100f479dc06b10cd1442d0a687126ac71930d3e003925449bcb8c2531bd53", size = 335048, upload-time = "2026-05-13T17:30:36.446Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/7c/1f609b57b46988a7696d49a6d3d8c19056950b7dc88552323fbd39403494/livekit-1.1.8-py3-none-macosx_10_15_x86_64.whl", hash = "sha256:e65732bd4e0b3625d8c32676cede90be45e06ab443b5c18127df6e89637d5269", size = 10027840, upload-time = "2026-05-13T17:30:24.853Z" }, - { url = "https://files.pythonhosted.org/packages/42/1d/2af5a4fc85fe4a49e32432cbf37b1869cdb6e428b4858d0821703742cf01/livekit-1.1.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:b025e5881ae63674aa0ef193ce42b4cd98258fe098707142888e6a79f448f47d", size = 8860811, upload-time = "2026-05-13T17:30:27.156Z" }, - { url = "https://files.pythonhosted.org/packages/69/80/919c2f291083f253cf37aafcbd8e727dac3e29a0e60ec63b5249b93ad025/livekit-1.1.8-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:080a3799bcf7075328f2921868646296a18e4ab1c613df6b313d723f99b5557b", size = 9852340, upload-time = "2026-05-13T17:30:29.274Z" }, - { url = "https://files.pythonhosted.org/packages/50/11/44bebbb16d79c9026200f83c8d9695ea6976a53f1430b0ea3b15a41c4bd4/livekit-1.1.8-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:2746bbe611869994fbc42e3f8387f3a3d4a5f83e3fad8860c076742a4c0d943e", size = 11235966, upload-time = "2026-05-13T17:30:31.522Z" }, - { url = "https://files.pythonhosted.org/packages/cd/08/9dca90dd3f9c5147ec0b1168d3410db1cc944d546c1d123343f81880b261/livekit-1.1.8-py3-none-win_amd64.whl", hash = "sha256:3942843f0c0072a3d973f3e45b60b1565833785bbe7890d64f7e5555ff61b9e2", size = 10598792, upload-time = "2026-05-13T17:30:34.195Z" }, -] - -[[package]] -name = "livekit-agents" -version = "1.5.17" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiofiles" }, - { name = "aiohttp" }, - { name = "av" }, - { name = "certifi" }, - { name = "click" }, - { name = "colorama" }, - { name = "docstring-parser" }, - { name = "eval-type-backport" }, - { name = "json-repair" }, - { name = "livekit" }, - { name = "livekit-api" }, - { name = "livekit-blingfire" }, - { name = "livekit-protocol" }, - { name = "nest-asyncio" }, - { name = "numpy" }, - { name = "openai" }, - { name = "opentelemetry-api" }, - { name = "opentelemetry-exporter-otlp" }, - { name = "opentelemetry-sdk" }, - { name = "prometheus-client" }, - { name = "protobuf" }, - { name = "psutil" }, - { name = "pydantic" }, - { name = "pyjwt" }, - { name = "sounddevice" }, - { name = "typer" }, - { name = "types-protobuf" }, - { name = "typing-extensions" }, - { name = "watchfiles" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/57/f1/37e6cadf3bd8616cc6692edefb3167862f80ffb1ac1ef285e8f88526ee48/livekit_agents-1.5.17.tar.gz", hash = "sha256:9d8295e640b09baac64335465eed6d01aa6ad0891e86b279641e4344a37ed803", size = 2516372, upload-time = "2026-06-03T01:36:42.922Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/66/39/7d3ece9447cd69c949166ea39ca4636348125a7a29749dc996fac4c20129/livekit_agents-1.5.17-py3-none-any.whl", hash = "sha256:9feaad7a1116431b764135cb0a73b69e444a0a2e5f4b7d164c213af396b716d0", size = 2614817, upload-time = "2026-06-03T01:36:40.453Z" }, -] - -[package.optional-dependencies] -codecs = [ - { name = "numpy" }, -] -gladia = [ - { name = "livekit-plugins-gladia" }, -] - -[[package]] -name = "livekit-api" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohttp" }, - { name = "livekit-protocol" }, - { name = "protobuf" }, - { name = "pyjwt" }, - { name = "types-protobuf" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b5/0a/ad3cce124e608c056d6390244ec4dd18c8a4b5f055693a95831da2119af7/livekit_api-1.1.0.tar.gz", hash = "sha256:f94c000534d3a9b506e6aed2f35eb88db1b23bdea33bb322f0144c4e9f73934e", size = 16649, upload-time = "2025-12-02T19:37:11.452Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/b9/8d8515e3e0e629ab07d399cf858b8fc7e0a02bbf6384a6592b285264b4b9/livekit_api-1.1.0-py3-none-any.whl", hash = "sha256:bfc1c2c65392eb3f580a2c28108269f0e79873f053578a677eee7bb1de8aa8fb", size = 19620, upload-time = "2025-12-02T19:37:10.075Z" }, -] - -[[package]] -name = "livekit-blingfire" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/81/50/46e410b935154a6bcf2d9494ee8e298b1a9c91ae33beaa78346703cf7681/livekit_blingfire-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f5f6a40e498940f5b2e53d9753f5f7fb7f909e12a93a158844c9e3e99a5486b8", size = 154623, upload-time = "2025-12-16T00:48:17.641Z" }, - { url = "https://files.pythonhosted.org/packages/de/b4/f51c25bf104e51703dc66558ff9831a9769a9effa397956268902784a3d0/livekit_blingfire-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:945a672a224c9a686925e9af94c2660bacdbe190ccf693d6f17cea9359426c15", size = 148846, upload-time = "2025-12-16T00:48:18.591Z" }, - { url = "https://files.pythonhosted.org/packages/e0/d2/ad95d195ed6dccb6527ed3c1e753f211c3e9509050af5cddf007608bb104/livekit_blingfire-1.1.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f3aac3207cdd88c62323e0b07c33a69aac79c544122a2ddfbecc6c721ca760c", size = 167886, upload-time = "2025-12-16T00:48:19.858Z" }, - { url = "https://files.pythonhosted.org/packages/c5/67/fc4af1bbbed319d8edc319051bce720b51fa544f5d2ebb3201240779f135/livekit_blingfire-1.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:839feefa2910f99d794d3f3d696f95193ee8188cc6688a8d712bade2cede7951", size = 175858, upload-time = "2025-12-16T00:48:21.144Z" }, - { url = "https://files.pythonhosted.org/packages/76/6c/9e14763826476925767b511531318a83f95f3bf9e4dbc7dc611400af6e9e/livekit_blingfire-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:1409d4c297260b60a37bfe6ba21e4fb59dd53cd929632c0a78a28d41fe424302", size = 131048, upload-time = "2025-12-16T00:48:22.17Z" }, - { url = "https://files.pythonhosted.org/packages/d7/9c/81fc3b7835fbee79ebf9a28cb4c673fa5fce30e5d8659fadaeed4ecb0f53/livekit_blingfire-1.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:81a5942894944a5773dfa2ce800d016c5f5d8868cd01db1d4b099aa951df41aa", size = 154889, upload-time = "2025-12-16T00:48:23.181Z" }, - { url = "https://files.pythonhosted.org/packages/e8/83/976000dbd2781f5018cff52bc470cd48c7344ce5bd33f8417cbed5adaf8f/livekit_blingfire-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ed861a19759987314ae71f2315d9bef11a3d6cc11e9effd5b9a3f0c567a3ba8d", size = 149170, upload-time = "2025-12-16T00:48:24.419Z" }, - { url = "https://files.pythonhosted.org/packages/23/5f/f3b3b83758638aa90803946659dd6236253de3b529a9fb6148a0ad8dcab1/livekit_blingfire-1.1.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4cbcd68b2dea451be70e26cefa7cffb7a02aeacdbfa0efaa33cce7474e15983", size = 168075, upload-time = "2025-12-16T00:48:26.377Z" }, - { url = "https://files.pythonhosted.org/packages/ba/82/44e068acf6f9cf2abe0bc019c7073330cb8211e196e2767cacbdf3e4bf57/livekit_blingfire-1.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:db593c044a3aff38af0b4d4f3d739aad4b24c740c80255bffaca07af2f9e6721", size = 175825, upload-time = "2025-12-16T00:48:27.377Z" }, - { url = "https://files.pythonhosted.org/packages/ad/2b/be8b3096727391726a7b382c5b98042ae6d29af1eee7c8467a93f823bcca/livekit_blingfire-1.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:bb23eb24d6a27df7205a562ce8c4d0a495d9d2a23aa3b5dec142d07401aeb342", size = 135843, upload-time = "2025-12-16T00:48:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/2f/9e/a9bf3a927c5c9544acef40a51f67b40aaba23bfcae63ab1f80418e25d9ce/livekit_blingfire-1.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a6c4d3ee6ef7c0597dc737837997082d7a1eb69aed6efb12688dd2bef0d5b282", size = 157380, upload-time = "2025-12-16T00:48:29.268Z" }, - { url = "https://files.pythonhosted.org/packages/fa/61/8c2f68c4bab4202746c4f13670d8e7cf40dcbc0a32f292492e0c483f3811/livekit_blingfire-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b5f4076098363dc5b57d8c5a6781a48539ebb35d82c1fe9587c047167ccf844d", size = 153248, upload-time = "2025-12-16T00:48:30.241Z" }, - { url = "https://files.pythonhosted.org/packages/72/08/93ed14e757f3bb3d22c40e11900ea2815883b7beb331fe758c8d40ea1dd0/livekit_blingfire-1.1.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20b95b2c15c4a1af4e68c1aa7d885bf295f89ee6eb5c1a1fdfa315a51795b30d", size = 170081, upload-time = "2025-12-16T00:48:31.268Z" }, - { url = "https://files.pythonhosted.org/packages/0f/6d/b2a23cafabf55561c463490b3a87e323640259ae340e6db26bb71e0fa26d/livekit_blingfire-1.1.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c13ef26e5234674ac353b7cfaadeb23468e951eb07461b6b6c77f79cd5ff763", size = 176755, upload-time = "2025-12-16T00:48:32.294Z" }, - { url = "https://files.pythonhosted.org/packages/60/93/c00c175d2187160bdb2dac6b338203d51396307dfce23f03defb3b5e5572/livekit_blingfire-1.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:c91b2315e0497383384304d33554d70b8a63dec5ad96cd43437c67f4172077cf", size = 141072, upload-time = "2025-12-16T00:48:33.423Z" }, -] - -[[package]] -name = "livekit-example-transcriber" -version = "0.1.0" -source = { virtual = "." } -dependencies = [ - { name = "livekit-agents", extra = ["gladia"] }, - { name = "pyjwt" }, -] - -[package.metadata] -requires-dist = [ - { name = "livekit-agents", extras = ["gladia"], specifier = ">=1.5.17" }, - { name = "pyjwt", specifier = ">=2.13.0" }, -] - -[[package]] -name = "livekit-plugins-gladia" -version = "1.5.17" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohttp" }, - { name = "livekit-agents", extra = ["codecs"] }, - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7b/0d/8acc2b0ee288ff21b6b90869d0e02a338a6b16d5188ac2cbf0ead5fed426/livekit_plugins_gladia-1.5.17.tar.gz", hash = "sha256:46e593d469a0c4cebe691602846904879dcaa8f7bb41278654cc6b78ec5ebed1", size = 14777, upload-time = "2026-06-03T01:37:22.077Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/73/36/c63c499571dee4822470017e608309a9e00e9e25e740e00016555cca8177/livekit_plugins_gladia-1.5.17-py3-none-any.whl", hash = "sha256:c68dfd2623b713a29ce826ceb6640f5027c81e07b24a1a1825cbfc591b18aa5c", size = 15425, upload-time = "2026-06-03T01:37:20.844Z" }, -] - -[[package]] -name = "livekit-protocol" -version = "1.1.14" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "protobuf" }, - { name = "types-protobuf" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/57/71/5ac9421e3730dc894bb5d6f0e1377ff28a2970d257da241bd242c4a746e0/livekit_protocol-1.1.14.tar.gz", hash = "sha256:797fe0a7e0e7376654fe69c230a3a9f19c98afde006dd88138e3690cfe193d44", size = 112539, upload-time = "2026-06-08T02:56:18.418Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/3f/531bd69dd26c9af8716801ba8d0fa70cefb47f8d4583e5ff4073a26cd045/livekit_protocol-1.1.14-py3-none-any.whl", hash = "sha256:2ecc18d29f17b06001b2b49be1315ddbffecfe06f42b3f51b0b449c8fe5d6c96", size = 138509, upload-time = "2026-06-08T02:56:16.951Z" }, -] - -[[package]] -name = "markdown-it-py" -version = "4.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mdurl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, -] - -[[package]] -name = "mdurl" -version = "0.1.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, -] - -[[package]] -name = "multidict" -version = "6.6.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", size = 101843, upload-time = "2025-08-11T12:08:48.217Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", size = 75848, upload-time = "2025-08-11T12:07:19.912Z" }, - { url = "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", size = 45060, upload-time = "2025-08-11T12:07:21.163Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", size = 43269, upload-time = "2025-08-11T12:07:22.392Z" }, - { url = "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", size = 237158, upload-time = "2025-08-11T12:07:23.636Z" }, - { url = "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", size = 257076, upload-time = "2025-08-11T12:07:25.049Z" }, - { url = "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", size = 240694, upload-time = "2025-08-11T12:07:26.458Z" }, - { url = "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", size = 266350, upload-time = "2025-08-11T12:07:27.94Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", size = 267250, upload-time = "2025-08-11T12:07:29.303Z" }, - { url = "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", size = 254900, upload-time = "2025-08-11T12:07:30.764Z" }, - { url = "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", size = 252355, upload-time = "2025-08-11T12:07:32.205Z" }, - { url = "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", size = 250061, upload-time = "2025-08-11T12:07:33.623Z" }, - { url = "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", size = 249675, upload-time = "2025-08-11T12:07:34.958Z" }, - { url = "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", size = 261247, upload-time = "2025-08-11T12:07:36.588Z" }, - { url = "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", size = 257960, upload-time = "2025-08-11T12:07:39.735Z" }, - { url = "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", size = 250078, upload-time = "2025-08-11T12:07:41.525Z" }, - { url = "https://files.pythonhosted.org/packages/c4/0e/7e79d38f70a872cae32e29b0d77024bef7834b0afb406ddae6558d9e2414/multidict-6.6.4-cp313-cp313-win32.whl", hash = "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69", size = 41708, upload-time = "2025-08-11T12:07:43.405Z" }, - { url = "https://files.pythonhosted.org/packages/9d/34/746696dffff742e97cd6a23da953e55d0ea51fa601fa2ff387b3edcfaa2c/multidict-6.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf", size = 45912, upload-time = "2025-08-11T12:07:45.082Z" }, - { url = "https://files.pythonhosted.org/packages/c7/87/3bac136181e271e29170d8d71929cdeddeb77f3e8b6a0c08da3a8e9da114/multidict-6.6.4-cp313-cp313-win_arm64.whl", hash = "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605", size = 43076, upload-time = "2025-08-11T12:07:46.746Z" }, - { url = "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", size = 82812, upload-time = "2025-08-11T12:07:48.402Z" }, - { url = "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", size = 48313, upload-time = "2025-08-11T12:07:49.679Z" }, - { url = "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", size = 46777, upload-time = "2025-08-11T12:07:51.318Z" }, - { url = "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", size = 229321, upload-time = "2025-08-11T12:07:52.965Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", size = 249954, upload-time = "2025-08-11T12:07:54.423Z" }, - { url = "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", size = 228612, upload-time = "2025-08-11T12:07:55.914Z" }, - { url = "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", size = 257528, upload-time = "2025-08-11T12:07:57.371Z" }, - { url = "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", size = 256329, upload-time = "2025-08-11T12:07:58.844Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", size = 247928, upload-time = "2025-08-11T12:08:01.037Z" }, - { url = "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", size = 245228, upload-time = "2025-08-11T12:08:02.96Z" }, - { url = "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", size = 235869, upload-time = "2025-08-11T12:08:04.746Z" }, - { url = "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", size = 243446, upload-time = "2025-08-11T12:08:06.332Z" }, - { url = "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", size = 252299, upload-time = "2025-08-11T12:08:07.931Z" }, - { url = "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", size = 246926, upload-time = "2025-08-11T12:08:09.467Z" }, - { url = "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", size = 243383, upload-time = "2025-08-11T12:08:10.981Z" }, - { url = "https://files.pythonhosted.org/packages/50/b0/a6fae46071b645ae98786ab738447de1ef53742eaad949f27e960864bb49/multidict-6.6.4-cp313-cp313t-win32.whl", hash = "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e", size = 47775, upload-time = "2025-08-11T12:08:12.439Z" }, - { url = "https://files.pythonhosted.org/packages/b2/0a/2436550b1520091af0600dff547913cb2d66fbac27a8c33bc1b1bccd8d98/multidict-6.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4", size = 53100, upload-time = "2025-08-11T12:08:13.823Z" }, - { url = "https://files.pythonhosted.org/packages/97/ea/43ac51faff934086db9c072a94d327d71b7d8b40cd5dcb47311330929ef0/multidict-6.6.4-cp313-cp313t-win_arm64.whl", hash = "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad", size = 45501, upload-time = "2025-08-11T12:08:15.173Z" }, - { url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" }, -] - -[[package]] -name = "nest-asyncio" -version = "1.6.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, -] - -[[package]] -name = "numpy" -version = "2.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074, upload-time = "2025-07-24T20:43:07.813Z" }, - { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311, upload-time = "2025-07-24T20:43:29.335Z" }, - { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022, upload-time = "2025-07-24T20:43:37.999Z" }, - { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135, upload-time = "2025-07-24T20:43:49.28Z" }, - { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147, upload-time = "2025-07-24T20:44:10.328Z" }, - { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989, upload-time = "2025-07-24T20:44:34.88Z" }, - { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052, upload-time = "2025-07-24T20:44:58.872Z" }, - { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955, upload-time = "2025-07-24T20:45:26.714Z" }, - { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843, upload-time = "2025-07-24T20:49:24.444Z" }, - { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876, upload-time = "2025-07-24T20:49:43.227Z" }, - { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786, upload-time = "2025-07-24T20:49:59.443Z" }, - { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395, upload-time = "2025-07-24T20:45:58.821Z" }, - { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374, upload-time = "2025-07-24T20:46:20.207Z" }, - { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864, upload-time = "2025-07-24T20:46:30.58Z" }, - { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533, upload-time = "2025-07-24T20:46:46.111Z" }, - { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007, upload-time = "2025-07-24T20:47:07.1Z" }, - { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914, upload-time = "2025-07-24T20:47:32.459Z" }, - { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708, upload-time = "2025-07-24T20:47:58.129Z" }, - { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678, upload-time = "2025-07-24T20:48:25.402Z" }, - { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832, upload-time = "2025-07-24T20:48:37.181Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" }, - { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" }, - { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" }, - { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" }, - { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" }, - { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" }, - { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" }, - { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" }, - { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" }, - { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" }, - { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" }, - { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" }, - { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" }, - { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" }, - { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" }, - { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" }, - { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" }, - { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" }, - { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" }, - { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" }, - { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" }, - { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" }, - { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" }, -] - -[[package]] -name = "openai" -version = "2.32.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tqdm" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/59/bdcc6b759b8c42dd73afaf5bf8f902c04b37987a5514dbc1c64dba390fef/openai-2.32.0.tar.gz", hash = "sha256:c54b27a9e4cb8d51f0dd94972ffd1a04437efeb259a9e60d8922b8bd26fe55e0", size = 693286, upload-time = "2026-04-15T22:28:19.434Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/c1/d6e64ccd0536bf616556f0cad2b6d94a8125f508d25cfd814b1d2db4e2f1/openai-2.32.0-py3-none-any.whl", hash = "sha256:4dcc9badeb4bf54ad0d187453742f290226d30150890b7890711bda4f32f192f", size = 1162570, upload-time = "2026-04-15T22:28:17.714Z" }, -] - -[[package]] -name = "opentelemetry-api" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "importlib-metadata" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/97/b9/3161be15bb8e3ad01be8be5a968a9237c3027c5be504362ff800fca3e442/opentelemetry_api-1.39.1.tar.gz", hash = "sha256:fbde8c80e1b937a2c61f20347e91c0c18a1940cecf012d62e65a7caf08967c9c", size = 65767, upload-time = "2025-12-11T13:32:39.182Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/df/d3f1ddf4bb4cb50ed9b1139cc7b1c54c34a1e7ce8fd1b9a37c0d1551a6bd/opentelemetry_api-1.39.1-py3-none-any.whl", hash = "sha256:2edd8463432a7f8443edce90972169b195e7d6a05500cd29e6d13898187c9950", size = 66356, upload-time = "2025-12-11T13:32:17.304Z" }, -] - -[[package]] -name = "opentelemetry-exporter-otlp" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "opentelemetry-exporter-otlp-proto-grpc" }, - { name = "opentelemetry-exporter-otlp-proto-http" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/30/9c/3ab1db90f32da200dba332658f2bbe602369e3d19f6aba394031a42635be/opentelemetry_exporter_otlp-1.39.1.tar.gz", hash = "sha256:7cf7470e9fd0060c8a38a23e4f695ac686c06a48ad97f8d4867bc9b420180b9c", size = 6147, upload-time = "2025-12-11T13:32:40.309Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/00/6c/bdc82a066e6fb1dcf9e8cc8d4e026358fe0f8690700cc6369a6bf9bd17a7/opentelemetry_exporter_otlp-1.39.1-py3-none-any.whl", hash = "sha256:68ae69775291f04f000eb4b698ff16ff685fdebe5cb52871bc4e87938a7b00fe", size = 7019, upload-time = "2025-12-11T13:32:19.387Z" }, -] - -[[package]] -name = "opentelemetry-exporter-otlp-proto-common" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "opentelemetry-proto" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e9/9d/22d241b66f7bbde88a3bfa6847a351d2c46b84de23e71222c6aae25c7050/opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz", hash = "sha256:763370d4737a59741c89a67b50f9e39271639ee4afc999dadfe768541c027464", size = 20409, upload-time = "2025-12-11T13:32:40.885Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/02/ffc3e143d89a27ac21fd557365b98bd0653b98de8a101151d5805b5d4c33/opentelemetry_exporter_otlp_proto_common-1.39.1-py3-none-any.whl", hash = "sha256:08f8a5862d64cc3435105686d0216c1365dc5701f86844a8cd56597d0c764fde", size = 18366, upload-time = "2025-12-11T13:32:20.2Z" }, -] - -[[package]] -name = "opentelemetry-exporter-otlp-proto-grpc" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "googleapis-common-protos" }, - { name = "grpcio" }, - { name = "opentelemetry-api" }, - { name = "opentelemetry-exporter-otlp-proto-common" }, - { name = "opentelemetry-proto" }, - { name = "opentelemetry-sdk" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/53/48/b329fed2c610c2c32c9366d9dc597202c9d1e58e631c137ba15248d8850f/opentelemetry_exporter_otlp_proto_grpc-1.39.1.tar.gz", hash = "sha256:772eb1c9287485d625e4dbe9c879898e5253fea111d9181140f51291b5fec3ad", size = 24650, upload-time = "2025-12-11T13:32:41.429Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/81/a3/cc9b66575bd6597b98b886a2067eea2693408d2d5f39dad9ab7fc264f5f3/opentelemetry_exporter_otlp_proto_grpc-1.39.1-py3-none-any.whl", hash = "sha256:fa1c136a05c7e9b4c09f739469cbdb927ea20b34088ab1d959a849b5cc589c18", size = 19766, upload-time = "2025-12-11T13:32:21.027Z" }, -] - -[[package]] -name = "opentelemetry-exporter-otlp-proto-http" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "googleapis-common-protos" }, - { name = "opentelemetry-api" }, - { name = "opentelemetry-exporter-otlp-proto-common" }, - { name = "opentelemetry-proto" }, - { name = "opentelemetry-sdk" }, - { name = "requests" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/80/04/2a08fa9c0214ae38880df01e8bfae12b067ec0793446578575e5080d6545/opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz", hash = "sha256:31bdab9745c709ce90a49a0624c2bd445d31a28ba34275951a6a362d16a0b9cb", size = 17288, upload-time = "2025-12-11T13:32:42.029Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/f1/b27d3e2e003cd9a3592c43d099d2ed8d0a947c15281bf8463a256db0b46c/opentelemetry_exporter_otlp_proto_http-1.39.1-py3-none-any.whl", hash = "sha256:d9f5207183dd752a412c4cd564ca8875ececba13be6e9c6c370ffb752fd59985", size = 19641, upload-time = "2025-12-11T13:32:22.248Z" }, -] - -[[package]] -name = "opentelemetry-proto" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "protobuf" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/49/1d/f25d76d8260c156c40c97c9ed4511ec0f9ce353f8108ca6e7561f82a06b2/opentelemetry_proto-1.39.1.tar.gz", hash = "sha256:6c8e05144fc0d3ed4d22c2289c6b126e03bcd0e6a7da0f16cedd2e1c2772e2c8", size = 46152, upload-time = "2025-12-11T13:32:48.681Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/51/95/b40c96a7b5203005a0b03d8ce8cd212ff23f1793d5ba289c87a097571b18/opentelemetry_proto-1.39.1-py3-none-any.whl", hash = "sha256:22cdc78efd3b3765d09e68bfbd010d4fc254c9818afd0b6b423387d9dee46007", size = 72535, upload-time = "2025-12-11T13:32:33.866Z" }, -] - -[[package]] -name = "opentelemetry-sdk" -version = "1.39.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "opentelemetry-api" }, - { name = "opentelemetry-semantic-conventions" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/eb/fb/c76080c9ba07e1e8235d24cdcc4d125ef7aa3edf23eb4e497c2e50889adc/opentelemetry_sdk-1.39.1.tar.gz", hash = "sha256:cf4d4563caf7bff906c9f7967e2be22d0d6b349b908be0d90fb21c8e9c995cc6", size = 171460, upload-time = "2025-12-11T13:32:49.369Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/98/e91cf858f203d86f4eccdf763dcf01cf03f1dae80c3750f7e635bfa206b6/opentelemetry_sdk-1.39.1-py3-none-any.whl", hash = "sha256:4d5482c478513ecb0a5d938dcc61394e647066e0cc2676bee9f3af3f3f45f01c", size = 132565, upload-time = "2025-12-11T13:32:35.069Z" }, -] - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.60b1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "opentelemetry-api" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/91/df/553f93ed38bf22f4b999d9be9c185adb558982214f33eae539d3b5cd0858/opentelemetry_semantic_conventions-0.60b1.tar.gz", hash = "sha256:87c228b5a0669b748c76d76df6c364c369c28f1c465e50f661e39737e84bc953", size = 137935, upload-time = "2025-12-11T13:32:50.487Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7a/5e/5958555e09635d09b75de3c4f8b9cae7335ca545d77392ffe7331534c402/opentelemetry_semantic_conventions-0.60b1-py3-none-any.whl", hash = "sha256:9fa8c8b0c110da289809292b0591220d3a7b53c1526a23021e977d68597893fb", size = 219982, upload-time = "2025-12-11T13:32:36.955Z" }, -] - -[[package]] -name = "prometheus-client" -version = "0.22.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5e/cf/40dde0a2be27cc1eb41e333d1a674a74ce8b8b0457269cc640fd42b07cf7/prometheus_client-0.22.1.tar.gz", hash = "sha256:190f1331e783cf21eb60bca559354e0a4d4378facecf78f5428c39b675d20d28", size = 69746, upload-time = "2025-06-02T14:29:01.152Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/32/ae/ec06af4fe3ee72d16973474f122541746196aaa16cea6f66d18b963c6177/prometheus_client-0.22.1-py3-none-any.whl", hash = "sha256:cca895342e308174341b2cbf99a56bef291fbc0ef7b9e5412a0f26d653ba7094", size = 58694, upload-time = "2025-06-02T14:29:00.068Z" }, -] - -[[package]] -name = "propcache" -version = "0.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, - { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, - { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, - { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, - { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, - { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, - { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, - { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, - { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, - { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, - { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, - { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, -] - -[[package]] -name = "protobuf" -version = "6.33.5" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz", hash = "sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c", size = 444465, upload-time = "2026-01-29T21:51:33.494Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/79/af92d0a8369732b027e6d6084251dd8e782c685c72da161bd4a2e00fbabb/protobuf-6.33.5-cp310-abi3-win32.whl", hash = "sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b", size = 425769, upload-time = "2026-01-29T21:51:21.751Z" }, - { url = "https://files.pythonhosted.org/packages/55/75/bb9bc917d10e9ee13dee8607eb9ab963b7cf8be607c46e7862c748aa2af7/protobuf-6.33.5-cp310-abi3-win_amd64.whl", hash = "sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c", size = 437118, upload-time = "2026-01-29T21:51:24.022Z" }, - { url = "https://files.pythonhosted.org/packages/a2/6b/e48dfc1191bc5b52950246275bf4089773e91cb5ba3592621723cdddca62/protobuf-6.33.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5", size = 427766, upload-time = "2026-01-29T21:51:25.413Z" }, - { url = "https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190", size = 324638, upload-time = "2026-01-29T21:51:26.423Z" }, - { url = "https://files.pythonhosted.org/packages/c5/f5/65d838092fd01c44d16037953fd4c2cc851e783de9b8f02b27ec4ffd906f/protobuf-6.33.5-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd", size = 339411, upload-time = "2026-01-29T21:51:27.446Z" }, - { url = "https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0", size = 323465, upload-time = "2026-01-29T21:51:28.925Z" }, - { url = "https://files.pythonhosted.org/packages/57/bf/2086963c69bdac3d7cff1cc7ff79b8ce5ea0bec6797a017e1be338a46248/protobuf-6.33.5-py3-none-any.whl", hash = "sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02", size = 170687, upload-time = "2026-01-29T21:51:32.557Z" }, -] - -[[package]] -name = "psutil" -version = "7.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" }, - { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" }, - { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" }, - { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" }, - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, -] - -[[package]] -name = "pycparser" -version = "2.22" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, -] - -[[package]] -name = "pydantic" -version = "2.11.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, -] - -[[package]] -name = "pydantic-core" -version = "2.33.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, - { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, - { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, - { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, - { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, - { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, - { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, - { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, - { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, - { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, - { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, - { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, - { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, - { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, - { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, -] - -[[package]] -name = "pygments" -version = "2.20.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, -] - -[[package]] -name = "pyjwt" -version = "2.13.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, -] - -[[package]] -name = "requests" -version = "2.33.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "certifi" }, - { name = "charset-normalizer" }, - { name = "idna" }, - { name = "urllib3" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/34/64/8860370b167a9721e8956ae116825caff829224fbca0ca6e7bf8ddef8430/requests-2.33.0.tar.gz", hash = "sha256:c7ebc5e8b0f21837386ad0e1c8fe8b829fa5f544d8df3b2253bff14ef29d7652", size = 134232, upload-time = "2026-03-25T15:10:41.586Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/56/5d/c814546c2333ceea4ba42262d8c4d55763003e767fa169adc693bd524478/requests-2.33.0-py3-none-any.whl", hash = "sha256:3324635456fa185245e24865e810cecec7b4caf933d7eb133dcde67d48cee69b", size = 65017, upload-time = "2026-03-25T15:10:40.382Z" }, -] - -[[package]] -name = "rich" -version = "15.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markdown-it-py" }, - { name = "pygments" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, -] - -[[package]] -name = "shellingham" -version = "1.5.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, -] - -[[package]] -name = "sounddevice" -version = "0.5.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/91/a6/91e9f08ed37c7c9f56b5227c6aea7f2ae63ba2d59520eefb24e82cbdd589/sounddevice-0.5.2.tar.gz", hash = "sha256:c634d51bd4e922d6f0fa5e1a975cc897c947f61d31da9f79ba7ea34dff448b49", size = 53150, upload-time = "2025-05-16T18:12:27.339Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/75/2d/582738fc01352a5bc20acac9221e58538365cecb3bb264838f66419df219/sounddevice-0.5.2-py3-none-any.whl", hash = "sha256:82375859fac2e73295a4ab3fc60bd4782743157adc339561c1f1142af472f505", size = 32450, upload-time = "2025-05-16T18:12:21.919Z" }, - { url = "https://files.pythonhosted.org/packages/3f/6f/e3dd751face4fcb5be25e8abba22f25d8e6457ebd7e9ed79068b768dc0e5/sounddevice-0.5.2-py3-none-macosx_10_6_x86_64.macosx_10_6_universal2.whl", hash = "sha256:943f27e66037d41435bdd0293454072cdf657b594c9cde63cd01ee3daaac7ab3", size = 108088, upload-time = "2025-05-16T18:12:23.146Z" }, - { url = "https://files.pythonhosted.org/packages/45/0b/bfad79af0b380aa7c0bfe73e4b03e0af45354a48ad62549489bd7696c5b0/sounddevice-0.5.2-py3-none-win32.whl", hash = "sha256:3a113ce614a2c557f14737cb20123ae6298c91fc9301eb014ada0cba6d248c5f", size = 312665, upload-time = "2025-05-16T18:12:24.726Z" }, - { url = "https://files.pythonhosted.org/packages/e1/3e/61d88e6b0a7383127cdc779195cb9d83ebcf11d39bc961de5777e457075e/sounddevice-0.5.2-py3-none-win_amd64.whl", hash = "sha256:e18944b767d2dac3771a7771bdd7ff7d3acd7d334e72c4bedab17d1aed5dbc22", size = 363808, upload-time = "2025-05-16T18:12:26Z" }, -] - -[[package]] -name = "tqdm" -version = "4.67.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" }, -] - -[[package]] -name = "typer" -version = "0.25.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "annotated-doc" }, - { name = "click" }, - { name = "rich" }, - { name = "shellingham" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7b/27/ede8cec7596e0041ba7e7b80b47d132562f56ff454313a16f6084e555c9f/typer-0.25.0.tar.gz", hash = "sha256:123eaf9f19bb40fd268310e12a542c0c6b4fab9c98d9d23342a01ff95e3ce930", size = 120150, upload-time = "2026-04-26T08:46:14.767Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/72/193d4e586ec5a4db834a36bbeb47641a62f951f114ffd0fe5b1b46e8d56f/typer-0.25.0-py3-none-any.whl", hash = "sha256:ac01b48823d3db9a83c9e164338057eadbb1c9957a2a6b4eeb486669c560b5dc", size = 55993, upload-time = "2026-04-26T08:46:15.889Z" }, -] - -[[package]] -name = "types-protobuf" -version = "4.25.0.20240417" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/21/757620113af23233496c04b8a66e0201e78695495b1db8e676672608588b/types-protobuf-4.25.0.20240417.tar.gz", hash = "sha256:c34eff17b9b3a0adb6830622f0f302484e4c089f533a46e3f147568313544352", size = 53340, upload-time = "2024-04-17T02:17:05.755Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/78/6f0351f80a682c4005775c7e1fd2b17235b88d87c85ef59214bd1f60ff60/types_protobuf-4.25.0.20240417-py3-none-any.whl", hash = "sha256:e9b613227c2127e3d4881d75d93c93b4d6fd97b5f6a099a0b654a05351c8685d", size = 67896, upload-time = "2024-04-17T02:17:04.205Z" }, -] - -[[package]] -name = "typing-extensions" -version = "4.14.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, -] - -[[package]] -name = "typing-inspection" -version = "0.4.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, -] - -[[package]] -name = "urllib3" -version = "2.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, -] - -[[package]] -name = "watchfiles" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz", hash = "sha256:693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575", size = 94406, upload-time = "2025-06-15T19:06:59.42Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/42/fae874df96595556a9089ade83be34a2e04f0f11eb53a8dbf8a8a5e562b4/watchfiles-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5007f860c7f1f8df471e4e04aaa8c43673429047d63205d1630880f7637bca30", size = 402004, upload-time = "2025-06-15T19:05:38.499Z" }, - { url = "https://files.pythonhosted.org/packages/fa/55/a77e533e59c3003d9803c09c44c3651224067cbe7fb5d574ddbaa31e11ca/watchfiles-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20ecc8abbd957046f1fe9562757903f5eaf57c3bce70929fda6c7711bb58074a", size = 393671, upload-time = "2025-06-15T19:05:39.52Z" }, - { url = "https://files.pythonhosted.org/packages/05/68/b0afb3f79c8e832e6571022611adbdc36e35a44e14f129ba09709aa4bb7a/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2f0498b7d2a3c072766dba3274fe22a183dbea1f99d188f1c6c72209a1063dc", size = 449772, upload-time = "2025-06-15T19:05:40.897Z" }, - { url = "https://files.pythonhosted.org/packages/ff/05/46dd1f6879bc40e1e74c6c39a1b9ab9e790bf1f5a2fe6c08b463d9a807f4/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:239736577e848678e13b201bba14e89718f5c2133dfd6b1f7846fa1b58a8532b", size = 456789, upload-time = "2025-06-15T19:05:42.045Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ca/0eeb2c06227ca7f12e50a47a3679df0cd1ba487ea19cf844a905920f8e95/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eff4b8d89f444f7e49136dc695599a591ff769300734446c0a86cba2eb2f9895", size = 482551, upload-time = "2025-06-15T19:05:43.781Z" }, - { url = "https://files.pythonhosted.org/packages/31/47/2cecbd8694095647406645f822781008cc524320466ea393f55fe70eed3b/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b0a02a91762c08f7264e2e79542f76870c3040bbc847fb67410ab81474932a", size = 597420, upload-time = "2025-06-15T19:05:45.244Z" }, - { url = "https://files.pythonhosted.org/packages/d9/7e/82abc4240e0806846548559d70f0b1a6dfdca75c1b4f9fa62b504ae9b083/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29e7bc2eee15cbb339c68445959108803dc14ee0c7b4eea556400131a8de462b", size = 477950, upload-time = "2025-06-15T19:05:46.332Z" }, - { url = "https://files.pythonhosted.org/packages/25/0d/4d564798a49bf5482a4fa9416dea6b6c0733a3b5700cb8a5a503c4b15853/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9481174d3ed982e269c090f780122fb59cee6c3796f74efe74e70f7780ed94c", size = 451706, upload-time = "2025-06-15T19:05:47.459Z" }, - { url = "https://files.pythonhosted.org/packages/81/b5/5516cf46b033192d544102ea07c65b6f770f10ed1d0a6d388f5d3874f6e4/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:80f811146831c8c86ab17b640801c25dc0a88c630e855e2bef3568f30434d52b", size = 625814, upload-time = "2025-06-15T19:05:48.654Z" }, - { url = "https://files.pythonhosted.org/packages/0c/dd/7c1331f902f30669ac3e754680b6edb9a0dd06dea5438e61128111fadd2c/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:60022527e71d1d1fda67a33150ee42869042bce3d0fcc9cc49be009a9cded3fb", size = 622820, upload-time = "2025-06-15T19:05:50.088Z" }, - { url = "https://files.pythonhosted.org/packages/1b/14/36d7a8e27cd128d7b1009e7715a7c02f6c131be9d4ce1e5c3b73d0e342d8/watchfiles-1.1.0-cp313-cp313-win32.whl", hash = "sha256:32d6d4e583593cb8576e129879ea0991660b935177c0f93c6681359b3654bfa9", size = 279194, upload-time = "2025-06-15T19:05:51.186Z" }, - { url = "https://files.pythonhosted.org/packages/25/41/2dd88054b849aa546dbeef5696019c58f8e0774f4d1c42123273304cdb2e/watchfiles-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:f21af781a4a6fbad54f03c598ab620e3a77032c5878f3d780448421a6e1818c7", size = 292349, upload-time = "2025-06-15T19:05:52.201Z" }, - { url = "https://files.pythonhosted.org/packages/c8/cf/421d659de88285eb13941cf11a81f875c176f76a6d99342599be88e08d03/watchfiles-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:5366164391873ed76bfdf618818c82084c9db7fac82b64a20c44d335eec9ced5", size = 283836, upload-time = "2025-06-15T19:05:53.265Z" }, - { url = "https://files.pythonhosted.org/packages/45/10/6faf6858d527e3599cc50ec9fcae73590fbddc1420bd4fdccfebffeedbc6/watchfiles-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:17ab167cca6339c2b830b744eaf10803d2a5b6683be4d79d8475d88b4a8a4be1", size = 400343, upload-time = "2025-06-15T19:05:54.252Z" }, - { url = "https://files.pythonhosted.org/packages/03/20/5cb7d3966f5e8c718006d0e97dfe379a82f16fecd3caa7810f634412047a/watchfiles-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:328dbc9bff7205c215a7807da7c18dce37da7da718e798356212d22696404339", size = 392916, upload-time = "2025-06-15T19:05:55.264Z" }, - { url = "https://files.pythonhosted.org/packages/8c/07/d8f1176328fa9e9581b6f120b017e286d2a2d22ae3f554efd9515c8e1b49/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7208ab6e009c627b7557ce55c465c98967e8caa8b11833531fdf95799372633", size = 449582, upload-time = "2025-06-15T19:05:56.317Z" }, - { url = "https://files.pythonhosted.org/packages/66/e8/80a14a453cf6038e81d072a86c05276692a1826471fef91df7537dba8b46/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8f6f72974a19efead54195bc9bed4d850fc047bb7aa971268fd9a8387c89011", size = 456752, upload-time = "2025-06-15T19:05:57.359Z" }, - { url = "https://files.pythonhosted.org/packages/5a/25/0853b3fe0e3c2f5af9ea60eb2e781eade939760239a72c2d38fc4cc335f6/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d181ef50923c29cf0450c3cd47e2f0557b62218c50b2ab8ce2ecaa02bd97e670", size = 481436, upload-time = "2025-06-15T19:05:58.447Z" }, - { url = "https://files.pythonhosted.org/packages/fe/9e/4af0056c258b861fbb29dcb36258de1e2b857be4a9509e6298abcf31e5c9/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb4167043d3a78280d5d05ce0ba22055c266cf8655ce942f2fb881262ff3cdf", size = 596016, upload-time = "2025-06-15T19:05:59.59Z" }, - { url = "https://files.pythonhosted.org/packages/c5/fa/95d604b58aa375e781daf350897aaaa089cff59d84147e9ccff2447c8294/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5701dc474b041e2934a26d31d39f90fac8a3dee2322b39f7729867f932b1d4", size = 476727, upload-time = "2025-06-15T19:06:01.086Z" }, - { url = "https://files.pythonhosted.org/packages/65/95/fe479b2664f19be4cf5ceeb21be05afd491d95f142e72d26a42f41b7c4f8/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b067915e3c3936966a8607f6fe5487df0c9c4afb85226613b520890049deea20", size = 451864, upload-time = "2025-06-15T19:06:02.144Z" }, - { url = "https://files.pythonhosted.org/packages/d3/8a/3c4af14b93a15ce55901cd7a92e1a4701910f1768c78fb30f61d2b79785b/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:9c733cda03b6d636b4219625a4acb5c6ffb10803338e437fb614fef9516825ef", size = 625626, upload-time = "2025-06-15T19:06:03.578Z" }, - { url = "https://files.pythonhosted.org/packages/da/f5/cf6aa047d4d9e128f4b7cde615236a915673775ef171ff85971d698f3c2c/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:cc08ef8b90d78bfac66f0def80240b0197008e4852c9f285907377b2947ffdcb", size = 622744, upload-time = "2025-06-15T19:06:05.066Z" }, - { url = "https://files.pythonhosted.org/packages/2c/00/70f75c47f05dea6fd30df90f047765f6fc2d6eb8b5a3921379b0b04defa2/watchfiles-1.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:9974d2f7dc561cce3bb88dfa8eb309dab64c729de85fba32e98d75cf24b66297", size = 402114, upload-time = "2025-06-15T19:06:06.186Z" }, - { url = "https://files.pythonhosted.org/packages/53/03/acd69c48db4a1ed1de26b349d94077cca2238ff98fd64393f3e97484cae6/watchfiles-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c68e9f1fcb4d43798ad8814c4c1b61547b014b667216cb754e606bfade587018", size = 393879, upload-time = "2025-06-15T19:06:07.369Z" }, - { url = "https://files.pythonhosted.org/packages/2f/c8/a9a2a6f9c8baa4eceae5887fecd421e1b7ce86802bcfc8b6a942e2add834/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95ab1594377effac17110e1352989bdd7bdfca9ff0e5eeccd8c69c5389b826d0", size = 450026, upload-time = "2025-06-15T19:06:08.476Z" }, - { url = "https://files.pythonhosted.org/packages/fe/51/d572260d98388e6e2b967425c985e07d47ee6f62e6455cefb46a6e06eda5/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba9b62da882c1be1280a7584ec4515d0a6006a94d6e5819730ec2eab60ffe12", size = 457917, upload-time = "2025-06-15T19:06:09.988Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2d/4258e52917bf9f12909b6ec314ff9636276f3542f9d3807d143f27309104/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3434e401f3ce0ed6b42569128b3d1e3af773d7ec18751b918b89cd49c14eaafb", size = 483602, upload-time = "2025-06-15T19:06:11.088Z" }, - { url = "https://files.pythonhosted.org/packages/84/99/bee17a5f341a4345fe7b7972a475809af9e528deba056f8963d61ea49f75/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa257a4d0d21fcbca5b5fcba9dca5a78011cb93c0323fb8855c6d2dfbc76eb77", size = 596758, upload-time = "2025-06-15T19:06:12.197Z" }, - { url = "https://files.pythonhosted.org/packages/40/76/e4bec1d59b25b89d2b0716b41b461ed655a9a53c60dc78ad5771fda5b3e6/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd1b3879a578a8ec2076c7961076df540b9af317123f84569f5a9ddee64ce92", size = 477601, upload-time = "2025-06-15T19:06:13.391Z" }, - { url = "https://files.pythonhosted.org/packages/1f/fa/a514292956f4a9ce3c567ec0c13cce427c158e9f272062685a8a727d08fc/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc7a30eeb0e20ecc5f4bd113cd69dcdb745a07c68c0370cea919f373f65d9e", size = 451936, upload-time = "2025-06-15T19:06:14.656Z" }, - { url = "https://files.pythonhosted.org/packages/32/5d/c3bf927ec3bbeb4566984eba8dd7a8eb69569400f5509904545576741f88/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:891c69e027748b4a73847335d208e374ce54ca3c335907d381fde4e41661b13b", size = 626243, upload-time = "2025-06-15T19:06:16.232Z" }, - { url = "https://files.pythonhosted.org/packages/e6/65/6e12c042f1a68c556802a84d54bb06d35577c81e29fba14019562479159c/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:12fe8eaffaf0faa7906895b4f8bb88264035b3f0243275e0bf24af0436b27259", size = 623073, upload-time = "2025-06-15T19:06:17.457Z" }, - { url = "https://files.pythonhosted.org/packages/89/ab/7f79d9bf57329e7cbb0a6fd4c7bd7d0cee1e4a8ef0041459f5409da3506c/watchfiles-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bfe3c517c283e484843cb2e357dd57ba009cff351edf45fb455b5fbd1f45b15f", size = 400872, upload-time = "2025-06-15T19:06:18.57Z" }, - { url = "https://files.pythonhosted.org/packages/df/d5/3f7bf9912798e9e6c516094db6b8932df53b223660c781ee37607030b6d3/watchfiles-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a9ccbf1f129480ed3044f540c0fdbc4ee556f7175e5ab40fe077ff6baf286d4e", size = 392877, upload-time = "2025-06-15T19:06:19.55Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c5/54ec7601a2798604e01c75294770dbee8150e81c6e471445d7601610b495/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba0e3255b0396cac3cc7bbace76404dd72b5438bf0d8e7cefa2f79a7f3649caa", size = 449645, upload-time = "2025-06-15T19:06:20.66Z" }, - { url = "https://files.pythonhosted.org/packages/0a/04/c2f44afc3b2fce21ca0b7802cbd37ed90a29874f96069ed30a36dfe57c2b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4281cd9fce9fc0a9dbf0fc1217f39bf9cf2b4d315d9626ef1d4e87b84699e7e8", size = 457424, upload-time = "2025-06-15T19:06:21.712Z" }, - { url = "https://files.pythonhosted.org/packages/9f/b0/eec32cb6c14d248095261a04f290636da3df3119d4040ef91a4a50b29fa5/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d2404af8db1329f9a3c9b79ff63e0ae7131986446901582067d9304ae8aaf7f", size = 481584, upload-time = "2025-06-15T19:06:22.777Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e2/ca4bb71c68a937d7145aa25709e4f5d68eb7698a25ce266e84b55d591bbd/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e78b6ed8165996013165eeabd875c5dfc19d41b54f94b40e9fff0eb3193e5e8e", size = 596675, upload-time = "2025-06-15T19:06:24.226Z" }, - { url = "https://files.pythonhosted.org/packages/a1/dd/b0e4b7fb5acf783816bc950180a6cd7c6c1d2cf7e9372c0ea634e722712b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:249590eb75ccc117f488e2fabd1bfa33c580e24b96f00658ad88e38844a040bb", size = 477363, upload-time = "2025-06-15T19:06:25.42Z" }, - { url = "https://files.pythonhosted.org/packages/69/c4/088825b75489cb5b6a761a4542645718893d395d8c530b38734f19da44d2/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05686b5487cfa2e2c28ff1aa370ea3e6c5accfe6435944ddea1e10d93872147", size = 452240, upload-time = "2025-06-15T19:06:26.552Z" }, - { url = "https://files.pythonhosted.org/packages/10/8c/22b074814970eeef43b7c44df98c3e9667c1f7bf5b83e0ff0201b0bd43f9/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d0e10e6f8f6dc5762adee7dece33b722282e1f59aa6a55da5d493a97282fedd8", size = 625607, upload-time = "2025-06-15T19:06:27.606Z" }, - { url = "https://files.pythonhosted.org/packages/32/fa/a4f5c2046385492b2273213ef815bf71a0d4c1943b784fb904e184e30201/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:af06c863f152005c7592df1d6a7009c836a247c9d8adb78fef8575a5a98699db", size = 623315, upload-time = "2025-06-15T19:06:29.076Z" }, -] - -[[package]] -name = "yarl" -version = "1.20.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "idna" }, - { name = "multidict" }, - { name = "propcache" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, - { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, - { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, - { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, - { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, - { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, - { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, - { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, - { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, - { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, - { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, - { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, - { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, - { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, - { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, - { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, - { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, - { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, - { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, - { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, - { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, - { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, - { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, - { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, -] - -[[package]] -name = "zipp" -version = "3.23.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, -] diff --git a/integrations-examples/pipecat-bot/.env.example b/integrations-examples/pipecat-bot/.env.example deleted file mode 100644 index b3456d1..0000000 --- a/integrations-examples/pipecat-bot/.env.example +++ /dev/null @@ -1 +0,0 @@ -GLADIA_API_KEY= diff --git a/integrations-examples/pipecat-bot/README.md b/integrations-examples/pipecat-bot/README.md deleted file mode 100644 index 23dbf85..0000000 --- a/integrations-examples/pipecat-bot/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# Pipecat Bot - -[Gladia](https://www.gladia.io) is available as a Speech-to-Text service for Pipecat. \ -This example demonstrates how to integrate [Gladia as an STT (Speech-to-Text)](https://docs.pipecat.ai/server/services/stt/gladia) service within a [Pipecat bot](https://docs.pipecat.ai/getting-started/introduction). - ---- - -## 🚀 Getting Started - -### Prerequisites - -- A valid [Gladia API key](https://docs.gladia.io/) -- [Python uv](https://docs.astral.sh/uv/getting-started/installation/) - -### Installation - -Clone the repository and install dependencies: - -```bash -git clone https://github.com/gladiaio/gladia-samples.git -cd gladia-samples/integrations-examples/pipecat-bot -uv sync -``` - -### Configuration - -Copy the `.env.example` file to `.env`: - -```bash -cp .env.example .env -``` - -Open the `.env` file in your text editor and add your API keys: - -```ini -GLADIA_API_KEY=your_gladia_api_key -``` - -## Usage - -Start the bot with: - -```bash -uv run --env-file=.env main.py -``` - -Open http://localhost:7860/client in your browser, and click on "Connect" in the upper-right corner. - -You will see a live transcription of what you say into your microphone. - -## Modification - -The main logic for running the bot is in the **main.py** file. To help you extend or customize the bot, Pipecat offers a [quickstart guide](https://github.com/pipecat-ai/pipecat/tree/main/examples/foundational#pipecat-foundational-examples) along with [more advanced examples](https://github.com/pipecat-ai/pipecat/tree/main/examples/foundational#pipecat-foundational-examples) that you can use as inspiration. diff --git a/integrations-examples/pipecat-bot/main.py b/integrations-examples/pipecat-bot/main.py deleted file mode 100644 index 5e3d71f..0000000 --- a/integrations-examples/pipecat-bot/main.py +++ /dev/null @@ -1,114 +0,0 @@ -import logging -import os - -from pipecat.frames.frames import Frame, TranscriptionFrame, InterimTranscriptionFrame -from pipecat.pipeline.pipeline import Pipeline -from pipecat.pipeline.runner import PipelineRunner -from pipecat.pipeline.task import PipelineParams, PipelineTask -from pipecat.processors.frame_processor import FrameDirection, FrameProcessor -from pipecat.processors.frameworks.rtvi import ( - RTVIConfig, - RTVIObserver, - RTVIProcessor, -) -from pipecat.runner.types import RunnerArguments -from pipecat.runner.utils import create_transport -from pipecat.services.gladia.config import GladiaInputParams, MessagesConfig -from pipecat.services.gladia.stt import GladiaSTTService -from pipecat.transports.base_transport import BaseTransport, TransportParams -from pipecat.audio.vad.silero import SileroVADAnalyzer - -logger = logging.getLogger("transcriber") - -transport_params = { - "webrtc": lambda: TransportParams( - audio_in_enabled=True, - audio_out_enabled=False, - vad_analyzer=SileroVADAnalyzer(), - ), -} - - -class TranscriptionLogger(FrameProcessor): - async def process_frame(self, frame: Frame, direction: FrameDirection): - await super().process_frame(frame, direction) - - if isinstance(frame, TranscriptionFrame): - print(f"Transcription: {frame.text}") - elif isinstance(frame, InterimTranscriptionFrame): - print(f"Partial transcription: {frame.text}") - - await self.push_frame(frame, direction) - - -async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): - logger.info(f"Starting bot {runner_args}") - - api_key = os.getenv("GLADIA_API_KEY") - if not api_key: - raise RuntimeError( - "GLADIA_API_KEY is not set. Please create a .env from .env.example and set it, or export it in your shell." - ) - - rtvi = RTVIProcessor(config=RTVIConfig(config=[])) - - stt = GladiaSTTService( - api_key=api_key, - params=GladiaInputParams( - messages_config=MessagesConfig( - receive_partial_transcripts=True, - ), - ), - ) - - tl = TranscriptionLogger() - - pipeline = Pipeline( - [ - transport.input(), - rtvi, - stt, - tl, - transport.output(), - ] - ) - - task = PipelineTask( - pipeline, - params=PipelineParams( - allow_interruptions=True, - enable_metrics=True, - enable_usage_metrics=True, - ), - observers=[RTVIObserver(rtvi)], - ) - - @transport.event_handler("on_client_connected") - async def on_client_connected(transport, client): - logger.info("Client connected") - - @transport.event_handler("on_client_disconnected") - async def on_client_disconnected(transport, client): - logger.info("Client disconnected") - await task.cancel() - - @rtvi.event_handler("on_client_ready") - async def on_client_ready(rtvi): - # Handle client ready state - await rtvi.set_bot_ready() - - runner = PipelineRunner(handle_sigint=runner_args.handle_sigint) - - await runner.run(task) - - -async def bot(runner_args: RunnerArguments): - """Main bot entry point for the bot starter.""" - transport = await create_transport(runner_args, transport_params) - await run_bot(transport, runner_args) - - -if __name__ == "__main__": - from pipecat.runner.run import main - - main() diff --git a/integrations-examples/pipecat-bot/pyproject.toml b/integrations-examples/pipecat-bot/pyproject.toml deleted file mode 100644 index e05dec9..0000000 --- a/integrations-examples/pipecat-bot/pyproject.toml +++ /dev/null @@ -1,9 +0,0 @@ -[project] -name = "pipecat-bot" -version = "0.1.0" -description = "Simple Gladia transcriber example using Pipecat" -readme = "README.md" -requires-python = ">=3.13" -dependencies = [ - "pipecat-ai[webrtc,gladia,runner,silero]>=1.4.0,<1.5.0", -] diff --git a/integrations-examples/pipecat-bot/uv.lock b/integrations-examples/pipecat-bot/uv.lock deleted file mode 100644 index 09ee34a..0000000 --- a/integrations-examples/pipecat-bot/uv.lock +++ /dev/null @@ -1,1798 +0,0 @@ -version = 1 -revision = 3 -requires-python = ">=3.13" -resolution-markers = [ - "sys_platform == 'darwin'", - "platform_machine == 'aarch64' and sys_platform == 'linux'", - "(platform_machine != 'aarch64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')", -] - -[[package]] -name = "aiofiles" -version = "24.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247, upload-time = "2024-06-24T11:02:03.584Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896, upload-time = "2024-06-24T11:02:01.529Z" }, -] - -[[package]] -name = "aiohappyeyeballs" -version = "2.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, -] - -[[package]] -name = "aiohttp" -version = "3.14.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohappyeyeballs" }, - { name = "aiosignal" }, - { name = "attrs" }, - { name = "frozenlist" }, - { name = "multidict" }, - { name = "propcache" }, - { name = "yarl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ee/ab/93ce242f899b68c51b0578c027aafa791ab3614cb9345fa5d37b5f5c8e3e/aiohttp-3.14.0.tar.gz", hash = "sha256:2882de819734c715fd1b9c11c97e09fa020d14438203d1d354d8ed1702791c9b", size = 7940674, upload-time = "2026-06-01T19:41:02.763Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/61/d11f7d9a3144bffe825247d6367cd93053666da50b94707c9129c78868d5/aiohttp-3.14.0-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:25400d710641a8040bf022a8a99f579e581ffa1c5bd42c33255d7d6f3957c127", size = 502399, upload-time = "2026-06-01T19:38:25.955Z" }, - { url = "https://files.pythonhosted.org/packages/4f/9b/a7e317625d36356844f8bb022cabd305b541f968856cc3c2e0b58e53ee6e/aiohttp-3.14.0-cp313-cp313-android_21_x86_64.whl", hash = "sha256:c5492b9929826e07cc3fcb9739ae87aab05dff6b5e67a9b73fd1700c6d008981", size = 510068, upload-time = "2026-06-01T19:38:27.828Z" }, - { url = "https://files.pythonhosted.org/packages/11/41/cc2d2cfbfbdc3126ba258f3cd27d1ac8a33492ae3c35a4583ee21f0ba7f1/aiohttp-3.14.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3366751d68d237c621264233a32f3078bbc21b7904ab90a77e03d21390c742c6", size = 481670, upload-time = "2026-06-01T19:38:29.836Z" }, - { url = "https://files.pythonhosted.org/packages/3c/07/381f4023c3b08cb616e520f566d8c58957abad54e56441d41fe67cfb0195/aiohttp-3.14.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:57ea07d28695a7a40304d42251892a8df765e5588c10ee32afeddcd5df33c0a2", size = 487591, upload-time = "2026-06-01T19:38:31.704Z" }, - { url = "https://files.pythonhosted.org/packages/fb/4d/4506fdb7a022bdf70011a3bbb4ca00c5c570026ef6a3c5bd7bc70c39089c/aiohttp-3.14.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:076cb014191ae2e65d949e1ad01f1dcfe33e32789b5172510f3e79c79fc04d50", size = 496503, upload-time = "2026-06-01T19:38:33.6Z" }, - { url = "https://files.pythonhosted.org/packages/ef/7d/c814111e04894a45d9e2defc94443879a6f118d9633d5fedfe6e2e8af5f0/aiohttp-3.14.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2f3fc37054564dee64a855b5b092d87ec35dcddfaabf7dacb1c8a2b1f83dc0a9", size = 745870, upload-time = "2026-06-01T19:38:36.013Z" }, - { url = "https://files.pythonhosted.org/packages/c6/ee/80eee0efddfe187e7cd05027086b7ce1c0e492e82a4eda58f5c5543a44a0/aiohttp-3.14.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8fcaef74d2ab0f607d7ff85a0d15e21bb5a258c4a58df1908396eb50d7f4ed3c", size = 505588, upload-time = "2026-06-01T19:38:38.282Z" }, - { url = "https://files.pythonhosted.org/packages/d6/f8/0f28f04eef75d52fc9c715dde7ce9c0abb810fd20cfeb0fea7afd2ab1e98/aiohttp-3.14.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e4c01b0bfc6209590960e68eac083cd22d5d87c21f974dd6208cafa5d3542bc8", size = 504492, upload-time = "2026-06-01T19:38:40.611Z" }, - { url = "https://files.pythonhosted.org/packages/ff/db/44c755232085545065c94378dfce38641b1aee647f4939fcd32f5b32e719/aiohttp-3.14.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f12eb7896e81caf403a2b18c9406426f1207361e7239c057ab29c076d4257e83", size = 1752111, upload-time = "2026-06-01T19:38:42.682Z" }, - { url = "https://files.pythonhosted.org/packages/5e/6a/42e030a46743841414402a3b00cd3d78419055e86c66fb5822c14b5abfc6/aiohttp-3.14.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6c79a044cacf360ec46738d863d2f41c9300d2a06ef4a7402ea0df306a350e61", size = 1729674, upload-time = "2026-06-01T19:38:44.79Z" }, - { url = "https://files.pythonhosted.org/packages/34/26/3199beb415202e3108e7b83ecebe10914d806d33fb9860c3e4aa60a19be3/aiohttp-3.14.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:85e0675f47be4eff0636bf88c02140ea89168ae0df3ff1f3f464e9de9610d277", size = 1798808, upload-time = "2026-06-01T19:38:47.01Z" }, - { url = "https://files.pythonhosted.org/packages/bd/94/b9b6fcf0ee17c21d0d19fb8c22bf83ad18f82e702a9c3bd901a868f5e446/aiohttp-3.14.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7b33e751cab03fdc960095b1e326cb5a03f5ee577d6ded59f3d1c100f8668882", size = 1891921, upload-time = "2026-06-01T19:38:49.233Z" }, - { url = "https://files.pythonhosted.org/packages/c5/a3/3800dbd095cb2bb165a7ea5d94d790914677e27f45638c7d80e3f34c8945/aiohttp-3.14.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:26d9224c6dd7f5c749aba4f61315a894601448b28d94d12f4dea0903e26d2096", size = 1777241, upload-time = "2026-06-01T19:38:52.04Z" }, - { url = "https://files.pythonhosted.org/packages/21/2a/45be91ad1b860508557448d4cc2e165a2ee68dd865657b73bf66cc5a00fb/aiohttp-3.14.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6281aecdf2732940f4fe06bd6adec5ae4d59b78b080b8e3a6b81467301010988", size = 1579554, upload-time = "2026-06-01T19:38:54.508Z" }, - { url = "https://files.pythonhosted.org/packages/b4/3d/dc94df99ed1511fdf28314f722643ed334112643cab00223577085e788c4/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:23e8314e7aed8576fbe33314d218bd81447a3adbc91dc36f1163bf583cd3084c", size = 1714864, upload-time = "2026-06-01T19:38:56.788Z" }, - { url = "https://files.pythonhosted.org/packages/ae/e4/1f1c8acbb3acd5c8f795473b92c9c3d44eb60a5692c6104256c8a1c83a0c/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3b54fbff46127aeafdd764cecd0d99fa2f24a0e37ea5c18a7c3a4ac450df1db3", size = 1749803, upload-time = "2026-06-01T19:38:59.367Z" }, - { url = "https://files.pythonhosted.org/packages/0b/c8/c45ea6e7ed84cebba939b9c334498a045ba19d79c61b0110df5f21580de3/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b27d89af91a555f58e08e4902dbcbc48862fd40095720ca705990476bd93b7ac", size = 1765023, upload-time = "2026-06-01T19:39:01.651Z" }, - { url = "https://files.pythonhosted.org/packages/a8/a1/a932941784432962fe390e1066823aaef64b4e5ac9fa595df57b5fe472a9/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:25d2326a4967bf705a9f9913a13005e93b6020ad8a9f6bd6bd78850d5171332e", size = 1571671, upload-time = "2026-06-01T19:39:04.044Z" }, - { url = "https://files.pythonhosted.org/packages/b0/01/e1280feac522597a4d46eb67a0cdfa053cfae263033030b761ab146f29fb/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a1d209375c503472b3c0a340cdf3c55fcd82e84b46dda7caeaced59faba373ec", size = 1789904, upload-time = "2026-06-01T19:39:06.294Z" }, - { url = "https://files.pythonhosted.org/packages/fa/10/ab28818262f4d26bdb47ed5f1fc7999b69e2fc6e0370b02d0f49011f45ea/aiohttp-3.14.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:666c7c5036df57b693026398b69b41874a1931ac5b3485fd910e57bfac253869", size = 1754516, upload-time = "2026-06-01T19:39:08.788Z" }, - { url = "https://files.pythonhosted.org/packages/af/cc/c122eabd7a1b7e0c9bbdd6be60e4715905b858399145d9df872bb94f1427/aiohttp-3.14.0-cp313-cp313-win32.whl", hash = "sha256:23f094a1ef64823fd35854ddf5c7a80a078162f37f9d2f7c6142b51a6affa456", size = 448656, upload-time = "2026-06-01T19:39:11.171Z" }, - { url = "https://files.pythonhosted.org/packages/41/a5/bab07d79848a00eedd8ed979ccb302aaea3ac6eb9fa16bd0ed87135869b4/aiohttp-3.14.0-cp313-cp313-win_amd64.whl", hash = "sha256:e03abdaa17d553f17e1d1d06bb266b3970106c78051d06795723e748d8e49d11", size = 475803, upload-time = "2026-06-01T19:39:13.439Z" }, - { url = "https://files.pythonhosted.org/packages/d1/a0/f03ade8566c153666a3871afccbedf6d99911da006325e1fc6cf72a2de99/aiohttp-3.14.0-cp313-cp313-win_arm64.whl", hash = "sha256:acdb400538cf4769543548bb5d1eb23d39bed4f96554a6078cb728c7cb2c268b", size = 443889, upload-time = "2026-06-01T19:39:15.945Z" }, - { url = "https://files.pythonhosted.org/packages/28/03/5f36ab196a88ba5e9648ae5643e6531e67a3a8c0e96f9c6510ff41540fec/aiohttp-3.14.0-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:363ef9e91014e7891679bfb2ac0a7c6ea93435dbbfd10ecf41b9f06fcf506c5f", size = 503330, upload-time = "2026-06-01T19:39:18.195Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ce/8b49ec2f30f68e02f314f4832186cd45e583360a5a386058be36855d23b6/aiohttp-3.14.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:884a4edbdad77be9d0ef36142c8b504351b170df0bf62b51e784fadabf311c42", size = 509822, upload-time = "2026-06-01T19:39:20.396Z" }, - { url = "https://files.pythonhosted.org/packages/1a/fe/6edbf5d39bf29322b6816365b17ed8ede4dace164a3aea1abcd30110eb78/aiohttp-3.14.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:70ea956f6cc4a37620966b56c2e205d88ca3e6d85ec063277e414b1035cddad3", size = 483329, upload-time = "2026-06-01T19:39:22.607Z" }, - { url = "https://files.pythonhosted.org/packages/1b/5a/fae531bdbc6456fb6241f46b7b81e4d8a0dd3fc09118a0055dc7141ac1ec/aiohttp-3.14.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:ea3b9806c89f61da22fddf1f12dd524fb368e5e28f1261fbdafe5c3cd8ce893b", size = 489502, upload-time = "2026-06-01T19:39:24.881Z" }, - { url = "https://files.pythonhosted.org/packages/36/f4/48a7b0414db7fed77a03d5dde34508c026afd83510ab6bca08c313855776/aiohttp-3.14.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a071be341c2bd9b0188e62d173509f024e0a35b1c342c53c50f8daaeda8c3bd8", size = 497357, upload-time = "2026-06-01T19:39:27.197Z" }, - { url = "https://files.pythonhosted.org/packages/75/75/e85a13a370acc007fca5feb1fd1b88ac2d8426e6dadd625479b7cadd55a3/aiohttp-3.14.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:198cfe61bf253b19da1fb3e0fa122249dc4f14c12709493fed8054aa0411cc76", size = 750898, upload-time = "2026-06-01T19:39:29.563Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e4/3d637f800c724eff0e2bed64df72557444482366fd0a35b0cec0e6968f6c/aiohttp-3.14.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9dc203d6ce6b9106d54e2a93f41dfdfebfbca2d99962ba503bfd3e5921a6549e", size = 506986, upload-time = "2026-06-01T19:39:31.872Z" }, - { url = "https://files.pythonhosted.org/packages/1d/df/35161f3598bf7501d2b2a805b41ab4f45a2e34150c421bcb4ef8c0d281a7/aiohttp-3.14.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9e19d17ab02bf16832a2c8c0d55a486792c5b1645665652ee9531aebcc30cb72", size = 508033, upload-time = "2026-06-01T19:39:34.137Z" }, - { url = "https://files.pythonhosted.org/packages/e5/39/b36e5d3d31e850fb4691dd3e941684ac490a2559249f6fa634b6b0fdf020/aiohttp-3.14.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d925fba0c14d5b498a8028b0107beebdfd16c5d48d702ff54f879cb017aaaca3", size = 1746213, upload-time = "2026-06-01T19:39:36.654Z" }, - { url = "https://files.pythonhosted.org/packages/b1/28/24e1409e605a9aa5d84abe0e2acb365354b70ae56d40948101cabe3341ab/aiohttp-3.14.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d33e61021222ce7f9792bcac870d6f58d8adfceda33ab857b01264f4560f2c5f", size = 1705862, upload-time = "2026-06-01T19:39:38.968Z" }, - { url = "https://files.pythonhosted.org/packages/8c/d0/e5eb3ff1daeaf644c7e36a957517672494122628e067c38b263fa04eda77/aiohttp-3.14.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:44eca38755d0105bb32f47d085f5dd449846a449e1245fc105889e3279dcf8e3", size = 1798909, upload-time = "2026-06-01T19:39:41.334Z" }, - { url = "https://files.pythonhosted.org/packages/d3/ba/8943f906f0570342886ababb9a722a44e360f786a028c5e0b0e29e3f735b/aiohttp-3.14.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f13087e06f68fea4941c21a0c541c00553aa16e4f8fd7bbe2b198df761e964d6", size = 1868892, upload-time = "2026-06-01T19:39:43.807Z" }, - { url = "https://files.pythonhosted.org/packages/3a/05/27df32c844b2156e1675a8d8ec22d963e3c8ba469ed7ceb1863320c7b521/aiohttp-3.14.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff82be7f1ef73634cb77890a770743239bc3d487b848669be1c599889336dc0a", size = 1751659, upload-time = "2026-06-01T19:39:46.398Z" }, - { url = "https://files.pythonhosted.org/packages/7f/62/da182e5910ab912b2e88aa919b61a16046a37a95714a5795b02eb57b2d18/aiohttp-3.14.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a150c0875ac8fd87f1c398650841308a30d65facf7416b12dbdb9cfdcbe5a48c", size = 1578775, upload-time = "2026-06-01T19:39:48.902Z" }, - { url = "https://files.pythonhosted.org/packages/66/e3/53c67097e8a5ce98625e91e3fa7f43c9c6940de680345d03b3509a72a078/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:edc01ea4e1ec5a1649a28866262bf24195889ff7b27bdd947029a6086741de9b", size = 1710090, upload-time = "2026-06-01T19:39:51.392Z" }, - { url = "https://files.pythonhosted.org/packages/dd/55/0e2732ca598c7a4dfe8a775662376d0ca2977cb1030e48386d4da5d9a456/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:540632bf882ff8fc88f2e1697be0761578e89e0d79fb4a8a6d65dc5da7e729d4", size = 1715016, upload-time = "2026-06-01T19:39:53.807Z" }, - { url = "https://files.pythonhosted.org/packages/5a/96/f0b73730798c9ca525afc30b39f1f81bbe24e245d9654c54d3b39d63212d/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:860a86bc2c80237f5dff52edcf427e10a8d8352271fd84845429a3e60199e02c", size = 1763810, upload-time = "2026-06-01T19:39:56.31Z" }, - { url = "https://files.pythonhosted.org/packages/71/cc/11acb6c4518f448323405a7312b6f255d0f974a34373ad1db7633c4aadc8/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:5cbd50e6a50d6b99283a826b18cbdebf65b0797689a7535cb0e9dd37be0f63c3", size = 1573064, upload-time = "2026-06-01T19:39:58.718Z" }, - { url = "https://files.pythonhosted.org/packages/de/2d/28c31dde0a7dc98c0ee7d0da2ddcec3f7688c4fc131e5989e278d0c03c0a/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:20144819e99db593e22bbd2f3f2691a5e149f879142d6b8670254708853ff4fb", size = 1775765, upload-time = "2026-06-01T19:40:01.195Z" }, - { url = "https://files.pythonhosted.org/packages/b8/69/155c4ef3aec96417d47024800472b33b16c5d8a665371dcd044c2afdf25d/aiohttp-3.14.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:26b6d79aa54cb4ed50cc7d41ed14e99e0f1fc8e7c2d42f2e05b37aea897b2b52", size = 1733716, upload-time = "2026-06-01T19:40:03.631Z" }, - { url = "https://files.pythonhosted.org/packages/5f/44/6126116fd8a316b712bb615660b855c78466bb67ba1bb1742427eafcf7ac/aiohttp-3.14.0-cp314-cp314-win32.whl", hash = "sha256:106ed074a856f3e21d186b8579e2c8afb6da598e267cdaab01059e13db2fc44d", size = 453684, upload-time = "2026-06-01T19:40:06.277Z" }, - { url = "https://files.pythonhosted.org/packages/a2/d7/eff4c58a88c5cac5e38b55f44fb8a6d3929c3cbd77356e383e094d3220bd/aiohttp-3.14.0-cp314-cp314-win_amd64.whl", hash = "sha256:4f770846edae8f00ecc57af825bce811f787f87a7dcf0e90d191790efe5b31f7", size = 481758, upload-time = "2026-06-01T19:40:08.653Z" }, - { url = "https://files.pythonhosted.org/packages/d7/ed/17b5bd9fbcb46e688f02e572f517754a9a75831e7b54702f027761dc4fa5/aiohttp-3.14.0-cp314-cp314-win_arm64.whl", hash = "sha256:acf1581c4f21ed4b80a2dded504d87b055a071a84d5737ea966435f768275ac6", size = 450557, upload-time = "2026-06-01T19:40:11.03Z" }, - { url = "https://files.pythonhosted.org/packages/12/34/6180103ce9aabc8ebff3f7bb55a1228ffe60f61042823031d9692cb7b101/aiohttp-3.14.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:6aa1a40f9cbb3da9f80714c5966b8946c21e6a2530d809b9498b33161e3c8733", size = 787878, upload-time = "2026-06-01T19:40:13.401Z" }, - { url = "https://files.pythonhosted.org/packages/92/e9/08954a40e8b7baa3d8beadd2b074b186e9b1e9c8ddabc288678a6265de50/aiohttp-3.14.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b62af5a8cc96a194eaa01a9ed7b34a3ffa58d3d8daaa1a0d7a749353ad12d228", size = 524400, upload-time = "2026-06-01T19:40:15.972Z" }, - { url = "https://files.pythonhosted.org/packages/08/6a/b5965a634ac4d5ba99a463314cf4ab214ca073fcdc38a15e0294273701fc/aiohttp-3.14.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6eb63b1417efaf7d1002a6ad034a40d44376afcc16508a57f8e74b49ad26a095", size = 527904, upload-time = "2026-06-01T19:40:18.28Z" }, - { url = "https://files.pythonhosted.org/packages/06/b4/932bcdd850c354d9bcca30f360e475d7852e30413fbbd44b182782ed5432/aiohttp-3.14.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c20b9ad156a79eb97be5cf9e069eec01d2f0dc8472ffbd75299a8b2d4c2cbbde", size = 1912162, upload-time = "2026-06-01T19:40:20.825Z" }, - { url = "https://files.pythonhosted.org/packages/c6/85/ce79bab0310d2e3fd2d7bc7e44412abeff7c8338f8a21dd0f2f1714989e5/aiohttp-3.14.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:40ae7b0642c25632c7eabc4a04754012691864d2a1b93becf7cddb76027b838a", size = 1778813, upload-time = "2026-06-01T19:40:23.726Z" }, - { url = "https://files.pythonhosted.org/packages/05/54/ba62ac2d1bc87e010aad23751e383b8794e45d931df67677313a2da78823/aiohttp-3.14.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:95f5217e76a046b9f228a101717ef8d42b1eb3d9d196d15202db5bf41df88936", size = 1899969, upload-time = "2026-06-01T19:40:26.406Z" }, - { url = "https://files.pythonhosted.org/packages/dc/82/7cc7907725d83a19f31551334061e1ab8e108b1d7ac52632a2a844a4acb5/aiohttp-3.14.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1a4a9f17e85b80878c176695c1998c790e83731d8271881e5d356488652a1f9e", size = 1991771, upload-time = "2026-06-01T19:40:29.061Z" }, - { url = "https://files.pythonhosted.org/packages/d0/1c/a57de71a4508c93a830b77c28af3d08cd97f606dedfc6b94275347744508/aiohttp-3.14.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:145262119b07d7f95abc1839add35ba2bfc84551d4b4660ca11542c0b215455b", size = 1868606, upload-time = "2026-06-01T19:40:31.843Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ae/3839726cd49150a53ed340cc24ce5ba09d4c2117020ef9d45542bec5eb2f/aiohttp-3.14.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:49a33ded29b0b2fa7a367a02cf0fb89af602bb87542a16177ec8ce1c9c51d12a", size = 1665437, upload-time = "2026-06-01T19:40:35.01Z" }, - { url = "https://files.pythonhosted.org/packages/35/1e/c237923232c7da7f0392ea25d89fc5e60c0e93f685f4ebca8e7bcdd5271c/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2cc736a9c9fc2bc4dd71fd404815741b6573df27c3f985948ec4076989ac57de", size = 1834090, upload-time = "2026-06-01T19:40:37.733Z" }, - { url = "https://files.pythonhosted.org/packages/98/02/a5a7a2524f92d3911761b405a7c067c751891942144adc13e2ad79611e39/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b4141a3e5342ee3053a9cab54d25b64ed28289c1041e4c54b3d99839314d90ce", size = 1816907, upload-time = "2026-06-01T19:40:40.46Z" }, - { url = "https://files.pythonhosted.org/packages/fa/76/a8b9f0d09234d516af9f2d7dd715557f33b5da3b0b56ead41d1170e86e3c/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e30871b2d58996cb81aac52d2b1d15ac05257131ef0f90f18c2115a380fbfe7c", size = 1840382, upload-time = "2026-06-01T19:40:43.48Z" }, - { url = "https://files.pythonhosted.org/packages/c9/8e/140e715a0a4bbc211979ea30ec8396ad2ed5bf90ab87d8058fc4668b1923/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:667b881d083ccae3900ea5a241e17e5007ca78844c53ed389bb63d48f729d9c7", size = 1659497, upload-time = "2026-06-01T19:40:46.265Z" }, - { url = "https://files.pythonhosted.org/packages/10/c7/7ba5de8af9650b9767b063c675427b8685f43fa7ce563673a7bc3af60f08/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:b584dfe615d151e9b8f0a8ecb3aee6147f2927ec5b95ba25fe621f5377510928", size = 1870829, upload-time = "2026-06-01T19:40:49.583Z" }, - { url = "https://files.pythonhosted.org/packages/cc/bc/2aaab2f85cadb26ea59c091fa2b8e370d625154b5c14b478f1b489d07551/aiohttp-3.14.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6199707cc40e0e9cd39c36fbc97bec416c704e1d0ddce03412bb3b3e6a90ccd0", size = 1832281, upload-time = "2026-06-01T19:40:52.303Z" }, - { url = "https://files.pythonhosted.org/packages/39/98/31b9ad9fbc01f0075ee7221002df5fd2d10b647f451ca5f30edc802d9dd6/aiohttp-3.14.0-cp314-cp314t-win32.whl", hash = "sha256:a8d93334d4961c9d566b1f046c81dee475b7c21eb730728d38237bfa70d1c8e6", size = 490597, upload-time = "2026-06-01T19:40:54.937Z" }, - { url = "https://files.pythonhosted.org/packages/59/1f/299b21441c8de42ff70fddc7cfe65e92f810abcf740739a09b56f7835364/aiohttp-3.14.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2d2ffe9b614f50f069068b3b52e73414e4107fc10b7efc939a76acff9251fdd2", size = 525789, upload-time = "2026-06-01T19:40:57.306Z" }, - { url = "https://files.pythonhosted.org/packages/70/11/7f83fcba9ee05d4c54d61b3f8104da0d43a59adac44dd28effc0c9a10422/aiohttp-3.14.0-cp314-cp314t-win_arm64.whl", hash = "sha256:7a3fc4358e65826c515350f199c210de747cf669998211b1ee6c2e46de364b24", size = 467399, upload-time = "2026-06-01T19:40:59.993Z" }, -] - -[[package]] -name = "aioice" -version = "0.10.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dnspython" }, - { name = "ifaddr" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/95/a2/45dfab1d5a7f96c48595a5770379acf406cdf02a2cd1ac1729b599322b08/aioice-0.10.1.tar.gz", hash = "sha256:5c8e1422103448d171925c678fb39795e5fe13d79108bebb00aa75a899c2094a", size = 44304, upload-time = "2025-04-13T08:15:25.629Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/58/af07dda649c22a1ae954ffb7aaaf4d4a57f1bf00ebdf62307affc0b8552f/aioice-0.10.1-py3-none-any.whl", hash = "sha256:f31ae2abc8608b1283ed5f21aebd7b6bd472b152ff9551e9b559b2d8efed79e9", size = 24872, upload-time = "2025-04-13T08:15:24.044Z" }, -] - -[[package]] -name = "aiortc" -version = "1.14.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aioice" }, - { name = "av" }, - { name = "cryptography" }, - { name = "google-crc32c" }, - { name = "pyee" }, - { name = "pylibsrtp" }, - { name = "pyopenssl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/51/9c/4e027bfe0195de0442da301e2389329496745d40ae44d2d7c4571c4290ce/aiortc-1.14.0.tar.gz", hash = "sha256:adc8a67ace10a085721e588e06a00358ed8eaf5f6b62f0a95358ff45628dd762", size = 1180864, upload-time = "2025-10-13T21:40:37.905Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/57/ab/31646a49209568cde3b97eeade0d28bb78b400e6645c56422c101df68932/aiortc-1.14.0-py3-none-any.whl", hash = "sha256:4b244d7e482f4e1f67e685b3468269628eca1ec91fa5b329ab517738cfca086e", size = 93183, upload-time = "2025-10-13T21:40:36.59Z" }, -] - -[[package]] -name = "aiosignal" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "frozenlist" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, -] - -[[package]] -name = "annotated-doc" -version = "0.0.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, -] - -[[package]] -name = "annotated-types" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, -] - -[[package]] -name = "anyio" -version = "4.10.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "idna" }, - { name = "sniffio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" }, -] - -[[package]] -name = "attrs" -version = "25.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, -] - -[[package]] -name = "audioop-lts" -version = "0.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/38/53/946db57842a50b2da2e0c1e34bd37f36f5aadba1a929a3971c5d7841dbca/audioop_lts-0.2.2.tar.gz", hash = "sha256:64d0c62d88e67b98a1a5e71987b7aa7b5bcffc7dcee65b635823dbdd0a8dbbd0", size = 30686, upload-time = "2025-08-05T16:43:17.409Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/de/d4/94d277ca941de5a507b07f0b592f199c22454eeaec8f008a286b3fbbacd6/audioop_lts-0.2.2-cp313-abi3-macosx_10_13_universal2.whl", hash = "sha256:fd3d4602dc64914d462924a08c1a9816435a2155d74f325853c1f1ac3b2d9800", size = 46523, upload-time = "2025-08-05T16:42:20.836Z" }, - { url = "https://files.pythonhosted.org/packages/f8/5a/656d1c2da4b555920ce4177167bfeb8623d98765594af59702c8873f60ec/audioop_lts-0.2.2-cp313-abi3-macosx_10_13_x86_64.whl", hash = "sha256:550c114a8df0aafe9a05442a1162dfc8fec37e9af1d625ae6060fed6e756f303", size = 27455, upload-time = "2025-08-05T16:42:22.283Z" }, - { url = "https://files.pythonhosted.org/packages/1b/83/ea581e364ce7b0d41456fb79d6ee0ad482beda61faf0cab20cbd4c63a541/audioop_lts-0.2.2-cp313-abi3-macosx_11_0_arm64.whl", hash = "sha256:9a13dc409f2564de15dd68be65b462ba0dde01b19663720c68c1140c782d1d75", size = 26997, upload-time = "2025-08-05T16:42:23.849Z" }, - { url = "https://files.pythonhosted.org/packages/b8/3b/e8964210b5e216e5041593b7d33e97ee65967f17c282e8510d19c666dab4/audioop_lts-0.2.2-cp313-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:51c916108c56aa6e426ce611946f901badac950ee2ddaf302b7ed35d9958970d", size = 85844, upload-time = "2025-08-05T16:42:25.208Z" }, - { url = "https://files.pythonhosted.org/packages/c7/2e/0a1c52faf10d51def20531a59ce4c706cb7952323b11709e10de324d6493/audioop_lts-0.2.2-cp313-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:47eba38322370347b1c47024defbd36374a211e8dd5b0dcbce7b34fdb6f8847b", size = 85056, upload-time = "2025-08-05T16:42:26.559Z" }, - { url = "https://files.pythonhosted.org/packages/75/e8/cd95eef479656cb75ab05dfece8c1f8c395d17a7c651d88f8e6e291a63ab/audioop_lts-0.2.2-cp313-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba7c3a7e5f23e215cb271516197030c32aef2e754252c4c70a50aaff7031a2c8", size = 93892, upload-time = "2025-08-05T16:42:27.902Z" }, - { url = "https://files.pythonhosted.org/packages/5c/1e/a0c42570b74f83efa5cca34905b3eef03f7ab09fe5637015df538a7f3345/audioop_lts-0.2.2-cp313-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:def246fe9e180626731b26e89816e79aae2276f825420a07b4a647abaa84becc", size = 96660, upload-time = "2025-08-05T16:42:28.9Z" }, - { url = "https://files.pythonhosted.org/packages/50/d5/8a0ae607ca07dbb34027bac8db805498ee7bfecc05fd2c148cc1ed7646e7/audioop_lts-0.2.2-cp313-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e160bf9df356d841bb6c180eeeea1834085464626dc1b68fa4e1d59070affdc3", size = 79143, upload-time = "2025-08-05T16:42:29.929Z" }, - { url = "https://files.pythonhosted.org/packages/12/17/0d28c46179e7910bfb0bb62760ccb33edb5de973052cb2230b662c14ca2e/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4b4cd51a57b698b2d06cb9993b7ac8dfe89a3b2878e96bc7948e9f19ff51dba6", size = 84313, upload-time = "2025-08-05T16:42:30.949Z" }, - { url = "https://files.pythonhosted.org/packages/84/ba/bd5d3806641564f2024e97ca98ea8f8811d4e01d9b9f9831474bc9e14f9e/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4a53aa7c16a60a6857e6b0b165261436396ef7293f8b5c9c828a3a203147ed4a", size = 93044, upload-time = "2025-08-05T16:42:31.959Z" }, - { url = "https://files.pythonhosted.org/packages/f9/5e/435ce8d5642f1f7679540d1e73c1c42d933331c0976eb397d1717d7f01a3/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:3fc38008969796f0f689f1453722a0f463da1b8a6fbee11987830bfbb664f623", size = 78766, upload-time = "2025-08-05T16:42:33.302Z" }, - { url = "https://files.pythonhosted.org/packages/ae/3b/b909e76b606cbfd53875693ec8c156e93e15a1366a012f0b7e4fb52d3c34/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_s390x.whl", hash = "sha256:15ab25dd3e620790f40e9ead897f91e79c0d3ce65fe193c8ed6c26cffdd24be7", size = 87640, upload-time = "2025-08-05T16:42:34.854Z" }, - { url = "https://files.pythonhosted.org/packages/30/e7/8f1603b4572d79b775f2140d7952f200f5e6c62904585d08a01f0a70393a/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:03f061a1915538fd96272bac9551841859dbb2e3bf73ebe4a23ef043766f5449", size = 86052, upload-time = "2025-08-05T16:42:35.839Z" }, - { url = "https://files.pythonhosted.org/packages/b5/96/c37846df657ccdda62ba1ae2b6534fa90e2e1b1742ca8dcf8ebd38c53801/audioop_lts-0.2.2-cp313-abi3-win32.whl", hash = "sha256:3bcddaaf6cc5935a300a8387c99f7a7fbbe212a11568ec6cf6e4bc458c048636", size = 26185, upload-time = "2025-08-05T16:42:37.04Z" }, - { url = "https://files.pythonhosted.org/packages/34/a5/9d78fdb5b844a83da8a71226c7bdae7cc638861085fff7a1d707cb4823fa/audioop_lts-0.2.2-cp313-abi3-win_amd64.whl", hash = "sha256:a2c2a947fae7d1062ef08c4e369e0ba2086049a5e598fda41122535557012e9e", size = 30503, upload-time = "2025-08-05T16:42:38.427Z" }, - { url = "https://files.pythonhosted.org/packages/34/25/20d8fde083123e90c61b51afb547bb0ea7e77bab50d98c0ab243d02a0e43/audioop_lts-0.2.2-cp313-abi3-win_arm64.whl", hash = "sha256:5f93a5db13927a37d2d09637ccca4b2b6b48c19cd9eda7b17a2e9f77edee6a6f", size = 24173, upload-time = "2025-08-05T16:42:39.704Z" }, - { url = "https://files.pythonhosted.org/packages/58/a7/0a764f77b5c4ac58dc13c01a580f5d32ae8c74c92020b961556a43e26d02/audioop_lts-0.2.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:73f80bf4cd5d2ca7814da30a120de1f9408ee0619cc75da87d0641273d202a09", size = 47096, upload-time = "2025-08-05T16:42:40.684Z" }, - { url = "https://files.pythonhosted.org/packages/aa/ed/ebebedde1a18848b085ad0fa54b66ceb95f1f94a3fc04f1cd1b5ccb0ed42/audioop_lts-0.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:106753a83a25ee4d6f473f2be6b0966fc1c9af7e0017192f5531a3e7463dce58", size = 27748, upload-time = "2025-08-05T16:42:41.992Z" }, - { url = "https://files.pythonhosted.org/packages/cb/6e/11ca8c21af79f15dbb1c7f8017952ee8c810c438ce4e2b25638dfef2b02c/audioop_lts-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fbdd522624141e40948ab3e8cdae6e04c748d78710e9f0f8d4dae2750831de19", size = 27329, upload-time = "2025-08-05T16:42:42.987Z" }, - { url = "https://files.pythonhosted.org/packages/84/52/0022f93d56d85eec5da6b9da6a958a1ef09e80c39f2cc0a590c6af81dcbb/audioop_lts-0.2.2-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:143fad0311e8209ece30a8dbddab3b65ab419cbe8c0dde6e8828da25999be911", size = 92407, upload-time = "2025-08-05T16:42:44.336Z" }, - { url = "https://files.pythonhosted.org/packages/87/1d/48a889855e67be8718adbc7a01f3c01d5743c325453a5e81cf3717664aad/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dfbbc74ec68a0fd08cfec1f4b5e8cca3d3cd7de5501b01c4b5d209995033cde9", size = 91811, upload-time = "2025-08-05T16:42:45.325Z" }, - { url = "https://files.pythonhosted.org/packages/98/a6/94b7213190e8077547ffae75e13ed05edc488653c85aa5c41472c297d295/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cfcac6aa6f42397471e4943e0feb2244549db5c5d01efcd02725b96af417f3fe", size = 100470, upload-time = "2025-08-05T16:42:46.468Z" }, - { url = "https://files.pythonhosted.org/packages/e9/e9/78450d7cb921ede0cfc33426d3a8023a3bda755883c95c868ee36db8d48d/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:752d76472d9804ac60f0078c79cdae8b956f293177acd2316cd1e15149aee132", size = 103878, upload-time = "2025-08-05T16:42:47.576Z" }, - { url = "https://files.pythonhosted.org/packages/4f/e2/cd5439aad4f3e34ae1ee852025dc6aa8f67a82b97641e390bf7bd9891d3e/audioop_lts-0.2.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:83c381767e2cc10e93e40281a04852facc4cd9334550e0f392f72d1c0a9c5753", size = 84867, upload-time = "2025-08-05T16:42:49.003Z" }, - { url = "https://files.pythonhosted.org/packages/68/4b/9d853e9076c43ebba0d411e8d2aa19061083349ac695a7d082540bad64d0/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c0022283e9556e0f3643b7c3c03f05063ca72b3063291834cca43234f20c60bb", size = 90001, upload-time = "2025-08-05T16:42:50.038Z" }, - { url = "https://files.pythonhosted.org/packages/58/26/4bae7f9d2f116ed5593989d0e521d679b0d583973d203384679323d8fa85/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a2d4f1513d63c795e82948e1305f31a6d530626e5f9f2605408b300ae6095093", size = 99046, upload-time = "2025-08-05T16:42:51.111Z" }, - { url = "https://files.pythonhosted.org/packages/b2/67/a9f4fb3e250dda9e9046f8866e9fa7d52664f8985e445c6b4ad6dfb55641/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:c9c8e68d8b4a56fda8c025e538e639f8c5953f5073886b596c93ec9b620055e7", size = 84788, upload-time = "2025-08-05T16:42:52.198Z" }, - { url = "https://files.pythonhosted.org/packages/70/f7/3de86562db0121956148bcb0fe5b506615e3bcf6e63c4357a612b910765a/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:96f19de485a2925314f5020e85911fb447ff5fbef56e8c7c6927851b95533a1c", size = 94472, upload-time = "2025-08-05T16:42:53.59Z" }, - { url = "https://files.pythonhosted.org/packages/f1/32/fd772bf9078ae1001207d2df1eef3da05bea611a87dd0e8217989b2848fa/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e541c3ef484852ef36545f66209444c48b28661e864ccadb29daddb6a4b8e5f5", size = 92279, upload-time = "2025-08-05T16:42:54.632Z" }, - { url = "https://files.pythonhosted.org/packages/4f/41/affea7181592ab0ab560044632571a38edaf9130b84928177823fbf3176a/audioop_lts-0.2.2-cp313-cp313t-win32.whl", hash = "sha256:d5e73fa573e273e4f2e5ff96f9043858a5e9311e94ffefd88a3186a910c70917", size = 26568, upload-time = "2025-08-05T16:42:55.627Z" }, - { url = "https://files.pythonhosted.org/packages/28/2b/0372842877016641db8fc54d5c88596b542eec2f8f6c20a36fb6612bf9ee/audioop_lts-0.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9191d68659eda01e448188f60364c7763a7ca6653ed3f87ebb165822153a8547", size = 30942, upload-time = "2025-08-05T16:42:56.674Z" }, - { url = "https://files.pythonhosted.org/packages/ee/ca/baf2b9cc7e96c179bb4a54f30fcd83e6ecb340031bde68f486403f943768/audioop_lts-0.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c174e322bb5783c099aaf87faeb240c8d210686b04bd61dfd05a8e5a83d88969", size = 24603, upload-time = "2025-08-05T16:42:57.571Z" }, - { url = "https://files.pythonhosted.org/packages/5c/73/413b5a2804091e2c7d5def1d618e4837f1cb82464e230f827226278556b7/audioop_lts-0.2.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:f9ee9b52f5f857fbaf9d605a360884f034c92c1c23021fb90b2e39b8e64bede6", size = 47104, upload-time = "2025-08-05T16:42:58.518Z" }, - { url = "https://files.pythonhosted.org/packages/ae/8c/daa3308dc6593944410c2c68306a5e217f5c05b70a12e70228e7dd42dc5c/audioop_lts-0.2.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:49ee1a41738a23e98d98b937a0638357a2477bc99e61b0f768a8f654f45d9b7a", size = 27754, upload-time = "2025-08-05T16:43:00.132Z" }, - { url = "https://files.pythonhosted.org/packages/4e/86/c2e0f627168fcf61781a8f72cab06b228fe1da4b9fa4ab39cfb791b5836b/audioop_lts-0.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5b00be98ccd0fc123dcfad31d50030d25fcf31488cde9e61692029cd7394733b", size = 27332, upload-time = "2025-08-05T16:43:01.666Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bd/35dce665255434f54e5307de39e31912a6f902d4572da7c37582809de14f/audioop_lts-0.2.2-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a6d2e0f9f7a69403e388894d4ca5ada5c47230716a03f2847cfc7bd1ecb589d6", size = 92396, upload-time = "2025-08-05T16:43:02.991Z" }, - { url = "https://files.pythonhosted.org/packages/2d/d2/deeb9f51def1437b3afa35aeb729d577c04bcd89394cb56f9239a9f50b6f/audioop_lts-0.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f9b0b8a03ef474f56d1a842af1a2e01398b8f7654009823c6d9e0ecff4d5cfbf", size = 91811, upload-time = "2025-08-05T16:43:04.096Z" }, - { url = "https://files.pythonhosted.org/packages/76/3b/09f8b35b227cee28cc8231e296a82759ed80c1a08e349811d69773c48426/audioop_lts-0.2.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2b267b70747d82125f1a021506565bdc5609a2b24bcb4773c16d79d2bb260bbd", size = 100483, upload-time = "2025-08-05T16:43:05.085Z" }, - { url = "https://files.pythonhosted.org/packages/0b/15/05b48a935cf3b130c248bfdbdea71ce6437f5394ee8533e0edd7cfd93d5e/audioop_lts-0.2.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0337d658f9b81f4cd0fdb1f47635070cc084871a3d4646d9de74fdf4e7c3d24a", size = 103885, upload-time = "2025-08-05T16:43:06.197Z" }, - { url = "https://files.pythonhosted.org/packages/83/80/186b7fce6d35b68d3d739f228dc31d60b3412105854edb975aa155a58339/audioop_lts-0.2.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:167d3b62586faef8b6b2275c3218796b12621a60e43f7e9d5845d627b9c9b80e", size = 84899, upload-time = "2025-08-05T16:43:07.291Z" }, - { url = "https://files.pythonhosted.org/packages/49/89/c78cc5ac6cb5828f17514fb12966e299c850bc885e80f8ad94e38d450886/audioop_lts-0.2.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0d9385e96f9f6da847f4d571ce3cb15b5091140edf3db97276872647ce37efd7", size = 89998, upload-time = "2025-08-05T16:43:08.335Z" }, - { url = "https://files.pythonhosted.org/packages/4c/4b/6401888d0c010e586c2ca50fce4c903d70a6bb55928b16cfbdfd957a13da/audioop_lts-0.2.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:48159d96962674eccdca9a3df280e864e8ac75e40a577cc97c5c42667ffabfc5", size = 99046, upload-time = "2025-08-05T16:43:09.367Z" }, - { url = "https://files.pythonhosted.org/packages/de/f8/c874ca9bb447dae0e2ef2e231f6c4c2b0c39e31ae684d2420b0f9e97ee68/audioop_lts-0.2.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:8fefe5868cd082db1186f2837d64cfbfa78b548ea0d0543e9b28935ccce81ce9", size = 84843, upload-time = "2025-08-05T16:43:10.749Z" }, - { url = "https://files.pythonhosted.org/packages/3e/c0/0323e66f3daebc13fd46b36b30c3be47e3fc4257eae44f1e77eb828c703f/audioop_lts-0.2.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:58cf54380c3884fb49fdd37dfb7a772632b6701d28edd3e2904743c5e1773602", size = 94490, upload-time = "2025-08-05T16:43:12.131Z" }, - { url = "https://files.pythonhosted.org/packages/98/6b/acc7734ac02d95ab791c10c3f17ffa3584ccb9ac5c18fd771c638ed6d1f5/audioop_lts-0.2.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:088327f00488cdeed296edd9215ca159f3a5a5034741465789cad403fcf4bec0", size = 92297, upload-time = "2025-08-05T16:43:13.139Z" }, - { url = "https://files.pythonhosted.org/packages/13/c3/c3dc3f564ce6877ecd2a05f8d751b9b27a8c320c2533a98b0c86349778d0/audioop_lts-0.2.2-cp314-cp314t-win32.whl", hash = "sha256:068aa17a38b4e0e7de771c62c60bbca2455924b67a8814f3b0dee92b5820c0b3", size = 27331, upload-time = "2025-08-05T16:43:14.19Z" }, - { url = "https://files.pythonhosted.org/packages/72/bb/b4608537e9ffcb86449091939d52d24a055216a36a8bf66b936af8c3e7ac/audioop_lts-0.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:a5bf613e96f49712073de86f20dbdd4014ca18efd4d34ed18c75bd808337851b", size = 31697, upload-time = "2025-08-05T16:43:15.193Z" }, - { url = "https://files.pythonhosted.org/packages/f6/22/91616fe707a5c5510de2cac9b046a30defe7007ba8a0c04f9c08f27df312/audioop_lts-0.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:b492c3b040153e68b9fdaff5913305aaaba5bb433d8a7f73d5cf6a64ed3cc1dd", size = 25206, upload-time = "2025-08-05T16:43:16.444Z" }, -] - -[[package]] -name = "av" -version = "14.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/86/f6/0b473dab52dfdea05f28f3578b1c56b6c796ce85e76951bab7c4e38d5a74/av-14.4.0.tar.gz", hash = "sha256:3ecbf803a7fdf67229c0edada0830d6bfaea4d10bfb24f0c3f4e607cd1064b42", size = 3892203, upload-time = "2025-05-16T19:13:35.737Z" } - -[[package]] -name = "certifi" -version = "2025.8.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, -] - -[[package]] -name = "cffi" -version = "2.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pycparser", marker = "implementation_name != 'PyPy'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, - { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, - { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, - { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, - { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, - { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, - { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, - { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, - { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, - { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, - { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, - { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, - { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, - { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, - { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, - { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, - { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, - { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, - { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, - { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, - { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, - { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, - { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, - { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, - { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, - { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, - { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, - { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, - { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, - { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, - { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, - { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, - { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, -] - -[[package]] -name = "click" -version = "8.2.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, -] - -[[package]] -name = "colorama" -version = "0.4.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, -] - -[[package]] -name = "cryptography" -version = "48.0.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/12/45/870e7f4bef50e5f53b9f51d4428aee5290eedf58ba443f16b1ebb7ab8e66/cryptography-48.0.1.tar.gz", hash = "sha256:266f4ee051abb2f725b74ef8072b521ce1feacf685a3364fa6a6b45548db791a", size = 832989, upload-time = "2026-06-09T22:32:31.8Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/bc/ee4137cbbe105652c0ee4252792b78fc8e7afa4b8e61d9d5dc05a7f45731/cryptography-48.0.1-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:3e4a1a3232eef2e6c732827d5722db29a0cc8b27af2a4d865b094cf954be9ca1", size = 8008324, upload-time = "2026-06-09T22:31:00.702Z" }, - { url = "https://files.pythonhosted.org/packages/d5/85/6379d42181bfc713094f081360fc5784d6c816b599d45e7f082502d173ce/cryptography-48.0.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:32143b24adb918f078134e1e230f1eb8cc04886b92c28b5f0041aaf3e5699225", size = 4696243, upload-time = "2026-06-09T22:32:33.446Z" }, - { url = "https://files.pythonhosted.org/packages/9c/87/c85d147b53323c7eb4d850920c8901377323c2a0ff8d79c262d4fee89aa2/cryptography-48.0.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0d27a5696721ef7a672b8c810f6aded391058e0b9486e63e6d93baf765da691", size = 4713235, upload-time = "2026-06-09T22:31:40.141Z" }, - { url = "https://files.pythonhosted.org/packages/79/58/67cbf8cf1ee7c54b439ca07bbecf8362c07afc11a3724fea70f745784add/cryptography-48.0.1-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:eb86ce1af36fe65041b6db9a8bb064ee621a7e5fded0f80d475ec243477cd242", size = 4702323, upload-time = "2026-06-09T22:31:42.191Z" }, - { url = "https://files.pythonhosted.org/packages/89/c6/24266ac10c47f6cd2a865f4446062b466da1d1f10b27189eac00e61bf0c9/cryptography-48.0.1-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b024e784ad6c077ee0147b35ea9cbfc1e34e1fd4c1dcca214c2794d73a12df08", size = 5300085, upload-time = "2026-06-09T22:31:58.703Z" }, - { url = "https://files.pythonhosted.org/packages/d2/bb/cc4b78784f97efc8c5874c2a9743708d172be6663024b34a0467885ae0c8/cryptography-48.0.1-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3752f2dbc8f07a30aad2932c986cea495b03bb554887828225da104f732852b6", size = 4746137, upload-time = "2026-06-09T22:31:31.01Z" }, - { url = "https://files.pythonhosted.org/packages/1f/52/0c44de3f5267f8fbe8e835138017522a333436166e406f0db9b9e6e3033f/cryptography-48.0.1-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:bd81490cd5801d755cf97bb68ac191f14b708470b1c7cf4580f669b9c9264cd8", size = 4333867, upload-time = "2026-06-09T22:32:28.096Z" }, - { url = "https://files.pythonhosted.org/packages/9a/2e/772d7adbfa931537bc401640b7cac9976bff689bda187833e5d63b428e49/cryptography-48.0.1-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:66fd0771e7b9c6dcd44cf1120690d2338d16d72795cf40cae2786a39eba65429", size = 4701805, upload-time = "2026-06-09T22:31:38.284Z" }, - { url = "https://files.pythonhosted.org/packages/f8/a3/b06844f303873493c963caf581c04df31c7035e0c1b0f02c4814d319ec80/cryptography-48.0.1-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:3fd2ca57062b241c856670b073487d2e86c4637937ca5601e48f97bf8e11fc8f", size = 5258461, upload-time = "2026-06-09T22:31:04.187Z" }, - { url = "https://files.pythonhosted.org/packages/9f/13/8b765e2e12b07c74941caadb9d1c8fdc006c4dfbf2b8f2d610519758954d/cryptography-48.0.1-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:0ee6ea481db1ab889cba043ec1eda17bb9c1ea79db6722f779c3667f9f70322f", size = 4745488, upload-time = "2026-06-09T22:32:30.07Z" }, - { url = "https://files.pythonhosted.org/packages/2e/aa/48972bce55049b32a94f4907eda4d75fa385aad8a39506cc2fc72196ecf0/cryptography-48.0.1-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f2ceef93cb096aa3c4cc4b5c94ca6131f9196d28c64d6111533402a9b2054d41", size = 4830256, upload-time = "2026-06-09T22:31:43.868Z" }, - { url = "https://files.pythonhosted.org/packages/47/a2/e5079a032fb85cf6005046ca92bbd78b0c82dad2b5751ab8c311659da06f/cryptography-48.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9bd3f92d76217892b15df84ca256c2c113d386fdda7a7d8691aeeced976507c6", size = 4979117, upload-time = "2026-06-09T22:31:05.845Z" }, - { url = "https://files.pythonhosted.org/packages/b7/a0/8f50cae9c74e718ed769d63ed5c74bd0ea830c9550a74629cebd1b9c7bc7/cryptography-48.0.1-cp311-abi3-win32.whl", hash = "sha256:b9a32b876490d66c8bcc9963ef220199569748434ab01a9d6aaeabf88e7f5158", size = 3304154, upload-time = "2026-06-09T22:32:16.845Z" }, - { url = "https://files.pythonhosted.org/packages/c5/69/0572c77dbace6fef72f33755bd52ea399c71367250d366237f8691826b9e/cryptography-48.0.1-cp311-abi3-win_amd64.whl", hash = "sha256:39489bfca54c7a1f6b297efcd8bc608ab92d16c4ca631b0cad4da46724588b24", size = 3817138, upload-time = "2026-06-09T22:32:00.388Z" }, - { url = "https://files.pythonhosted.org/packages/42/06/3e768b4c3bc78201583fa35a0e18f640dd782ff41afba88f8545481a8874/cryptography-48.0.1-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:f817adc181390bd54f2f700107a7419040fb7c1bdf2fc26f36551a06a68c3345", size = 7989830, upload-time = "2026-06-09T22:31:07.8Z" }, - { url = "https://files.pythonhosted.org/packages/8a/13/6476736484b94041110c8340a3eb63962fea4975baea8cb4a512adb44d4d/cryptography-48.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d5d30989c6917b478b5817902e85fddaea2261efa8648383d965381ccb9e1ac4", size = 4689201, upload-time = "2026-06-09T22:31:09.745Z" }, - { url = "https://files.pythonhosted.org/packages/79/62/65a87f34d2a431546e2509b85d55e8c90df86d668f6731da64d538512ac2/cryptography-48.0.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:df637c05205ea7c1d7fbcbe54bbfea648a52951155f997af13d895d0ecc96991", size = 4702822, upload-time = "2026-06-09T22:32:24.409Z" }, - { url = "https://files.pythonhosted.org/packages/7f/59/810b5204b0a9b10f4b6bc06bd551a8b609803cd931806bc3b71884b225e5/cryptography-48.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:869c3b8a53bfe27147832df48b32adadf558249d50e76cb3769d40e986b13265", size = 4694875, upload-time = "2026-06-09T22:32:08.737Z" }, - { url = "https://files.pythonhosted.org/packages/24/dc/d8ca05ffea724eec6d232ea6f18e74c269eb6bdfdcc9bfba689790d1325f/cryptography-48.0.1-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:e361afba8918070d376df76f408a4f67fec0ee9cff81a99e48fe9a233ef59e17", size = 5290385, upload-time = "2026-06-09T22:31:15.212Z" }, - { url = "https://files.pythonhosted.org/packages/03/8c/3be6cb4da181f5bb6c19cf560c2359d60644a6b5fc5b57854e528f47b296/cryptography-48.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:d069066deead00ac7f090be101be875a06855908f7ec004c27b8fefb4acfb411", size = 4737082, upload-time = "2026-06-09T22:32:22.66Z" }, - { url = "https://files.pythonhosted.org/packages/aa/f6/d5f60a5a1434dbfd949e227fd0065d194c7e6b6ac526b17f5c06152b8231/cryptography-48.0.1-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:09f73a725d582cef64b91281a322cd798d14a33b2b6f2b7ad9531dc336d84c02", size = 4325328, upload-time = "2026-06-09T22:32:10.777Z" }, - { url = "https://files.pythonhosted.org/packages/17/b7/ba75dd947a14b6ad907b01ae8f6b5b348cdd1b48142f0063dee9e20c1d9d/cryptography-48.0.1-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:15254441469dd6bf027039453288e2072124f8b6603563f5d759e1c9b69273fa", size = 4694530, upload-time = "2026-06-09T22:31:53.105Z" }, - { url = "https://files.pythonhosted.org/packages/62/29/50d6b9e8aff12d8b67afaeb3569335e32dc83a5723e3bbded24fdac9f809/cryptography-48.0.1-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:8ace4507d1e6533c125f4fac754f8bb8b6a74c08e92179dabd7e16571a3efbf3", size = 5245046, upload-time = "2026-06-09T22:31:25.774Z" }, - { url = "https://files.pythonhosted.org/packages/9f/04/618f4115cfc0add0838c82507aa18a346089428da8653ad38b3ff36f5cb3/cryptography-48.0.1-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:b4e391975f038e66432328639620a4aff2d307513b004f1ca06d6225bced815c", size = 4736660, upload-time = "2026-06-09T22:32:12.676Z" }, - { url = "https://files.pythonhosted.org/packages/24/9c/06e062462a0de28a3b3911322eded4c16deb9f441b1b7575d3dc59488ab5/cryptography-48.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42fcd8e26fe555d9b3577a135f5091fefa0aa4e99129c23fb56787a1bd4ada72", size = 4822229, upload-time = "2026-06-09T22:31:17.062Z" }, - { url = "https://files.pythonhosted.org/packages/f4/be/0561971eaaee4b8a0e7d5113c536921063ab91aaf23278ac374eaf881e11/cryptography-48.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c1400da5e32a43253392277eac7490a60e497d810a63dd5608d71bbd7af507c9", size = 4966364, upload-time = "2026-06-09T22:31:32.842Z" }, - { url = "https://files.pythonhosted.org/packages/a4/27/728c77876f12b000820b69ae490f3c4083775e79e07827e9e60be07ad209/cryptography-48.0.1-cp314-cp314t-win32.whl", hash = "sha256:0df56b056bc17c1b7d6821dfa65216e62bd232d8ab05eb3db44e71d235651471", size = 3278498, upload-time = "2026-06-09T22:31:29.154Z" }, - { url = "https://files.pythonhosted.org/packages/06/e3/79a612c6d7b1e6ee0edd43633d53035bec2cfb78c82b76f7864f39e36f34/cryptography-48.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:9de21387aa95e2a895823d0745b430bed4f33503ba9ab5e0b5311f33e37d66d2", size = 3798790, upload-time = "2026-06-09T22:31:56.697Z" }, - { url = "https://files.pythonhosted.org/packages/ca/6c/00fa2a95997164c8b2072ce327c23d4ab20809ccc323ea5fab91e53a4bba/cryptography-48.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:4fdc69f8e4316bcf0c8c8ec1f26f285d12e8142d88d96c876a59a03be3f6ae67", size = 7987408, upload-time = "2026-06-09T22:32:20.777Z" }, - { url = "https://files.pythonhosted.org/packages/b0/d9/45f309a7e4e5f3f8f121d6d3be9e94024a7726ec598d6e08ae04edb2f04d/cryptography-48.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48fe40804d4caa2288f24e70ca8c64c42dd826da0ad7e4f1b41b2128d679e6c8", size = 4690196, upload-time = "2026-06-09T22:31:54.74Z" }, - { url = "https://files.pythonhosted.org/packages/5f/9f/a1bc8bcc798811b8527eb374bbccf30a3f3e806829d967118222bf1125eb/cryptography-48.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:86be3b1b0b6bf09482fb50a979c508d2950ed95f5621ec77f4e385962006b83a", size = 4696782, upload-time = "2026-06-09T22:31:45.615Z" }, - { url = "https://files.pythonhosted.org/packages/66/c2/81a4fb4e4373c500bb526bc337ac5719dd31dd15b970b84a238168c6aa08/cryptography-48.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab0a343c807bbcd90c971cd1ecf072937cd01847a9e002bef88fb47ac6be577", size = 4696618, upload-time = "2026-06-09T22:31:11.564Z" }, - { url = "https://files.pythonhosted.org/packages/e5/0b/aa68b221dde92d09cb29a024ede17550ee21e77a404e59fc093c82bb51e1/cryptography-48.0.1-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:9621de99d2da096006b629979efd8ae7eb2d8b822488d0c89ee4000c306c59b1", size = 5289970, upload-time = "2026-06-09T22:31:20.368Z" }, - { url = "https://files.pythonhosted.org/packages/78/13/fba657f958d2af66ea959a4ba01212632089249d34af1ae48054136344d7/cryptography-48.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:88c852a0ae366e262e5a1744b685e6a433dc8788dd2a277e418bf4904203609d", size = 4731873, upload-time = "2026-06-09T22:31:22.253Z" }, - { url = "https://files.pythonhosted.org/packages/4c/4c/9a964756d24a26b3e34dfcb16f961b89838786e6700b635b0d1e3adff4b6/cryptography-48.0.1-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:43c5835e2cb98c8733d86f57d6fc879b613f5c3478607281c3e36daffc6dd8a6", size = 4330804, upload-time = "2026-06-09T22:31:36.56Z" }, - { url = "https://files.pythonhosted.org/packages/4b/0f/a10f3a6eb12950a10e3a874070283aa2dd5875b2bfd15fad8a3e17b3f13e/cryptography-48.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:fe0180af5bf9236518a087e35bf2d9a347d5f5f51e63c579d683ddff424e3d46", size = 4696217, upload-time = "2026-06-09T22:31:13.351Z" }, - { url = "https://files.pythonhosted.org/packages/f3/6f/5cd12f951165ea73ef85266775d97e4c763b2474ccfd816dd69d3a18d6f8/cryptography-48.0.1-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:b7a2d1a937a738a881737cec135a38bb61470589b17515b9f73f571d0ae10401", size = 5245252, upload-time = "2026-06-09T22:32:02.193Z" }, - { url = "https://files.pythonhosted.org/packages/68/ab/8aaa12e4516ec4464033ab79b6f3b592bd5a92102467c4ace8a0d970203f/cryptography-48.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b74ca3b8e5ecdd833bf6a002ca41b4793bb27fb8f1c06ffaf2643c9e9140e31b", size = 4731388, upload-time = "2026-06-09T22:32:04.019Z" }, - { url = "https://files.pythonhosted.org/packages/1b/24/50027ea4dca85ec1f40688f3c24fb32ccacd520583c9592c3cc95628e6fb/cryptography-48.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2c37f2461406063b417837f5f3daab668652acd82423efcd7f0a9f04be972de1", size = 4824186, upload-time = "2026-06-09T22:32:18.707Z" }, - { url = "https://files.pythonhosted.org/packages/52/41/04cb5eb17085ade6f50cc611fb657df6a0f5885350de8764ece89c050197/cryptography-48.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:86fe77abb1bd87afb251d4d02ada7ecf53a32cee9b67d976abb2e45a13297475", size = 4964539, upload-time = "2026-06-09T22:31:18.793Z" }, - { url = "https://files.pythonhosted.org/packages/36/bf/ed70785c496e89d7e73b7cda2d21f2447fd6d4e821714b8d04ff217fed92/cryptography-48.0.1-cp39-abi3-win32.whl", hash = "sha256:6b2c0c3e6ccf3ade7750f836ef3ee36eea250cc467d45c256895573ac08cc6f1", size = 3282307, upload-time = "2026-06-09T22:30:53.162Z" }, - { url = "https://files.pythonhosted.org/packages/b3/ff/371ea7d252656ee1eb6d83eeeef3d1d0c6baf1d6497687d081ea03814670/cryptography-48.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:9a49ca6c81417f6a5edb50375a60cccdd70fa0a91a5211829dbea74eba94d2ac", size = 3793408, upload-time = "2026-06-09T22:32:15.191Z" }, -] - -[[package]] -name = "distro" -version = "1.9.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, -] - -[[package]] -name = "dnspython" -version = "2.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197, upload-time = "2024-10-05T20:14:59.362Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632, upload-time = "2024-10-05T20:14:57.687Z" }, -] - -[[package]] -name = "docstring-parser" -version = "0.17.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/9d/c3b43da9515bd270df0f80548d9944e389870713cc1fe2b8fb35fe2bcefd/docstring_parser-0.17.0.tar.gz", hash = "sha256:583de4a309722b3315439bb31d64ba3eebada841f2e2cee23b99df001434c912", size = 27442, upload-time = "2025-07-21T07:35:01.868Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" }, -] - -[[package]] -name = "email-validator" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dnspython" }, - { name = "idna" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967, upload-time = "2024-06-20T11:30:30.034Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521, upload-time = "2024-06-20T11:30:28.248Z" }, -] - -[[package]] -name = "fastapi" -version = "0.136.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "annotated-doc" }, - { name = "pydantic" }, - { name = "starlette" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/81/2d/ff8d91d7b564d464629a0fd50a4489c97fcb836ac230bf3a7269232a9b1f/fastapi-0.136.3.tar.gz", hash = "sha256:e487fae93ad408e6f47641ee4dfe389864fd7bec92e547ea8498fc13f43e83ab", size = 396410, upload-time = "2026-05-23T18:53:15.192Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/82/45359b62a067409bd929ae8a56b8ed13e5a8c8a61194b3c236920999ab83/fastapi-0.136.3-py3-none-any.whl", hash = "sha256:3d2a69bdf04b7e9f3afa292c3bc7a98816bbfafa10bc9b45f3f3700d2f761620", size = 117481, upload-time = "2026-05-23T18:53:16.924Z" }, -] - -[package.optional-dependencies] -all = [ - { name = "email-validator" }, - { name = "fastapi-cli", extra = ["standard"] }, - { name = "httpx" }, - { name = "itsdangerous" }, - { name = "jinja2" }, - { name = "pydantic-extra-types" }, - { name = "pydantic-settings" }, - { name = "python-multipart" }, - { name = "pyyaml" }, - { name = "uvicorn", extra = ["standard"] }, -] - -[[package]] -name = "fastapi-cli" -version = "0.0.8" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "rich-toolkit" }, - { name = "typer" }, - { name = "uvicorn", extra = ["standard"] }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c6/94/3ef75d9c7c32936ecb539b9750ccbdc3d2568efd73b1cb913278375f4533/fastapi_cli-0.0.8.tar.gz", hash = "sha256:2360f2989b1ab4a3d7fc8b3a0b20e8288680d8af2e31de7c38309934d7f8a0ee", size = 16884, upload-time = "2025-07-07T14:44:09.326Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/3f/6ad3103c5f59208baf4c798526daea6a74085bb35d1c161c501863470476/fastapi_cli-0.0.8-py3-none-any.whl", hash = "sha256:0ea95d882c85b9219a75a65ab27e8da17dac02873e456850fa0a726e96e985eb", size = 10770, upload-time = "2025-07-07T14:44:08.255Z" }, -] - -[package.optional-dependencies] -standard = [ - { name = "fastapi-cloud-cli" }, - { name = "uvicorn", extra = ["standard"] }, -] - -[[package]] -name = "fastapi-cloud-cli" -version = "0.1.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "httpx" }, - { name = "pydantic", extra = ["email"] }, - { name = "rich-toolkit" }, - { name = "rignore" }, - { name = "sentry-sdk" }, - { name = "typer" }, - { name = "uvicorn", extra = ["standard"] }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/2e/3b6e5016affc310e5109bc580f760586eabecea0c8a7ab067611cd849ac0/fastapi_cloud_cli-0.1.5.tar.gz", hash = "sha256:341ee585eb731a6d3c3656cb91ad38e5f39809bf1a16d41de1333e38635a7937", size = 22710, upload-time = "2025-07-28T13:30:48.216Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/a6/5aa862489a2918a096166fd98d9fe86b7fd53c607678b3fa9d8c432d88d5/fastapi_cloud_cli-0.1.5-py3-none-any.whl", hash = "sha256:d80525fb9c0e8af122370891f9fa83cf5d496e4ad47a8dd26c0496a6c85a012a", size = 18992, upload-time = "2025-07-28T13:30:47.427Z" }, -] - -[[package]] -name = "flatbuffers" -version = "25.2.10" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/30/eb5dce7994fc71a2f685d98ec33cc660c0a5887db5610137e60d8cbc4489/flatbuffers-25.2.10.tar.gz", hash = "sha256:97e451377a41262f8d9bd4295cc836133415cc03d8cb966410a4af92eb00d26e", size = 22170, upload-time = "2025-02-11T04:26:46.257Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/25/155f9f080d5e4bc0082edfda032ea2bc2b8fab3f4d25d46c1e9dd22a1a89/flatbuffers-25.2.10-py2.py3-none-any.whl", hash = "sha256:ebba5f4d5ea615af3f7fd70fc310636fbb2bbd1f566ac0a23d98dd412de50051", size = 30953, upload-time = "2025-02-11T04:26:44.484Z" }, -] - -[[package]] -name = "frozenlist" -version = "1.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, - { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, - { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, - { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, - { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, - { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, - { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, - { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, - { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, - { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, - { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, - { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, - { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, - { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, - { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, - { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, - { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, - { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, - { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, - { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, - { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, - { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, - { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, - { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, - { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, - { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, - { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, - { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, - { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, -] - -[[package]] -name = "google-crc32c" -version = "1.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/19/ae/87802e6d9f9d69adfaedfcfd599266bf386a54d0be058b532d04c794f76d/google_crc32c-1.7.1.tar.gz", hash = "sha256:2bff2305f98846f3e825dbeec9ee406f89da7962accdb29356e4eadc251bd472", size = 14495, upload-time = "2025-03-26T14:29:13.32Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/72/b8d785e9184ba6297a8620c8a37cf6e39b81a8ca01bb0796d7cbb28b3386/google_crc32c-1.7.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:df8b38bdaf1629d62d51be8bdd04888f37c451564c2042d36e5812da9eff3c35", size = 30467, upload-time = "2025-03-26T14:36:06.909Z" }, - { url = "https://files.pythonhosted.org/packages/34/25/5f18076968212067c4e8ea95bf3b69669f9fc698476e5f5eb97d5b37999f/google_crc32c-1.7.1-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:e42e20a83a29aa2709a0cf271c7f8aefaa23b7ab52e53b322585297bb94d4638", size = 30309, upload-time = "2025-03-26T15:06:15.318Z" }, - { url = "https://files.pythonhosted.org/packages/92/83/9228fe65bf70e93e419f38bdf6c5ca5083fc6d32886ee79b450ceefd1dbd/google_crc32c-1.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:905a385140bf492ac300026717af339790921f411c0dfd9aa5a9e69a08ed32eb", size = 33133, upload-time = "2025-03-26T14:41:34.388Z" }, - { url = "https://files.pythonhosted.org/packages/c3/ca/1ea2fd13ff9f8955b85e7956872fdb7050c4ace8a2306a6d177edb9cf7fe/google_crc32c-1.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b211ddaf20f7ebeec5c333448582c224a7c90a9d98826fbab82c0ddc11348e6", size = 32773, upload-time = "2025-03-26T14:41:35.19Z" }, - { url = "https://files.pythonhosted.org/packages/89/32/a22a281806e3ef21b72db16f948cad22ec68e4bdd384139291e00ff82fe2/google_crc32c-1.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:0f99eaa09a9a7e642a61e06742856eec8b19fc0037832e03f941fe7cf0c8e4db", size = 33475, upload-time = "2025-03-26T14:29:11.771Z" }, - { url = "https://files.pythonhosted.org/packages/b8/c5/002975aff514e57fc084ba155697a049b3f9b52225ec3bc0f542871dd524/google_crc32c-1.7.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32d1da0d74ec5634a05f53ef7df18fc646666a25efaaca9fc7dcfd4caf1d98c3", size = 33243, upload-time = "2025-03-26T14:41:35.975Z" }, - { url = "https://files.pythonhosted.org/packages/61/cb/c585282a03a0cea70fcaa1bf55d5d702d0f2351094d663ec3be1c6c67c52/google_crc32c-1.7.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e10554d4abc5238823112c2ad7e4560f96c7bf3820b202660373d769d9e6e4c9", size = 32870, upload-time = "2025-03-26T14:41:37.08Z" }, -] - -[[package]] -name = "h11" -version = "0.16.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, -] - -[[package]] -name = "httpcore" -version = "1.0.9" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "certifi" }, - { name = "h11" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, -] - -[[package]] -name = "httptools" -version = "0.6.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload-time = "2024-10-16T19:44:38.738Z" }, - { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload-time = "2024-10-16T19:44:39.818Z" }, - { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload-time = "2024-10-16T19:44:41.189Z" }, - { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload-time = "2024-10-16T19:44:42.384Z" }, - { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload-time = "2024-10-16T19:44:43.959Z" }, - { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload-time = "2024-10-16T19:44:45.071Z" }, - { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload-time = "2024-10-16T19:44:46.46Z" }, -] - -[[package]] -name = "httpx" -version = "0.28.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "certifi" }, - { name = "httpcore" }, - { name = "idna" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, -] - -[[package]] -name = "idna" -version = "3.15" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/77/7b3966d0b9d1d31a36ddf1746926a11dface89a83409bf1483f0237aa758/idna-3.15.tar.gz", hash = "sha256:ca962446ea538f7092a95e057da437618e886f4d349216d2b1e294abfdb65fdc", size = 199245, upload-time = "2026-05-12T22:45:57.011Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" }, -] - -[[package]] -name = "ifaddr" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e8/ac/fb4c578f4a3256561548cd825646680edcadb9440f3f68add95ade1eb791/ifaddr-0.2.0.tar.gz", hash = "sha256:cc0cbfcaabf765d44595825fb96a99bb12c79716b73b44330ea38ee2b0c4aed4", size = 10485, upload-time = "2022-06-15T21:40:27.561Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/1f/19ebc343cc71a7ffa78f17018535adc5cbdd87afb31d7c34874680148b32/ifaddr-0.2.0-py3-none-any.whl", hash = "sha256:085e0305cfe6f16ab12d72e2024030f5d52674afad6911bb1eee207177b8a748", size = 12314, upload-time = "2022-06-15T21:40:25.756Z" }, -] - -[[package]] -name = "itsdangerous" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, -] - -[[package]] -name = "jinja2" -version = "3.1.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, -] - -[[package]] -name = "jiter" -version = "0.10.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617, upload-time = "2025-05-18T19:04:02.078Z" }, - { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947, upload-time = "2025-05-18T19:04:03.347Z" }, - { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618, upload-time = "2025-05-18T19:04:04.709Z" }, - { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829, upload-time = "2025-05-18T19:04:06.912Z" }, - { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034, upload-time = "2025-05-18T19:04:08.222Z" }, - { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529, upload-time = "2025-05-18T19:04:09.566Z" }, - { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671, upload-time = "2025-05-18T19:04:10.98Z" }, - { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864, upload-time = "2025-05-18T19:04:12.722Z" }, - { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989, upload-time = "2025-05-18T19:04:14.261Z" }, - { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495, upload-time = "2025-05-18T19:04:15.603Z" }, - { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289, upload-time = "2025-05-18T19:04:17.541Z" }, - { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074, upload-time = "2025-05-18T19:04:19.21Z" }, - { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225, upload-time = "2025-05-18T19:04:20.583Z" }, - { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235, upload-time = "2025-05-18T19:04:22.363Z" }, - { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278, upload-time = "2025-05-18T19:04:23.627Z" }, - { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866, upload-time = "2025-05-18T19:04:24.891Z" }, - { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772, upload-time = "2025-05-18T19:04:26.161Z" }, - { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534, upload-time = "2025-05-18T19:04:27.495Z" }, - { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087, upload-time = "2025-05-18T19:04:28.896Z" }, - { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694, upload-time = "2025-05-18T19:04:30.183Z" }, - { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992, upload-time = "2025-05-18T19:04:32.028Z" }, - { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723, upload-time = "2025-05-18T19:04:33.467Z" }, - { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215, upload-time = "2025-05-18T19:04:34.827Z" }, - { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762, upload-time = "2025-05-18T19:04:36.19Z" }, - { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427, upload-time = "2025-05-18T19:04:37.544Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload-time = "2025-05-18T19:04:38.837Z" }, - { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload-time = "2025-05-18T19:04:40.612Z" }, - { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" }, -] - -[[package]] -name = "joblib" -version = "1.5.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475, upload-time = "2025-05-23T12:04:37.097Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746, upload-time = "2025-05-23T12:04:35.124Z" }, -] - -[[package]] -name = "llvmlite" -version = "0.44.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880, upload-time = "2025-01-20T11:14:41.342Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/89/24/4c0ca705a717514c2092b18476e7a12c74d34d875e05e4d742618ebbf449/llvmlite-0.44.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:319bddd44e5f71ae2689859b7203080716448a3cd1128fb144fe5c055219d516", size = 28132306, upload-time = "2025-01-20T11:14:09.035Z" }, - { url = "https://files.pythonhosted.org/packages/01/cf/1dd5a60ba6aee7122ab9243fd614abcf22f36b0437cbbe1ccf1e3391461c/llvmlite-0.44.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c58867118bad04a0bb22a2e0068c693719658105e40009ffe95c7000fcde88e", size = 26201090, upload-time = "2025-01-20T11:14:15.401Z" }, - { url = "https://files.pythonhosted.org/packages/d2/1b/656f5a357de7135a3777bd735cc7c9b8f23b4d37465505bd0eaf4be9befe/llvmlite-0.44.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46224058b13c96af1365290bdfebe9a6264ae62fb79b2b55693deed11657a8bf", size = 42361904, upload-time = "2025-01-20T11:14:22.949Z" }, - { url = "https://files.pythonhosted.org/packages/d8/e1/12c5f20cb9168fb3464a34310411d5ad86e4163c8ff2d14a2b57e5cc6bac/llvmlite-0.44.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0097052c32bf721a4efc03bd109d335dfa57d9bffb3d4c24cc680711b8b4fc", size = 41184245, upload-time = "2025-01-20T11:14:31.731Z" }, - { url = "https://files.pythonhosted.org/packages/d0/81/e66fc86539293282fd9cb7c9417438e897f369e79ffb62e1ae5e5154d4dd/llvmlite-0.44.0-cp313-cp313-win_amd64.whl", hash = "sha256:2fb7c4f2fb86cbae6dca3db9ab203eeea0e22d73b99bc2341cdf9de93612e930", size = 30331193, upload-time = "2025-01-20T11:14:38.578Z" }, -] - -[[package]] -name = "loguru" -version = "0.7.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "win32-setctime", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" }, -] - -[[package]] -name = "markdown" -version = "3.8.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/c2/4ab49206c17f75cb08d6311171f2d65798988db4360c4d1485bd0eedd67c/markdown-3.8.2.tar.gz", hash = "sha256:247b9a70dd12e27f67431ce62523e675b866d254f900c4fe75ce3dda62237c45", size = 362071, upload-time = "2025-06-19T17:12:44.483Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/96/2b/34cc11786bc00d0f04d0f5fdc3a2b1ae0b6239eef72d3d345805f9ad92a1/markdown-3.8.2-py3-none-any.whl", hash = "sha256:5c83764dbd4e00bdd94d85a19b8d55ccca20fe35b2e678a1422b380324dd5f24", size = 106827, upload-time = "2025-06-19T17:12:42.994Z" }, -] - -[[package]] -name = "markdown-it-py" -version = "4.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mdurl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, -] - -[[package]] -name = "markupsafe" -version = "3.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, -] - -[[package]] -name = "mdurl" -version = "0.1.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, -] - -[[package]] -name = "mpmath" -version = "1.3.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, -] - -[[package]] -name = "multidict" -version = "6.6.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", size = 101843, upload-time = "2025-08-11T12:08:48.217Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", size = 75848, upload-time = "2025-08-11T12:07:19.912Z" }, - { url = "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", size = 45060, upload-time = "2025-08-11T12:07:21.163Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", size = 43269, upload-time = "2025-08-11T12:07:22.392Z" }, - { url = "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", size = 237158, upload-time = "2025-08-11T12:07:23.636Z" }, - { url = "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", size = 257076, upload-time = "2025-08-11T12:07:25.049Z" }, - { url = "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", size = 240694, upload-time = "2025-08-11T12:07:26.458Z" }, - { url = "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", size = 266350, upload-time = "2025-08-11T12:07:27.94Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", size = 267250, upload-time = "2025-08-11T12:07:29.303Z" }, - { url = "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", size = 254900, upload-time = "2025-08-11T12:07:30.764Z" }, - { url = "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", size = 252355, upload-time = "2025-08-11T12:07:32.205Z" }, - { url = "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", size = 250061, upload-time = "2025-08-11T12:07:33.623Z" }, - { url = "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", size = 249675, upload-time = "2025-08-11T12:07:34.958Z" }, - { url = "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", size = 261247, upload-time = "2025-08-11T12:07:36.588Z" }, - { url = "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", size = 257960, upload-time = "2025-08-11T12:07:39.735Z" }, - { url = "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", size = 250078, upload-time = "2025-08-11T12:07:41.525Z" }, - { url = "https://files.pythonhosted.org/packages/c4/0e/7e79d38f70a872cae32e29b0d77024bef7834b0afb406ddae6558d9e2414/multidict-6.6.4-cp313-cp313-win32.whl", hash = "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69", size = 41708, upload-time = "2025-08-11T12:07:43.405Z" }, - { url = "https://files.pythonhosted.org/packages/9d/34/746696dffff742e97cd6a23da953e55d0ea51fa601fa2ff387b3edcfaa2c/multidict-6.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf", size = 45912, upload-time = "2025-08-11T12:07:45.082Z" }, - { url = "https://files.pythonhosted.org/packages/c7/87/3bac136181e271e29170d8d71929cdeddeb77f3e8b6a0c08da3a8e9da114/multidict-6.6.4-cp313-cp313-win_arm64.whl", hash = "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605", size = 43076, upload-time = "2025-08-11T12:07:46.746Z" }, - { url = "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", size = 82812, upload-time = "2025-08-11T12:07:48.402Z" }, - { url = "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", size = 48313, upload-time = "2025-08-11T12:07:49.679Z" }, - { url = "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", size = 46777, upload-time = "2025-08-11T12:07:51.318Z" }, - { url = "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", size = 229321, upload-time = "2025-08-11T12:07:52.965Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", size = 249954, upload-time = "2025-08-11T12:07:54.423Z" }, - { url = "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", size = 228612, upload-time = "2025-08-11T12:07:55.914Z" }, - { url = "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", size = 257528, upload-time = "2025-08-11T12:07:57.371Z" }, - { url = "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", size = 256329, upload-time = "2025-08-11T12:07:58.844Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", size = 247928, upload-time = "2025-08-11T12:08:01.037Z" }, - { url = "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", size = 245228, upload-time = "2025-08-11T12:08:02.96Z" }, - { url = "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", size = 235869, upload-time = "2025-08-11T12:08:04.746Z" }, - { url = "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", size = 243446, upload-time = "2025-08-11T12:08:06.332Z" }, - { url = "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", size = 252299, upload-time = "2025-08-11T12:08:07.931Z" }, - { url = "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", size = 246926, upload-time = "2025-08-11T12:08:09.467Z" }, - { url = "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", size = 243383, upload-time = "2025-08-11T12:08:10.981Z" }, - { url = "https://files.pythonhosted.org/packages/50/b0/a6fae46071b645ae98786ab738447de1ef53742eaad949f27e960864bb49/multidict-6.6.4-cp313-cp313t-win32.whl", hash = "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e", size = 47775, upload-time = "2025-08-11T12:08:12.439Z" }, - { url = "https://files.pythonhosted.org/packages/b2/0a/2436550b1520091af0600dff547913cb2d66fbac27a8c33bc1b1bccd8d98/multidict-6.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4", size = 53100, upload-time = "2025-08-11T12:08:13.823Z" }, - { url = "https://files.pythonhosted.org/packages/97/ea/43ac51faff934086db9c072a94d327d71b7d8b40cd5dcb47311330929ef0/multidict-6.6.4-cp313-cp313t-win_arm64.whl", hash = "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad", size = 45501, upload-time = "2025-08-11T12:08:15.173Z" }, - { url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" }, -] - -[[package]] -name = "nltk" -version = "3.9.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "joblib" }, - { name = "regex" }, - { name = "tqdm" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/74/a1/b3b4adf15585a5bc4c357adde150c01ebeeb642173ded4d871e89468767c/nltk-3.9.4.tar.gz", hash = "sha256:ed03bc098a40481310320808b2db712d95d13ca65b27372f8a403949c8b523d0", size = 2946864, upload-time = "2026-03-24T06:13:40.641Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/91/04e965f8e717ba0ab4bdca5c112deeab11c9e750d94c4d4602f050295d39/nltk-3.9.4-py3-none-any.whl", hash = "sha256:f2fa301c3a12718ce4a0e9305c5675299da5ad9e26068218b69d692fda84828f", size = 1552087, upload-time = "2026-03-24T06:13:38.47Z" }, -] - -[[package]] -name = "numba" -version = "0.61.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "llvmlite" }, - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1c/a0/e21f57604304aa03ebb8e098429222722ad99176a4f979d34af1d1ee80da/numba-0.61.2.tar.gz", hash = "sha256:8750ee147940a6637b80ecf7f95062185ad8726c8c28a2295b8ec1160a196f7d", size = 2820615, upload-time = "2025-04-09T02:58:07.659Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/f3/0fe4c1b1f2569e8a18ad90c159298d862f96c3964392a20d74fc628aee44/numba-0.61.2-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:3a10a8fc9afac40b1eac55717cece1b8b1ac0b946f5065c89e00bde646b5b154", size = 2771785, upload-time = "2025-04-09T02:57:59.96Z" }, - { url = "https://files.pythonhosted.org/packages/e9/71/91b277d712e46bd5059f8a5866862ed1116091a7cb03bd2704ba8ebe015f/numba-0.61.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d3bcada3c9afba3bed413fba45845f2fb9cd0d2b27dd58a1be90257e293d140", size = 2773289, upload-time = "2025-04-09T02:58:01.435Z" }, - { url = "https://files.pythonhosted.org/packages/0d/e0/5ea04e7ad2c39288c0f0f9e8d47638ad70f28e275d092733b5817cf243c9/numba-0.61.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bdbca73ad81fa196bd53dc12e3aaf1564ae036e0c125f237c7644fe64a4928ab", size = 3893918, upload-time = "2025-04-09T02:58:02.933Z" }, - { url = "https://files.pythonhosted.org/packages/17/58/064f4dcb7d7e9412f16ecf80ed753f92297e39f399c905389688cf950b81/numba-0.61.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5f154aaea625fb32cfbe3b80c5456d514d416fcdf79733dd69c0df3a11348e9e", size = 3584056, upload-time = "2025-04-09T02:58:04.538Z" }, - { url = "https://files.pythonhosted.org/packages/af/a4/6d3a0f2d3989e62a18749e1e9913d5fa4910bbb3e3311a035baea6caf26d/numba-0.61.2-cp313-cp313-win_amd64.whl", hash = "sha256:59321215e2e0ac5fa928a8020ab00b8e57cda8a97384963ac0dfa4d4e6aa54e7", size = 2831846, upload-time = "2025-04-09T02:58:06.125Z" }, -] - -[[package]] -name = "numpy" -version = "2.2.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, - { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, - { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, - { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, - { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, - { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, - { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, - { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, - { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, - { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, - { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, - { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, - { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, - { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, - { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, - { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, - { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, - { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, - { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, - { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, -] - -[[package]] -name = "onnxruntime" -version = "1.24.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "flatbuffers" }, - { name = "numpy" }, - { name = "packaging" }, - { name = "protobuf" }, - { name = "sympy" }, -] -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/f0/8a21ec0a97e40abb7d8da1e8b20fb9e1af509cc6d191f6faa75f73622fb2/onnxruntime-1.24.4-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e99a48078baaefa2b50fe5836c319499f71f13f76ed32d0211f39109147a49e0", size = 17341922, upload-time = "2026-03-17T22:03:56.364Z" }, - { url = "https://files.pythonhosted.org/packages/8b/25/d7908de8e08cee9abfa15b8aa82349b79733ae5865162a3609c11598805d/onnxruntime-1.24.4-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4aaed1e5e1aaacf2343c838a30a7c3ade78f13eeb16817411f929d04040a13", size = 15172290, upload-time = "2026-03-17T22:03:37.124Z" }, - { url = "https://files.pythonhosted.org/packages/7f/72/105ec27a78c5aa0154a7c0cd8c41c19a97799c3b12fc30392928997e3be3/onnxruntime-1.24.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e30c972bc02e072911aabb6891453ec73795386c0af2b761b65444b8a4c4745f", size = 17244738, upload-time = "2026-03-17T22:04:40.625Z" }, - { url = "https://files.pythonhosted.org/packages/05/fb/a592736d968c2f58e12de4d52088dda8e0e724b26ad5c0487263adb45875/onnxruntime-1.24.4-cp313-cp313-win_amd64.whl", hash = "sha256:3b6ba8b0181a3aa88edab00eb01424ffc06f42e71095a91186c2249415fcff93", size = 12597435, upload-time = "2026-03-17T22:05:43.826Z" }, - { url = "https://files.pythonhosted.org/packages/ad/04/ae2479e9841b64bd2eb44f8a64756c62593f896514369a11243b1b86ca5c/onnxruntime-1.24.4-cp313-cp313-win_arm64.whl", hash = "sha256:71d6a5c1821d6e8586a024000ece458db8f2fc0ecd050435d45794827ce81e19", size = 12269852, upload-time = "2026-03-17T22:05:33.353Z" }, - { url = "https://files.pythonhosted.org/packages/b4/af/a479a536c4398ffaf49fbbe755f45d5b8726bdb4335ab31b537f3d7149b8/onnxruntime-1.24.4-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1700f559c8086d06b2a4d5de51e62cb4ff5e2631822f71a36db8c72383db71ee", size = 15176861, upload-time = "2026-03-17T22:03:40.143Z" }, - { url = "https://files.pythonhosted.org/packages/be/13/19f5da70c346a76037da2c2851ecbf1266e61d7f0dcdb887c667210d4608/onnxruntime-1.24.4-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c74e268dc808e61e63784d43f9ddcdaf50a776c2819e8bd1d1b11ef64bf7e36", size = 17247454, upload-time = "2026-03-17T22:04:46.643Z" }, - { url = "https://files.pythonhosted.org/packages/89/db/b30dbbd6037847b205ab75d962bc349bf1e46d02a65b30d7047a6893ffd6/onnxruntime-1.24.4-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:fbff2a248940e3398ae78374c5a839e49a2f39079b488bc64439fa0ec327a3e4", size = 17343300, upload-time = "2026-03-17T22:03:59.223Z" }, - { url = "https://files.pythonhosted.org/packages/61/88/1746c0e7959961475b84c776d35601a21d445f463c93b1433a409ec3e188/onnxruntime-1.24.4-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2b7969e72d8cb53ffc88ab6d49dd5e75c1c663bda7be7eb0ece192f127343d1", size = 15175936, upload-time = "2026-03-17T22:03:43.671Z" }, - { url = "https://files.pythonhosted.org/packages/5f/ba/4699cde04a52cece66cbebc85bd8335a0d3b9ad485abc9a2e15946a1349d/onnxruntime-1.24.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14ed1f197fab812b695a5eaddb536c635e58a2fbbe50a517c78f082cc6ce9177", size = 17246432, upload-time = "2026-03-17T22:04:49.58Z" }, - { url = "https://files.pythonhosted.org/packages/ef/60/4590910841bb28bd3b4b388a9efbedf4e2d2cca99ddf0c863642b4e87814/onnxruntime-1.24.4-cp314-cp314-win_amd64.whl", hash = "sha256:311e309f573bf3c12aa5723e23823077f83d5e412a18499d4485c7eb41040858", size = 12903276, upload-time = "2026-03-17T22:05:46.349Z" }, - { url = "https://files.pythonhosted.org/packages/7f/6f/60e2c0acea1e1ac09b3e794b5a19c166eebf91c0b860b3e6db8e74983fda/onnxruntime-1.24.4-cp314-cp314-win_arm64.whl", hash = "sha256:3f0b910e86b759a4732663ec61fd57ac42ee1b0066f68299de164220b660546d", size = 12594365, upload-time = "2026-03-17T22:05:35.795Z" }, - { url = "https://files.pythonhosted.org/packages/cf/68/0c05d10f8f6c40fe0912ebec0d5a33884aaa2af2053507e864dab0883208/onnxruntime-1.24.4-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa12ddc54c9c4594073abcaa265cd9681e95fb89dae982a6f508a794ca42e661", size = 15176889, upload-time = "2026-03-17T22:03:48.021Z" }, - { url = "https://files.pythonhosted.org/packages/6c/1d/1666dc64e78d8587d168fec4e3b7922b92eb286a2ddeebcf6acb55c7dc82/onnxruntime-1.24.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1cc6a518255f012134bc791975a6294806be9a3b20c4a54cca25194c90cf731", size = 17247021, upload-time = "2026-03-17T22:04:52.377Z" }, -] - -[[package]] -name = "openai" -version = "1.99.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tqdm" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/03/30/f0fb7907a77e733bb801c7bdcde903500b31215141cdb261f04421e6fbec/openai-1.99.1.tar.gz", hash = "sha256:2c9d8e498c298f51bb94bcac724257a3a6cac6139ccdfc1186c6708f7a93120f", size = 497075, upload-time = "2025-08-05T19:42:36.131Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/15/9c85154ffd283abfc43309ff3aaa63c3fd02f7767ee684e73670f6c5ade2/openai-1.99.1-py3-none-any.whl", hash = "sha256:8eeccc69e0ece1357b51ca0d9fb21324afee09b20c3e5b547d02445ca18a4e03", size = 767827, upload-time = "2025-08-05T19:42:34.192Z" }, -] - -[[package]] -name = "opencv-python" -version = "4.11.0.86" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/17/06/68c27a523103dad5837dc5b87e71285280c4f098c60e4fe8a8db6486ab09/opencv-python-4.11.0.86.tar.gz", hash = "sha256:03d60ccae62304860d232272e4a4fda93c39d595780cb40b161b310244b736a4", size = 95171956, upload-time = "2025-01-16T13:52:24.737Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/05/4d/53b30a2a3ac1f75f65a59eb29cf2ee7207ce64867db47036ad61743d5a23/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:432f67c223f1dc2824f5e73cdfcd9db0efc8710647d4e813012195dc9122a52a", size = 37326322, upload-time = "2025-01-16T13:52:25.887Z" }, - { url = "https://files.pythonhosted.org/packages/3b/84/0a67490741867eacdfa37bc18df96e08a9d579583b419010d7f3da8ff503/opencv_python-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:9d05ef13d23fe97f575153558653e2d6e87103995d54e6a35db3f282fe1f9c66", size = 56723197, upload-time = "2025-01-16T13:55:21.222Z" }, - { url = "https://files.pythonhosted.org/packages/f3/bd/29c126788da65c1fb2b5fb621b7fed0ed5f9122aa22a0868c5e2c15c6d23/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b92ae2c8852208817e6776ba1ea0d6b1e0a1b5431e971a2a0ddd2a8cc398202", size = 42230439, upload-time = "2025-01-16T13:51:35.822Z" }, - { url = "https://files.pythonhosted.org/packages/2c/8b/90eb44a40476fa0e71e05a0283947cfd74a5d36121a11d926ad6f3193cc4/opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b02611523803495003bd87362db3e1d2a0454a6a63025dc6658a9830570aa0d", size = 62986597, upload-time = "2025-01-16T13:52:08.836Z" }, - { url = "https://files.pythonhosted.org/packages/fb/d7/1d5941a9dde095468b288d989ff6539dd69cd429dbf1b9e839013d21b6f0/opencv_python-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:810549cb2a4aedaa84ad9a1c92fbfdfc14090e2749cedf2c1589ad8359aa169b", size = 29384337, upload-time = "2025-01-16T13:52:13.549Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/f1c30a92854540bf789e9cd5dde7ef49bbe63f855b85a2e6b3db8135c591/opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:085ad9b77c18853ea66283e98affefe2de8cc4c1f43eda4c100cf9b2721142ec", size = 39488044, upload-time = "2025-01-16T13:52:21.928Z" }, -] - -[[package]] -name = "packaging" -version = "25.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, -] - -[[package]] -name = "pillow" -version = "12.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/21/c2bcdd5906101a30244eaffc1b6e6ce71a31bd0742a01eb89e660ebfac2d/pillow-12.2.0.tar.gz", hash = "sha256:a830b1a40919539d07806aa58e1b114df53ddd43213d9c8b75847eee6c0182b5", size = 46987819, upload-time = "2026-04-01T14:46:17.687Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/01/53d10cf0dbad820a8db274d259a37ba50b88b24768ddccec07355382d5ad/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:8297651f5b5679c19968abefd6bb84d95fe30ef712eb1b2d9b2d31ca61267f4c", size = 4100837, upload-time = "2026-04-01T14:43:41.506Z" }, - { url = "https://files.pythonhosted.org/packages/0f/98/f3a6657ecb698c937f6c76ee564882945f29b79bad496abcba0e84659ec5/pillow-12.2.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:50d8520da2a6ce0af445fa6d648c4273c3eeefbc32d7ce049f22e8b5c3daecc2", size = 4176528, upload-time = "2026-04-01T14:43:43.773Z" }, - { url = "https://files.pythonhosted.org/packages/69/bc/8986948f05e3ea490b8442ea1c1d4d990b24a7e43d8a51b2c7d8b1dced36/pillow-12.2.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:766cef22385fa1091258ad7e6216792b156dc16d8d3fa607e7545b2b72061f1c", size = 3640401, upload-time = "2026-04-01T14:43:45.87Z" }, - { url = "https://files.pythonhosted.org/packages/34/46/6c717baadcd62bc8ed51d238d521ab651eaa74838291bda1f86fe1f864c9/pillow-12.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5d2fd0fa6b5d9d1de415060363433f28da8b1526c1c129020435e186794b3795", size = 5308094, upload-time = "2026-04-01T14:43:48.438Z" }, - { url = "https://files.pythonhosted.org/packages/71/43/905a14a8b17fdb1ccb58d282454490662d2cb89a6bfec26af6d3520da5ec/pillow-12.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56b25336f502b6ed02e889f4ece894a72612fe885889a6e8c4c80239ff6e5f5f", size = 4695402, upload-time = "2026-04-01T14:43:51.292Z" }, - { url = "https://files.pythonhosted.org/packages/73/dd/42107efcb777b16fa0393317eac58f5b5cf30e8392e266e76e51cff28c3d/pillow-12.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f1c943e96e85df3d3478f7b691f229887e143f81fedab9b20205349ab04d73ed", size = 6280005, upload-time = "2026-04-01T14:43:54.242Z" }, - { url = "https://files.pythonhosted.org/packages/a8/68/b93e09e5e8549019e61acf49f65b1a8530765a7f812c77a7461bca7e4494/pillow-12.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:03f6fab9219220f041c74aeaa2939ff0062bd5c364ba9ce037197f4c6d498cd9", size = 8090669, upload-time = "2026-04-01T14:43:57.335Z" }, - { url = "https://files.pythonhosted.org/packages/4b/6e/3ccb54ce8ec4ddd1accd2d89004308b7b0b21c4ac3d20fa70af4760a4330/pillow-12.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cdfebd752ec52bf5bb4e35d9c64b40826bc5b40a13df7c3cda20a2c03a0f5ed", size = 6395194, upload-time = "2026-04-01T14:43:59.864Z" }, - { url = "https://files.pythonhosted.org/packages/67/ee/21d4e8536afd1a328f01b359b4d3997b291ffd35a237c877b331c1c3b71c/pillow-12.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eedf4b74eda2b5a4b2b2fb4c006d6295df3bf29e459e198c90ea48e130dc75c3", size = 7082423, upload-time = "2026-04-01T14:44:02.74Z" }, - { url = "https://files.pythonhosted.org/packages/78/5f/e9f86ab0146464e8c133fe85df987ed9e77e08b29d8d35f9f9f4d6f917ba/pillow-12.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9", size = 6505667, upload-time = "2026-04-01T14:44:05.381Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1e/409007f56a2fdce61584fd3acbc2bbc259857d555196cedcadc68c015c82/pillow-12.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1e1757442ed87f4912397c6d35a0db6a7b52592156014706f17658ff58bbf795", size = 7208580, upload-time = "2026-04-01T14:44:08.39Z" }, - { url = "https://files.pythonhosted.org/packages/23/c4/7349421080b12fb35414607b8871e9534546c128a11965fd4a7002ccfbee/pillow-12.2.0-cp313-cp313-win32.whl", hash = "sha256:144748b3af2d1b358d41286056d0003f47cb339b8c43a9ea42f5fea4d8c66b6e", size = 6375896, upload-time = "2026-04-01T14:44:11.197Z" }, - { url = "https://files.pythonhosted.org/packages/3f/82/8a3739a5e470b3c6cbb1d21d315800d8e16bff503d1f16b03a4ec3212786/pillow-12.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:390ede346628ccc626e5730107cde16c42d3836b89662a115a921f28440e6a3b", size = 7081266, upload-time = "2026-04-01T14:44:13.947Z" }, - { url = "https://files.pythonhosted.org/packages/c3/25/f968f618a062574294592f668218f8af564830ccebdd1fa6200f598e65c5/pillow-12.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:8023abc91fba39036dbce14a7d6535632f99c0b857807cbbbf21ecc9f4717f06", size = 2463508, upload-time = "2026-04-01T14:44:16.312Z" }, - { url = "https://files.pythonhosted.org/packages/4d/a4/b342930964e3cb4dce5038ae34b0eab4653334995336cd486c5a8c25a00c/pillow-12.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:042db20a421b9bafecc4b84a8b6e444686bd9d836c7fd24542db3e7df7baad9b", size = 5309927, upload-time = "2026-04-01T14:44:18.89Z" }, - { url = "https://files.pythonhosted.org/packages/9f/de/23198e0a65a9cf06123f5435a5d95cea62a635697f8f03d134d3f3a96151/pillow-12.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd025009355c926a84a612fecf58bb315a3f6814b17ead51a8e48d3823d9087f", size = 4698624, upload-time = "2026-04-01T14:44:21.115Z" }, - { url = "https://files.pythonhosted.org/packages/01/a6/1265e977f17d93ea37aa28aa81bad4fa597933879fac2520d24e021c8da3/pillow-12.2.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88ddbc66737e277852913bd1e07c150cc7bb124539f94c4e2df5344494e0a612", size = 6321252, upload-time = "2026-04-01T14:44:23.663Z" }, - { url = "https://files.pythonhosted.org/packages/3c/83/5982eb4a285967baa70340320be9f88e57665a387e3a53a7f0db8231a0cd/pillow-12.2.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d362d1878f00c142b7e1a16e6e5e780f02be8195123f164edf7eddd911eefe7c", size = 8126550, upload-time = "2026-04-01T14:44:26.772Z" }, - { url = "https://files.pythonhosted.org/packages/4e/48/6ffc514adce69f6050d0753b1a18fd920fce8cac87620d5a31231b04bfc5/pillow-12.2.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2c727a6d53cb0018aadd8018c2b938376af27914a68a492f59dfcaca650d5eea", size = 6433114, upload-time = "2026-04-01T14:44:29.615Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f9a77144231fb8d40ee27107b4463e205fa4677e2ca2548e14da5cf18dce/pillow-12.2.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:efd8c21c98c5cc60653bcb311bef2ce0401642b7ce9d09e03a7da87c878289d4", size = 7115667, upload-time = "2026-04-01T14:44:32.773Z" }, - { url = "https://files.pythonhosted.org/packages/c1/fc/ac4ee3041e7d5a565e1c4fd72a113f03b6394cc72ab7089d27608f8aaccb/pillow-12.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f08483a632889536b8139663db60f6724bfcb443c96f1b18855860d7d5c0fd4", size = 6538966, upload-time = "2026-04-01T14:44:35.252Z" }, - { url = "https://files.pythonhosted.org/packages/c0/a8/27fb307055087f3668f6d0a8ccb636e7431d56ed0750e07a60547b1e083e/pillow-12.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dac8d77255a37e81a2efcbd1fc05f1c15ee82200e6c240d7e127e25e365c39ea", size = 7238241, upload-time = "2026-04-01T14:44:37.875Z" }, - { url = "https://files.pythonhosted.org/packages/ad/4b/926ab182c07fccae9fcb120043464e1ff1564775ec8864f21a0ebce6ac25/pillow-12.2.0-cp313-cp313t-win32.whl", hash = "sha256:ee3120ae9dff32f121610bb08e4313be87e03efeadfc6c0d18f89127e24d0c24", size = 6379592, upload-time = "2026-04-01T14:44:40.336Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c4/f9e476451a098181b30050cc4c9a3556b64c02cf6497ea421ac047e89e4b/pillow-12.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:325ca0528c6788d2a6c3d40e3568639398137346c3d6e66bb61db96b96511c98", size = 7085542, upload-time = "2026-04-01T14:44:43.251Z" }, - { url = "https://files.pythonhosted.org/packages/00/a4/285f12aeacbe2d6dc36c407dfbbe9e96d4a80b0fb710a337f6d2ad978c75/pillow-12.2.0-cp313-cp313t-win_arm64.whl", hash = "sha256:2e5a76d03a6c6dcef67edabda7a52494afa4035021a79c8558e14af25313d453", size = 2465765, upload-time = "2026-04-01T14:44:45.996Z" }, - { url = "https://files.pythonhosted.org/packages/bf/98/4595daa2365416a86cb0d495248a393dfc84e96d62ad080c8546256cb9c0/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:3adc9215e8be0448ed6e814966ecf3d9952f0ea40eb14e89a102b87f450660d8", size = 4100848, upload-time = "2026-04-01T14:44:48.48Z" }, - { url = "https://files.pythonhosted.org/packages/0b/79/40184d464cf89f6663e18dfcf7ca21aae2491fff1a16127681bf1fa9b8cf/pillow-12.2.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:6a9adfc6d24b10f89588096364cc726174118c62130c817c2837c60cf08a392b", size = 4176515, upload-time = "2026-04-01T14:44:51.353Z" }, - { url = "https://files.pythonhosted.org/packages/b0/63/703f86fd4c422a9cf722833670f4f71418fb116b2853ff7da722ea43f184/pillow-12.2.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:6a6e67ea2e6feda684ed370f9a1c52e7a243631c025ba42149a2cc5934dec295", size = 3640159, upload-time = "2026-04-01T14:44:53.588Z" }, - { url = "https://files.pythonhosted.org/packages/71/e0/fb22f797187d0be2270f83500aab851536101b254bfa1eae10795709d283/pillow-12.2.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2bb4a8d594eacdfc59d9e5ad972aa8afdd48d584ffd5f13a937a664c3e7db0ed", size = 5312185, upload-time = "2026-04-01T14:44:56.039Z" }, - { url = "https://files.pythonhosted.org/packages/ba/8c/1a9e46228571de18f8e28f16fabdfc20212a5d019f3e3303452b3f0a580d/pillow-12.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:80b2da48193b2f33ed0c32c38140f9d3186583ce7d516526d462645fd98660ae", size = 4695386, upload-time = "2026-04-01T14:44:58.663Z" }, - { url = "https://files.pythonhosted.org/packages/70/62/98f6b7f0c88b9addd0e87c217ded307b36be024d4ff8869a812b241d1345/pillow-12.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22db17c68434de69d8ecfc2fe821569195c0c373b25cccb9cbdacf2c6e53c601", size = 6280384, upload-time = "2026-04-01T14:45:01.5Z" }, - { url = "https://files.pythonhosted.org/packages/5e/03/688747d2e91cfbe0e64f316cd2e8005698f76ada3130d0194664174fa5de/pillow-12.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7b14cc0106cd9aecda615dd6903840a058b4700fcb817687d0ee4fc8b6e389be", size = 8091599, upload-time = "2026-04-01T14:45:04.5Z" }, - { url = "https://files.pythonhosted.org/packages/f6/35/577e22b936fcdd66537329b33af0b4ccfefaeabd8aec04b266528cddb33c/pillow-12.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cbeb542b2ebc6fcdacabf8aca8c1a97c9b3ad3927d46b8723f9d4f033288a0f", size = 6396021, upload-time = "2026-04-01T14:45:07.117Z" }, - { url = "https://files.pythonhosted.org/packages/11/8d/d2532ad2a603ca2b93ad9f5135732124e57811d0168155852f37fbce2458/pillow-12.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4bfd07bc812fbd20395212969e41931001fd59eb55a60658b0e5710872e95286", size = 7083360, upload-time = "2026-04-01T14:45:09.763Z" }, - { url = "https://files.pythonhosted.org/packages/5e/26/d325f9f56c7e039034897e7380e9cc202b1e368bfd04d4cbe6a441f02885/pillow-12.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9aba9a17b623ef750a4d11b742cbafffeb48a869821252b30ee21b5e91392c50", size = 6507628, upload-time = "2026-04-01T14:45:12.378Z" }, - { url = "https://files.pythonhosted.org/packages/5f/f7/769d5632ffb0988f1c5e7660b3e731e30f7f8ec4318e94d0a5d674eb65a4/pillow-12.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:deede7c263feb25dba4e82ea23058a235dcc2fe1f6021025dc71f2b618e26104", size = 7209321, upload-time = "2026-04-01T14:45:15.122Z" }, - { url = "https://files.pythonhosted.org/packages/6a/7a/c253e3c645cd47f1aceea6a8bacdba9991bf45bb7dfe927f7c893e89c93c/pillow-12.2.0-cp314-cp314-win32.whl", hash = "sha256:632ff19b2778e43162304d50da0181ce24ac5bb8180122cbe1bf4673428328c7", size = 6479723, upload-time = "2026-04-01T14:45:17.797Z" }, - { url = "https://files.pythonhosted.org/packages/cd/8b/601e6566b957ca50e28725cb6c355c59c2c8609751efbecd980db44e0349/pillow-12.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:4e6c62e9d237e9b65fac06857d511e90d8461a32adcc1b9065ea0c0fa3a28150", size = 7217400, upload-time = "2026-04-01T14:45:20.529Z" }, - { url = "https://files.pythonhosted.org/packages/d6/94/220e46c73065c3e2951bb91c11a1fb636c8c9ad427ac3ce7d7f3359b9b2f/pillow-12.2.0-cp314-cp314-win_arm64.whl", hash = "sha256:b1c1fbd8a5a1af3412a0810d060a78b5136ec0836c8a4ef9aa11807f2a22f4e1", size = 2554835, upload-time = "2026-04-01T14:45:23.162Z" }, - { url = "https://files.pythonhosted.org/packages/b6/ab/1b426a3974cb0e7da5c29ccff4807871d48110933a57207b5a676cccc155/pillow-12.2.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:57850958fe9c751670e49b2cecf6294acc99e562531f4bd317fa5ddee2068463", size = 5314225, upload-time = "2026-04-01T14:45:25.637Z" }, - { url = "https://files.pythonhosted.org/packages/19/1e/dce46f371be2438eecfee2a1960ee2a243bbe5e961890146d2dee1ff0f12/pillow-12.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d5d38f1411c0ed9f97bcb49b7bd59b6b7c314e0e27420e34d99d844b9ce3b6f3", size = 4698541, upload-time = "2026-04-01T14:45:28.355Z" }, - { url = "https://files.pythonhosted.org/packages/55/c3/7fbecf70adb3a0c33b77a300dc52e424dc22ad8cdc06557a2e49523b703d/pillow-12.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5c0a9f29ca8e79f09de89293f82fc9b0270bb4af1d58bc98f540cc4aedf03166", size = 6322251, upload-time = "2026-04-01T14:45:30.924Z" }, - { url = "https://files.pythonhosted.org/packages/1c/3c/7fbc17cfb7e4fe0ef1642e0abc17fc6c94c9f7a16be41498e12e2ba60408/pillow-12.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1610dd6c61621ae1cf811bef44d77e149ce3f7b95afe66a4512f8c59f25d9ebe", size = 8127807, upload-time = "2026-04-01T14:45:33.908Z" }, - { url = "https://files.pythonhosted.org/packages/ff/c3/a8ae14d6defd2e448493ff512fae903b1e9bd40b72efb6ec55ce0048c8ce/pillow-12.2.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a34329707af4f73cf1782a36cd2289c0368880654a2c11f027bcee9052d35dd", size = 6433935, upload-time = "2026-04-01T14:45:36.623Z" }, - { url = "https://files.pythonhosted.org/packages/6e/32/2880fb3a074847ac159d8f902cb43278a61e85f681661e7419e6596803ed/pillow-12.2.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e9c4f5b3c546fa3458a29ab22646c1c6c787ea8f5ef51300e5a60300736905e", size = 7116720, upload-time = "2026-04-01T14:45:39.258Z" }, - { url = "https://files.pythonhosted.org/packages/46/87/495cc9c30e0129501643f24d320076f4cc54f718341df18cc70ec94c44e1/pillow-12.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fb043ee2f06b41473269765c2feae53fc2e2fbf96e5e22ca94fb5ad677856f06", size = 6540498, upload-time = "2026-04-01T14:45:41.879Z" }, - { url = "https://files.pythonhosted.org/packages/18/53/773f5edca692009d883a72211b60fdaf8871cbef075eaa9d577f0a2f989e/pillow-12.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f278f034eb75b4e8a13a54a876cc4a5ab39173d2cdd93a638e1b467fc545ac43", size = 7239413, upload-time = "2026-04-01T14:45:44.705Z" }, - { url = "https://files.pythonhosted.org/packages/c9/e4/4b64a97d71b2a83158134abbb2f5bd3f8a2ea691361282f010998f339ec7/pillow-12.2.0-cp314-cp314t-win32.whl", hash = "sha256:6bb77b2dcb06b20f9f4b4a8454caa581cd4dd0643a08bacf821216a16d9c8354", size = 6482084, upload-time = "2026-04-01T14:45:47.568Z" }, - { url = "https://files.pythonhosted.org/packages/ba/13/306d275efd3a3453f72114b7431c877d10b1154014c1ebbedd067770d629/pillow-12.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:6562ace0d3fb5f20ed7290f1f929cae41b25ae29528f2af1722966a0a02e2aa1", size = 7225152, upload-time = "2026-04-01T14:45:50.032Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6e/cf826fae916b8658848d7b9f38d88da6396895c676e8086fc0988073aaf8/pillow-12.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:aa88ccfe4e32d362816319ed727a004423aab09c5cea43c01a4b435643fa34eb", size = 2556579, upload-time = "2026-04-01T14:45:52.529Z" }, -] - -[[package]] -name = "pipecat-ai" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiofiles" }, - { name = "aiohttp" }, - { name = "audioop-lts" }, - { name = "docstring-parser" }, - { name = "loguru" }, - { name = "markdown" }, - { name = "nltk" }, - { name = "numba" }, - { name = "numpy" }, - { name = "onnxruntime" }, - { name = "openai" }, - { name = "pillow" }, - { name = "protobuf" }, - { name = "pydantic" }, - { name = "pyloudnorm" }, - { name = "pyyaml" }, - { name = "pyyaml-include" }, - { name = "resampy" }, - { name = "soxr" }, - { name = "typing-extensions" }, - { name = "websockets" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d5/ed/4bcf67703996ac6a0896dc64232e79fdfcb23eccff36929a7a234587a085/pipecat_ai-1.4.0.tar.gz", hash = "sha256:4d1e68da79e0632dcdaf66581fbf07e840249dfb715dc6e57b423d20fc3520d7", size = 11505429, upload-time = "2026-06-17T03:27:48.83Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/ab/9acf81effd93f6f6d1ededbe5db8fedb50d196363d75188dc21d8aa71d5a/pipecat_ai-1.4.0-py3-none-any.whl", hash = "sha256:d7e1f2ee6f2646720daed3a028835d0e26e5e93787d0424ab00f4c7b6034a170", size = 11171447, upload-time = "2026-06-17T03:27:46.367Z" }, -] - -[package.optional-dependencies] -runner = [ - { name = "fastapi" }, - { name = "pipecat-ai-prebuilt" }, - { name = "python-dotenv" }, - { name = "uvicorn" }, -] -webrtc = [ - { name = "aiortc" }, - { name = "opencv-python" }, -] - -[[package]] -name = "pipecat-ai-prebuilt" -version = "1.0.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "fastapi", extra = ["all"] }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2f/e3/8236e20447691198ba2aebc4d0e1fe332b2fbb4deedb733ec44626966696/pipecat_ai_prebuilt-1.0.2.tar.gz", hash = "sha256:b76654dba9705651ef09fdd569241bae9c9572b1db147ac94bef3bc4da852163", size = 402681, upload-time = "2026-06-03T19:10:30.618Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/13/3ca224c3898dbe54d82f48ad7b8b6543393d0d556373edc8b2e570bc4b6a/pipecat_ai_prebuilt-1.0.2-py3-none-any.whl", hash = "sha256:8e8f09345b1202b85394818e7eaf99c7dd0314de78db805b3ef37148ff7a355a", size = 402745, upload-time = "2026-06-03T19:10:28.794Z" }, -] - -[[package]] -name = "pipecat-bot" -version = "0.1.0" -source = { virtual = "." } -dependencies = [ - { name = "pipecat-ai", extra = ["runner", "webrtc"] }, -] - -[package.metadata] -requires-dist = [{ name = "pipecat-ai", extras = ["webrtc", "gladia", "runner", "silero"], specifier = ">=1.4.0,<1.5.0" }] - -[[package]] -name = "propcache" -version = "0.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, - { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, - { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, - { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, - { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, - { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, - { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, - { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, - { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, - { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, - { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, - { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, -] - -[[package]] -name = "protobuf" -version = "6.33.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/70/e908e9c5e52ef7c3a6c7902c9dfbb34c7e29c25d2f81ade3856445fd5c94/protobuf-6.33.6.tar.gz", hash = "sha256:a6768d25248312c297558af96a9f9c929e8c4cee0659cb07e780731095f38135", size = 444531, upload-time = "2026-03-18T19:05:00.988Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/9f/2f509339e89cfa6f6a4c4ff50438db9ca488dec341f7e454adad60150b00/protobuf-6.33.6-cp310-abi3-win32.whl", hash = "sha256:7d29d9b65f8afef196f8334e80d6bc1d5d4adedb449971fefd3723824e6e77d3", size = 425739, upload-time = "2026-03-18T19:04:48.373Z" }, - { url = "https://files.pythonhosted.org/packages/76/5d/683efcd4798e0030c1bab27374fd13a89f7c2515fb1f3123efdfaa5eab57/protobuf-6.33.6-cp310-abi3-win_amd64.whl", hash = "sha256:0cd27b587afca21b7cfa59a74dcbd48a50f0a6400cfb59391340ad729d91d326", size = 437089, upload-time = "2026-03-18T19:04:50.381Z" }, - { url = "https://files.pythonhosted.org/packages/5c/01/a3c3ed5cd186f39e7880f8303cc51385a198a81469d53d0fdecf1f64d929/protobuf-6.33.6-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9720e6961b251bde64edfdab7d500725a2af5280f3f4c87e57c0208376aa8c3a", size = 427737, upload-time = "2026-03-18T19:04:51.866Z" }, - { url = "https://files.pythonhosted.org/packages/ee/90/b3c01fdec7d2f627b3a6884243ba328c1217ed2d978def5c12dc50d328a3/protobuf-6.33.6-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:e2afbae9b8e1825e3529f88d514754e094278bb95eadc0e199751cdd9a2e82a2", size = 324610, upload-time = "2026-03-18T19:04:53.096Z" }, - { url = "https://files.pythonhosted.org/packages/9b/ca/25afc144934014700c52e05103c2421997482d561f3101ff352e1292fb81/protobuf-6.33.6-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:c96c37eec15086b79762ed265d59ab204dabc53056e3443e702d2681f4b39ce3", size = 339381, upload-time = "2026-03-18T19:04:54.616Z" }, - { url = "https://files.pythonhosted.org/packages/16/92/d1e32e3e0d894fe00b15ce28ad4944ab692713f2e7f0a99787405e43533a/protobuf-6.33.6-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:e9db7e292e0ab79dd108d7f1a94fe31601ce1ee3f7b79e0692043423020b0593", size = 323436, upload-time = "2026-03-18T19:04:55.768Z" }, - { url = "https://files.pythonhosted.org/packages/c4/72/02445137af02769918a93807b2b7890047c32bfb9f90371cbc12688819eb/protobuf-6.33.6-py3-none-any.whl", hash = "sha256:77179e006c476e69bf8e8ce866640091ec42e1beb80b213c3900006ecfba6901", size = 170656, upload-time = "2026-03-18T19:04:59.826Z" }, -] - -[[package]] -name = "pycparser" -version = "2.22" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, -] - -[[package]] -name = "pydantic" -version = "2.11.7" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, -] - -[package.optional-dependencies] -email = [ - { name = "email-validator" }, -] - -[[package]] -name = "pydantic-core" -version = "2.33.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, - { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, - { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, - { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, - { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, - { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, - { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, - { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, - { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, - { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, - { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, - { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, - { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, - { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, - { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, -] - -[[package]] -name = "pydantic-extra-types" -version = "2.10.5" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pydantic" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7e/ba/4178111ec4116c54e1dc7ecd2a1ff8f54256cdbd250e576882911e8f710a/pydantic_extra_types-2.10.5.tar.gz", hash = "sha256:1dcfa2c0cf741a422f088e0dbb4690e7bfadaaf050da3d6f80d6c3cf58a2bad8", size = 138429, upload-time = "2025-06-02T09:31:52.713Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/70/1a/5f4fd9e7285f10c44095a4f9fe17d0f358d1702a7c74a9278c794e8a7537/pydantic_extra_types-2.10.5-py3-none-any.whl", hash = "sha256:b60c4e23d573a69a4f1a16dd92888ecc0ef34fb0e655b4f305530377fa70e7a8", size = 38315, upload-time = "2025-06-02T09:31:51.229Z" }, -] - -[[package]] -name = "pydantic-settings" -version = "2.10.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pydantic" }, - { name = "python-dotenv" }, - { name = "typing-inspection" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/68/85/1ea668bbab3c50071ca613c6ab30047fb36ab0da1b92fa8f17bbc38fd36c/pydantic_settings-2.10.1.tar.gz", hash = "sha256:06f0062169818d0f5524420a360d632d5857b83cffd4d42fe29597807a1614ee", size = 172583, upload-time = "2025-06-24T13:26:46.841Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/58/f0/427018098906416f580e3cf1366d3b1abfb408a0652e9f31600c24a1903c/pydantic_settings-2.10.1-py3-none-any.whl", hash = "sha256:a60952460b99cf661dc25c29c0ef171721f98bfcb52ef8d9ea4c943d7c8cc796", size = 45235, upload-time = "2025-06-24T13:26:45.485Z" }, -] - -[[package]] -name = "pyee" -version = "13.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/95/03/1fd98d5841cd7964a27d729ccf2199602fe05eb7a405c1462eb7277945ed/pyee-13.0.0.tar.gz", hash = "sha256:b391e3c5a434d1f5118a25615001dbc8f669cf410ab67d04c4d4e07c55481c37", size = 31250, upload-time = "2025-03-17T18:53:15.955Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/4d/b9add7c84060d4c1906abe9a7e5359f2a60f7a9a4f67268b2766673427d8/pyee-13.0.0-py3-none-any.whl", hash = "sha256:48195a3cddb3b1515ce0695ed76036b5ccc2ef3a9f963ff9f77aec0139845498", size = 15730, upload-time = "2025-03-17T18:53:14.532Z" }, -] - -[[package]] -name = "pygments" -version = "2.20.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, -] - -[[package]] -name = "pylibsrtp" -version = "0.12.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/54/c8/a59e61f5dd655f5f21033bd643dd31fe980a537ed6f373cdfb49d3a3bd32/pylibsrtp-0.12.0.tar.gz", hash = "sha256:f5c3c0fb6954e7bb74dc7e6398352740ca67327e6759a199fe852dbc7b84b8ac", size = 10878, upload-time = "2025-04-06T12:35:51.804Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/65/f0/b818395c4cae2d5cc5a0c78fc47d694eae78e6a0d678baeb52a381a26327/pylibsrtp-0.12.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:5adde3cf9a5feef561d0eb7ed99dedb30b9bf1ce9a0c1770b2bf19fd0b98bc9a", size = 1727918, upload-time = "2025-04-06T12:35:36.456Z" }, - { url = "https://files.pythonhosted.org/packages/05/1a/ee553abe4431b7bd9bab18f078c0ad2298b94ea55e664da6ecb8700b1052/pylibsrtp-0.12.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:d2c81d152606721331ece87c80ed17159ba6da55c7c61a6b750cff67ab7f63a5", size = 2057900, upload-time = "2025-04-06T12:35:38.253Z" }, - { url = "https://files.pythonhosted.org/packages/7f/a2/2dd0188be58d3cba48c5eb4b3c787e5743c111cd0c9289de4b6f2798382a/pylibsrtp-0.12.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:242fa3d44219846bf1734d5df595563a2c8fbb0fb00ccc79ab0f569fc0af2c1b", size = 2567047, upload-time = "2025-04-06T12:35:39.797Z" }, - { url = "https://files.pythonhosted.org/packages/6c/3a/4bdab9fc1d78f2efa02c8a8f3e9c187bfa278e89481b5123f07c8dd69310/pylibsrtp-0.12.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b74aaf8fac1b119a3c762f54751c3d20e77227b84c26d85aae57c2c43129b49c", size = 2168775, upload-time = "2025-04-06T12:35:41.422Z" }, - { url = "https://files.pythonhosted.org/packages/d0/fc/0b1e1bfed420d79427d50aff84c370dcd78d81af9500c1e86fbcc5bf95e1/pylibsrtp-0.12.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33e3e223102989b71f07e1deeb804170ed53fb4e1b283762eb031bd45bb425d4", size = 2225033, upload-time = "2025-04-06T12:35:43.03Z" }, - { url = "https://files.pythonhosted.org/packages/39/7b/e1021d27900315c2c077ec7d45f50274cedbdde067ff679d44df06f01a8a/pylibsrtp-0.12.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:36d07de64dbc82dbbb99fd77f36c8e23d6730bdbcccf09701945690a9a9a422a", size = 2606093, upload-time = "2025-04-06T12:35:44.587Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c2/0fae6687a06fcde210a778148ec808af49e431c36fe9908503a695c35479/pylibsrtp-0.12.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:ef03b4578577690f716fd023daed8914eee6de9a764fa128eda19a0e645cc032", size = 2193213, upload-time = "2025-04-06T12:35:46.167Z" }, - { url = "https://files.pythonhosted.org/packages/67/c2/2ed7a4a5c38b999fd34298f76b93d29f5ba8c06f85cfad3efd9468343715/pylibsrtp-0.12.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:0a8421e9fe4d20ce48d439430e55149f12b1bca1b0436741972c362c49948c0a", size = 2256774, upload-time = "2025-04-06T12:35:47.704Z" }, - { url = "https://files.pythonhosted.org/packages/48/d7/f13fedce3b21d24f6f154d1dee7287464a34728dcb3b0c50f687dbad5765/pylibsrtp-0.12.0-cp39-abi3-win32.whl", hash = "sha256:cbc9bfbfb2597e993a1aa16b832ba16a9dd4647f70815421bb78484f8b50b924", size = 1156186, upload-time = "2025-04-06T12:35:48.78Z" }, - { url = "https://files.pythonhosted.org/packages/9b/26/3a20b638a3a3995368f856eeb10701dd6c0e9ace9fb6665eeb1b95ccce19/pylibsrtp-0.12.0-cp39-abi3-win_amd64.whl", hash = "sha256:061ef1dbb5f08079ac6d7515b7e67ca48a3163e16e5b820beea6b01cb31d7e54", size = 1485072, upload-time = "2025-04-06T12:35:50.312Z" }, -] - -[[package]] -name = "pyloudnorm" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, - { name = "scipy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/23/00/f915eaa75326f4209941179c2b93ac477f2040e4aeff5bb21d16eb8058f9/pyloudnorm-0.2.0.tar.gz", hash = "sha256:8bf597658ea4e1975c275adf490f6deb5369ea409f2901f939915efa4b681b16", size = 14037, upload-time = "2026-01-04T11:43:35.265Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/b6/65a49a05614b2548edbba3aab118f2ebe7441dfd778accdcdce9f6567f20/pyloudnorm-0.2.0-py3-none-any.whl", hash = "sha256:9bb69afb904f59d007a7f9ba3d75d16fb8aeef35c44d6df822a9f192d69cf13f", size = 10879, upload-time = "2026-01-04T11:43:34.534Z" }, -] - -[[package]] -name = "pyopenssl" -version = "26.2.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cryptography" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1a/51/27a5ad5f939d08f690a326ef9582cda7140555180db71695f6fb747d6a36/pyopenssl-26.2.0.tar.gz", hash = "sha256:8c6fcecd1183a7fc897548dfe388b0cdb7f37e018200d8409cf33959dbe35387", size = 182195, upload-time = "2026-05-04T23:06:09.72Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/73/b8/a0e2790ae249d6f38c9f66de7a211621a7ab2650217bcd04e1262f578a56/pyopenssl-26.2.0-py3-none-any.whl", hash = "sha256:4f9d971bc5298b8bc1fab282803da04bf000c755d4ad9d99b52de2569ca19a70", size = 55823, upload-time = "2026-05-04T23:06:08.395Z" }, -] - -[[package]] -name = "python-dotenv" -version = "1.2.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, -] - -[[package]] -name = "python-multipart" -version = "0.0.31" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/64/7e/9b35ad8f3d9ca680f7c87a88f19612fdd8da9796c4d3b46e560ac79dcc4a/python_multipart-0.0.31.tar.gz", hash = "sha256:fc631183bb13e56db3158a4909908dfb2e23565286744e798241e63750e5d680", size = 46689, upload-time = "2026-06-04T08:27:49.014Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5e/1e/7f7f299527a5a8ad90acd5f2f78dfa6c8495c6301a3205106ea68a84de96/python_multipart-0.0.31-py3-none-any.whl", hash = "sha256:8408153d68a9773291fc1da39a8b85a50044bddbabd2dd72e9229776b7b15e28", size = 29996, upload-time = "2026-06-04T08:27:47.804Z" }, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, -] - -[[package]] -name = "pyyaml-include" -version = "1.4.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "pyyaml" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/7f/be/2d07ad85e3d593d69640876a8686eae2c533db8cb7bf298d25c421b4d2d5/pyyaml-include-1.4.1.tar.gz", hash = "sha256:1a96e33a99a3e56235f5221273832464025f02ff3d8539309a3bf00dec624471", size = 20592, upload-time = "2024-03-25T14:56:43.748Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/ca/6a2cc3a73170d10b5af1f1613baa2ed1f8f46f62dd0bfab2bffd2c2fe260/pyyaml_include-1.4.1-py3-none-any.whl", hash = "sha256:323c7f3a19c82fbc4d73abbaab7ef4f793e146a13383866831631b26ccc7fb00", size = 19079, upload-time = "2024-03-25T14:56:41.274Z" }, -] - -[[package]] -name = "regex" -version = "2025.7.34" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/de/e13fa6dc61d78b30ba47481f99933a3b49a57779d625c392d8036770a60d/regex-2025.7.34.tar.gz", hash = "sha256:9ead9765217afd04a86822dfcd4ed2747dfe426e887da413b15ff0ac2457e21a", size = 400714, upload-time = "2025-07-31T00:21:16.262Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/16/b709b2119975035169a25aa8e4940ca177b1a2e25e14f8d996d09130368e/regex-2025.7.34-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c3c9740a77aeef3f5e3aaab92403946a8d34437db930a0280e7e81ddcada61f5", size = 485334, upload-time = "2025-07-31T00:19:56.58Z" }, - { url = "https://files.pythonhosted.org/packages/94/a6/c09136046be0595f0331bc58a0e5f89c2d324cf734e0b0ec53cf4b12a636/regex-2025.7.34-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:69ed3bc611540f2ea70a4080f853741ec698be556b1df404599f8724690edbcd", size = 289942, upload-time = "2025-07-31T00:19:57.943Z" }, - { url = "https://files.pythonhosted.org/packages/36/91/08fc0fd0f40bdfb0e0df4134ee37cfb16e66a1044ac56d36911fd01c69d2/regex-2025.7.34-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d03c6f9dcd562c56527c42b8530aad93193e0b3254a588be1f2ed378cdfdea1b", size = 285991, upload-time = "2025-07-31T00:19:59.837Z" }, - { url = "https://files.pythonhosted.org/packages/be/2f/99dc8f6f756606f0c214d14c7b6c17270b6bbe26d5c1f05cde9dbb1c551f/regex-2025.7.34-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6164b1d99dee1dfad33f301f174d8139d4368a9fb50bf0a3603b2eaf579963ad", size = 797415, upload-time = "2025-07-31T00:20:01.668Z" }, - { url = "https://files.pythonhosted.org/packages/62/cf/2fcdca1110495458ba4e95c52ce73b361cf1cafd8a53b5c31542cde9a15b/regex-2025.7.34-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1e4f4f62599b8142362f164ce776f19d79bdd21273e86920a7b604a4275b4f59", size = 862487, upload-time = "2025-07-31T00:20:03.142Z" }, - { url = "https://files.pythonhosted.org/packages/90/38/899105dd27fed394e3fae45607c1983e138273ec167e47882fc401f112b9/regex-2025.7.34-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:72a26dcc6a59c057b292f39d41465d8233a10fd69121fa24f8f43ec6294e5415", size = 910717, upload-time = "2025-07-31T00:20:04.727Z" }, - { url = "https://files.pythonhosted.org/packages/ee/f6/4716198dbd0bcc9c45625ac4c81a435d1c4d8ad662e8576dac06bab35b17/regex-2025.7.34-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5273fddf7a3e602695c92716c420c377599ed3c853ea669c1fe26218867002f", size = 801943, upload-time = "2025-07-31T00:20:07.1Z" }, - { url = "https://files.pythonhosted.org/packages/40/5d/cff8896d27e4e3dd11dd72ac78797c7987eb50fe4debc2c0f2f1682eb06d/regex-2025.7.34-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c1844be23cd40135b3a5a4dd298e1e0c0cb36757364dd6cdc6025770363e06c1", size = 786664, upload-time = "2025-07-31T00:20:08.818Z" }, - { url = "https://files.pythonhosted.org/packages/10/29/758bf83cf7b4c34f07ac3423ea03cee3eb3176941641e4ccc05620f6c0b8/regex-2025.7.34-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dde35e2afbbe2272f8abee3b9fe6772d9b5a07d82607b5788e8508974059925c", size = 856457, upload-time = "2025-07-31T00:20:10.328Z" }, - { url = "https://files.pythonhosted.org/packages/d7/30/c19d212b619963c5b460bfed0ea69a092c6a43cba52a973d46c27b3e2975/regex-2025.7.34-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f6e8e7af516a7549412ce57613e859c3be27d55341a894aacaa11703a4c31a", size = 849008, upload-time = "2025-07-31T00:20:11.823Z" }, - { url = "https://files.pythonhosted.org/packages/9e/b8/3c35da3b12c87e3cc00010ef6c3a4ae787cff0bc381aa3d251def219969a/regex-2025.7.34-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:469142fb94a869beb25b5f18ea87646d21def10fbacb0bcb749224f3509476f0", size = 788101, upload-time = "2025-07-31T00:20:13.729Z" }, - { url = "https://files.pythonhosted.org/packages/47/80/2f46677c0b3c2b723b2c358d19f9346e714113865da0f5f736ca1a883bde/regex-2025.7.34-cp313-cp313-win32.whl", hash = "sha256:da7507d083ee33ccea1310447410c27ca11fb9ef18c95899ca57ff60a7e4d8f1", size = 264401, upload-time = "2025-07-31T00:20:15.233Z" }, - { url = "https://files.pythonhosted.org/packages/be/fa/917d64dd074682606a003cba33585c28138c77d848ef72fc77cbb1183849/regex-2025.7.34-cp313-cp313-win_amd64.whl", hash = "sha256:9d644de5520441e5f7e2db63aec2748948cc39ed4d7a87fd5db578ea4043d997", size = 275368, upload-time = "2025-07-31T00:20:16.711Z" }, - { url = "https://files.pythonhosted.org/packages/65/cd/f94383666704170a2154a5df7b16be28f0c27a266bffcd843e58bc84120f/regex-2025.7.34-cp313-cp313-win_arm64.whl", hash = "sha256:7bf1c5503a9f2cbd2f52d7e260acb3131b07b6273c470abb78568174fe6bde3f", size = 268482, upload-time = "2025-07-31T00:20:18.189Z" }, - { url = "https://files.pythonhosted.org/packages/ac/23/6376f3a23cf2f3c00514b1cdd8c990afb4dfbac3cb4a68b633c6b7e2e307/regex-2025.7.34-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:8283afe7042d8270cecf27cca558873168e771183d4d593e3c5fe5f12402212a", size = 485385, upload-time = "2025-07-31T00:20:19.692Z" }, - { url = "https://files.pythonhosted.org/packages/73/5b/6d4d3a0b4d312adbfd6d5694c8dddcf1396708976dd87e4d00af439d962b/regex-2025.7.34-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6c053f9647e3421dd2f5dff8172eb7b4eec129df9d1d2f7133a4386319b47435", size = 289788, upload-time = "2025-07-31T00:20:21.941Z" }, - { url = "https://files.pythonhosted.org/packages/92/71/5862ac9913746e5054d01cb9fb8125b3d0802c0706ef547cae1e7f4428fa/regex-2025.7.34-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a16dd56bbcb7d10e62861c3cd000290ddff28ea142ffb5eb3470f183628011ac", size = 286136, upload-time = "2025-07-31T00:20:26.146Z" }, - { url = "https://files.pythonhosted.org/packages/27/df/5b505dc447eb71278eba10d5ec940769ca89c1af70f0468bfbcb98035dc2/regex-2025.7.34-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69c593ff5a24c0d5c1112b0df9b09eae42b33c014bdca7022d6523b210b69f72", size = 797753, upload-time = "2025-07-31T00:20:27.919Z" }, - { url = "https://files.pythonhosted.org/packages/86/38/3e3dc953d13998fa047e9a2414b556201dbd7147034fbac129392363253b/regex-2025.7.34-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98d0ce170fcde1a03b5df19c5650db22ab58af375aaa6ff07978a85c9f250f0e", size = 863263, upload-time = "2025-07-31T00:20:29.803Z" }, - { url = "https://files.pythonhosted.org/packages/68/e5/3ff66b29dde12f5b874dda2d9dec7245c2051f2528d8c2a797901497f140/regex-2025.7.34-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d72765a4bff8c43711d5b0f5b452991a9947853dfa471972169b3cc0ba1d0751", size = 910103, upload-time = "2025-07-31T00:20:31.313Z" }, - { url = "https://files.pythonhosted.org/packages/9e/fe/14176f2182125977fba3711adea73f472a11f3f9288c1317c59cd16ad5e6/regex-2025.7.34-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4494f8fd95a77eb434039ad8460e64d57baa0434f1395b7da44015bef650d0e4", size = 801709, upload-time = "2025-07-31T00:20:33.323Z" }, - { url = "https://files.pythonhosted.org/packages/5a/0d/80d4e66ed24f1ba876a9e8e31b709f9fd22d5c266bf5f3ab3c1afe683d7d/regex-2025.7.34-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4f42b522259c66e918a0121a12429b2abcf696c6f967fa37bdc7b72e61469f98", size = 786726, upload-time = "2025-07-31T00:20:35.252Z" }, - { url = "https://files.pythonhosted.org/packages/12/75/c3ebb30e04a56c046f5c85179dc173818551037daae2c0c940c7b19152cb/regex-2025.7.34-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:aaef1f056d96a0a5d53ad47d019d5b4c66fe4be2da87016e0d43b7242599ffc7", size = 857306, upload-time = "2025-07-31T00:20:37.12Z" }, - { url = "https://files.pythonhosted.org/packages/b1/b2/a4dc5d8b14f90924f27f0ac4c4c4f5e195b723be98adecc884f6716614b6/regex-2025.7.34-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:656433e5b7dccc9bc0da6312da8eb897b81f5e560321ec413500e5367fcd5d47", size = 848494, upload-time = "2025-07-31T00:20:38.818Z" }, - { url = "https://files.pythonhosted.org/packages/0d/21/9ac6e07a4c5e8646a90b56b61f7e9dac11ae0747c857f91d3d2bc7c241d9/regex-2025.7.34-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e91eb2c62c39705e17b4d42d4b86c4e86c884c0d15d9c5a47d0835f8387add8e", size = 787850, upload-time = "2025-07-31T00:20:40.478Z" }, - { url = "https://files.pythonhosted.org/packages/be/6c/d51204e28e7bc54f9a03bb799b04730d7e54ff2718862b8d4e09e7110a6a/regex-2025.7.34-cp314-cp314-win32.whl", hash = "sha256:f978ddfb6216028c8f1d6b0f7ef779949498b64117fc35a939022f67f810bdcb", size = 269730, upload-time = "2025-07-31T00:20:42.253Z" }, - { url = "https://files.pythonhosted.org/packages/74/52/a7e92d02fa1fdef59d113098cb9f02c5d03289a0e9f9e5d4d6acccd10677/regex-2025.7.34-cp314-cp314-win_amd64.whl", hash = "sha256:4b7dc33b9b48fb37ead12ffc7bdb846ac72f99a80373c4da48f64b373a7abeae", size = 278640, upload-time = "2025-07-31T00:20:44.42Z" }, - { url = "https://files.pythonhosted.org/packages/d1/78/a815529b559b1771080faa90c3ab401730661f99d495ab0071649f139ebd/regex-2025.7.34-cp314-cp314-win_arm64.whl", hash = "sha256:4b8c4d39f451e64809912c82392933d80fe2e4a87eeef8859fcc5380d0173c64", size = 271757, upload-time = "2025-07-31T00:20:46.355Z" }, -] - -[[package]] -name = "resampy" -version = "0.4.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numba" }, - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/29/f1/34be702a69a5d272e844c98cee82351f880985cfbca0cc86378011078497/resampy-0.4.3.tar.gz", hash = "sha256:a0d1c28398f0e55994b739650afef4e3974115edbe96cd4bb81968425e916e47", size = 3080604, upload-time = "2024-03-05T20:36:08.119Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/b9/3b00ac340a1aab3389ebcc52c779914a44aadf7b0cb7a3bf053195735607/resampy-0.4.3-py3-none-any.whl", hash = "sha256:ad2ed64516b140a122d96704e32bc0f92b23f45419e8b8f478e5a05f83edcebd", size = 3076529, upload-time = "2024-03-05T20:36:02.439Z" }, -] - -[[package]] -name = "rich" -version = "14.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markdown-it-py" }, - { name = "pygments" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, -] - -[[package]] -name = "rich-toolkit" -version = "0.15.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "rich" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/65/36/cdb3d51371ad0cccbf1541506304783bd72d55790709b8eb68c0d401a13a/rich_toolkit-0.15.0.tar.gz", hash = "sha256:3f5730e9f2d36d0bfe01cf723948b7ecf4cc355d2b71e2c00e094f7963128c09", size = 115118, upload-time = "2025-08-11T10:55:37.909Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/75/e4/b0794eefb3cf78566b15e5bf576492c1d4a92ce5f6da55675bc11e9ef5d8/rich_toolkit-0.15.0-py3-none-any.whl", hash = "sha256:ddb91008283d4a7989fd8ff0324a48773a7a2276229c6a3070755645538ef1bb", size = 29062, upload-time = "2025-08-11T10:55:37.152Z" }, -] - -[[package]] -name = "rignore" -version = "0.6.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/73/46/05a94dc55ac03cf931d18e43b86ecee5ee054cb88b7853fffd741e35009c/rignore-0.6.4.tar.gz", hash = "sha256:e893fdd2d7fdcfa9407d0b7600ef2c2e2df97f55e1c45d4a8f54364829ddb0ab", size = 11633, upload-time = "2025-07-19T19:24:46.219Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/db/a3/edd7d0d5cc0720de132b6651cef95ee080ce5fca11c77d8a47db848e5f90/rignore-0.6.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:2b3b1e266ce45189240d14dfa1057f8013ea34b9bc8b3b44125ec8d25fdb3985", size = 885304, upload-time = "2025-07-19T19:23:54.268Z" }, - { url = "https://files.pythonhosted.org/packages/93/a1/d8d2fb97a6548307507d049b7e93885d4a0dfa1c907af5983fd9f9362a21/rignore-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45fe803628cc14714df10e8d6cdc23950a47eb9eb37dfea9a4779f4c672d2aa0", size = 818799, upload-time = "2025-07-19T19:23:47.544Z" }, - { url = "https://files.pythonhosted.org/packages/b1/cd/949981fcc180ad5ba7b31c52e78b74b2dea6b7bf744ad4c0c4b212f6da78/rignore-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e439f034277a947a4126e2da79dbb43e33d73d7c09d3d72a927e02f8a16f59aa", size = 892024, upload-time = "2025-07-19T19:22:36.18Z" }, - { url = "https://files.pythonhosted.org/packages/b0/d3/9042d701a8062d9c88f87760bbc2695ee2c23b3f002d34486b72a85f8efe/rignore-0.6.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:84b5121650ae24621154c7bdba8b8970b0739d8146505c9f38e0cda9385d1004", size = 871430, upload-time = "2025-07-19T19:22:49.62Z" }, - { url = "https://files.pythonhosted.org/packages/eb/50/3370249b984212b7355f3d9241aa6d02e706067c6d194a2614dfbc0f5b27/rignore-0.6.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52b0957b585ab48a445cf8ac1dbc33a272ab060835e583b4f95aa8c67c23fb2b", size = 1160559, upload-time = "2025-07-19T19:23:01.629Z" }, - { url = "https://files.pythonhosted.org/packages/6c/6f/2ad7f925838091d065524f30a8abda846d1813eee93328febf262b5cda21/rignore-0.6.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50359e0d5287b5e2743bd2f2fbf05df619c8282fd3af12f6628ff97b9675551d", size = 939947, upload-time = "2025-07-19T19:23:14.608Z" }, - { url = "https://files.pythonhosted.org/packages/1f/01/626ec94d62475ae7ef8b00ef98cea61cbea52a389a666703c97c4673d406/rignore-0.6.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efe18096dcb1596757dfe0b412aab6d32564473ae7ee58dea0a8b4be5b1a2e3b", size = 949471, upload-time = "2025-07-19T19:23:37.521Z" }, - { url = "https://files.pythonhosted.org/packages/e8/c3/699c4f03b3c46f4b5c02f17a0a339225da65aad547daa5b03001e7c6a382/rignore-0.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b79c212d9990a273ad91e8d9765e1766ef6ecedd3be65375d786a252762ba385", size = 974912, upload-time = "2025-07-19T19:23:27.13Z" }, - { url = "https://files.pythonhosted.org/packages/cd/35/04626c12f9f92a9fc789afc2be32838a5d9b23b6fa8b2ad4a8625638d15b/rignore-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6ffa7f2a8894c65aa5dc4e8ac8bbdf39a326c0c6589efd27686cfbb48f0197d", size = 1067281, upload-time = "2025-07-19T19:24:01.016Z" }, - { url = "https://files.pythonhosted.org/packages/fe/9c/8f17baf3b984afea151cb9094716f6f1fb8e8737db97fc6eb6d494bd0780/rignore-0.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a63f5720dffc8d8fb0a4d02fafb8370a4031ebf3f99a4e79f334a91e905b7349", size = 1134414, upload-time = "2025-07-19T19:24:13.534Z" }, - { url = "https://files.pythonhosted.org/packages/10/88/ef84ffa916a96437c12cefcc39d474122da9626d75e3a2ebe09ec5d32f1b/rignore-0.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ce33982da47ac5dc09d19b04fa8d7c9aa6292fc0bd1ecf33076989faa8886094", size = 1109330, upload-time = "2025-07-19T19:24:25.303Z" }, - { url = "https://files.pythonhosted.org/packages/27/43/2ada5a2ec03b82e903610a1c483f516f78e47700ee6db9823f739e08b3af/rignore-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d899621867aa266824fbd9150e298f19d25b93903ef0133c09f70c65a3416eca", size = 1120381, upload-time = "2025-07-19T19:24:37.798Z" }, - { url = "https://files.pythonhosted.org/packages/3b/99/e7bcc643085131cb14dbea772def72bf1f6fe9037171ebe177c4f228abc8/rignore-0.6.4-cp313-cp313-win32.whl", hash = "sha256:d0615a6bf4890ec5a90b5fb83666822088fbd4e8fcd740c386fcce51e2f6feea", size = 641761, upload-time = "2025-07-19T19:24:58.096Z" }, - { url = "https://files.pythonhosted.org/packages/d9/25/7798908044f27dea1a8abdc75c14523e33770137651e5f775a15143f4218/rignore-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:145177f0e32716dc2f220b07b3cde2385b994b7ea28d5c96fbec32639e9eac6f", size = 719876, upload-time = "2025-07-19T19:24:51.125Z" }, - { url = "https://files.pythonhosted.org/packages/b4/e3/ae1e30b045bf004ad77bbd1679b9afff2be8edb166520921c6f29420516a/rignore-0.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e55bf8f9bbd186f58ab646b4a08718c77131d28a9004e477612b0cbbd5202db2", size = 891776, upload-time = "2025-07-19T19:22:37.78Z" }, - { url = "https://files.pythonhosted.org/packages/45/a9/1193e3bc23ca0e6eb4f17cf4b99971237f97cfa6f241d98366dff90a6d09/rignore-0.6.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2521f7bf3ee1f2ab22a100a3a4eed39a97b025804e5afe4323528e9ce8f084a5", size = 871442, upload-time = "2025-07-19T19:22:50.972Z" }, - { url = "https://files.pythonhosted.org/packages/20/83/4c52ae429a0b2e1ce667e35b480e9a6846f9468c443baeaed5d775af9485/rignore-0.6.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0cc35773a8a9c119359ef974d0856988d4601d4daa6f532c05f66b4587cf35bc", size = 1159844, upload-time = "2025-07-19T19:23:02.751Z" }, - { url = "https://files.pythonhosted.org/packages/c1/2f/c740f5751f464c937bfe252dc15a024ae081352cfe80d94aa16d6a617482/rignore-0.6.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b665b1ea14457d7b49e834baabc635a3b8c10cfb5cca5c21161fabdbfc2b850e", size = 939456, upload-time = "2025-07-19T19:23:15.72Z" }, - { url = "https://files.pythonhosted.org/packages/fc/dd/68dbb08ac0edabf44dd144ff546a3fb0253c5af708e066847df39fc9188f/rignore-0.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c7fd339f344a8548724f289495b835bed7b81174a0bc1c28c6497854bd8855db", size = 1067070, upload-time = "2025-07-19T19:24:02.803Z" }, - { url = "https://files.pythonhosted.org/packages/3b/3a/7e7ea6f0d31d3f5beb0f2cf2c4c362672f5f7f125714458673fc579e2bed/rignore-0.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:91dc94b1cc5af8d6d25ce6edd29e7351830f19b0a03b75cb3adf1f76d00f3007", size = 1134598, upload-time = "2025-07-19T19:24:15.039Z" }, - { url = "https://files.pythonhosted.org/packages/7e/06/1b3307f6437d29bede5a95738aa89e6d910ba68d4054175c9f60d8e2c6b1/rignore-0.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4d1918221a249e5342b60fd5fa513bf3d6bf272a8738e66023799f0c82ecd788", size = 1108862, upload-time = "2025-07-19T19:24:26.765Z" }, - { url = "https://files.pythonhosted.org/packages/b0/d5/b37c82519f335f2c472a63fc6215c6f4c51063ecf3166e3acf508011afbd/rignore-0.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:240777332b859dc89dcba59ab6e3f1e062bc8e862ffa3e5f456e93f7fd5cb415", size = 1120002, upload-time = "2025-07-19T19:24:38.952Z" }, - { url = "https://files.pythonhosted.org/packages/ac/72/2f05559ed5e69bdfdb56ea3982b48e6c0017c59f7241f7e1c5cae992b347/rignore-0.6.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b0e548753e55cc648f1e7b02d9f74285fe48bb49cec93643d31e563773ab3f", size = 949454, upload-time = "2025-07-19T19:23:38.664Z" }, - { url = "https://files.pythonhosted.org/packages/0b/92/186693c8f838d670510ac1dfb35afbe964320fbffb343ba18f3d24441941/rignore-0.6.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6971ac9fdd5a0bd299a181096f091c4f3fd286643adceba98eccc03c688a6637", size = 974663, upload-time = "2025-07-19T19:23:28.24Z" }, -] - -[[package]] -name = "scipy" -version = "1.16.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f5/4a/b927028464795439faec8eaf0b03b011005c487bb2d07409f28bf30879c4/scipy-1.16.1.tar.gz", hash = "sha256:44c76f9e8b6e8e488a586190ab38016e4ed2f8a038af7cd3defa903c0a2238b3", size = 30580861, upload-time = "2025-07-27T16:33:30.834Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/93/0b/b5c99382b839854a71ca9482c684e3472badc62620287cbbdab499b75ce6/scipy-1.16.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5451606823a5e73dfa621a89948096c6528e2896e40b39248295d3a0138d594f", size = 36533717, upload-time = "2025-07-27T16:28:51.706Z" }, - { url = "https://files.pythonhosted.org/packages/eb/e5/69ab2771062c91e23e07c12e7d5033a6b9b80b0903ee709c3c36b3eb520c/scipy-1.16.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:89728678c5ca5abd610aee148c199ac1afb16e19844401ca97d43dc548a354eb", size = 28570009, upload-time = "2025-07-27T16:28:57.017Z" }, - { url = "https://files.pythonhosted.org/packages/f4/69/bd75dbfdd3cf524f4d753484d723594aed62cfaac510123e91a6686d520b/scipy-1.16.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e756d688cb03fd07de0fffad475649b03cb89bee696c98ce508b17c11a03f95c", size = 20841942, upload-time = "2025-07-27T16:29:01.152Z" }, - { url = "https://files.pythonhosted.org/packages/ea/74/add181c87663f178ba7d6144b370243a87af8476664d5435e57d599e6874/scipy-1.16.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5aa2687b9935da3ed89c5dbed5234576589dd28d0bf7cd237501ccfbdf1ad608", size = 23498507, upload-time = "2025-07-27T16:29:05.202Z" }, - { url = "https://files.pythonhosted.org/packages/1d/74/ece2e582a0d9550cee33e2e416cc96737dce423a994d12bbe59716f47ff1/scipy-1.16.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0851f6a1e537fe9399f35986897e395a1aa61c574b178c0d456be5b1a0f5ca1f", size = 33286040, upload-time = "2025-07-27T16:29:10.201Z" }, - { url = "https://files.pythonhosted.org/packages/e4/82/08e4076df538fb56caa1d489588d880ec7c52d8273a606bb54d660528f7c/scipy-1.16.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fedc2cbd1baed37474b1924c331b97bdff611d762c196fac1a9b71e67b813b1b", size = 35176096, upload-time = "2025-07-27T16:29:17.091Z" }, - { url = "https://files.pythonhosted.org/packages/fa/79/cd710aab8c921375711a8321c6be696e705a120e3011a643efbbcdeeabcc/scipy-1.16.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2ef500e72f9623a6735769e4b93e9dcb158d40752cdbb077f305487e3e2d1f45", size = 35490328, upload-time = "2025-07-27T16:29:22.928Z" }, - { url = "https://files.pythonhosted.org/packages/71/73/e9cc3d35ee4526d784520d4494a3e1ca969b071fb5ae5910c036a375ceec/scipy-1.16.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:978d8311674b05a8f7ff2ea6c6bce5d8b45a0cb09d4c5793e0318f448613ea65", size = 37939921, upload-time = "2025-07-27T16:29:29.108Z" }, - { url = "https://files.pythonhosted.org/packages/21/12/c0efd2941f01940119b5305c375ae5c0fcb7ec193f806bd8f158b73a1782/scipy-1.16.1-cp313-cp313-win_amd64.whl", hash = "sha256:81929ed0fa7a5713fcdd8b2e6f73697d3b4c4816d090dd34ff937c20fa90e8ab", size = 38479462, upload-time = "2025-07-27T16:30:24.078Z" }, - { url = "https://files.pythonhosted.org/packages/7a/19/c3d08b675260046a991040e1ea5d65f91f40c7df1045fffff412dcfc6765/scipy-1.16.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:bcc12db731858abda693cecdb3bdc9e6d4bd200213f49d224fe22df82687bdd6", size = 36938832, upload-time = "2025-07-27T16:29:35.057Z" }, - { url = "https://files.pythonhosted.org/packages/81/f2/ce53db652c033a414a5b34598dba6b95f3d38153a2417c5a3883da429029/scipy-1.16.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:744d977daa4becb9fc59135e75c069f8d301a87d64f88f1e602a9ecf51e77b27", size = 29093084, upload-time = "2025-07-27T16:29:40.201Z" }, - { url = "https://files.pythonhosted.org/packages/a9/ae/7a10ff04a7dc15f9057d05b33737ade244e4bd195caa3f7cc04d77b9e214/scipy-1.16.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:dc54f76ac18073bcecffb98d93f03ed6b81a92ef91b5d3b135dcc81d55a724c7", size = 21365098, upload-time = "2025-07-27T16:29:44.295Z" }, - { url = "https://files.pythonhosted.org/packages/36/ac/029ff710959932ad3c2a98721b20b405f05f752f07344622fd61a47c5197/scipy-1.16.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:367d567ee9fc1e9e2047d31f39d9d6a7a04e0710c86e701e053f237d14a9b4f6", size = 23896858, upload-time = "2025-07-27T16:29:48.784Z" }, - { url = "https://files.pythonhosted.org/packages/71/13/d1ef77b6bd7898720e1f0b6b3743cb945f6c3cafa7718eaac8841035ab60/scipy-1.16.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4cf5785e44e19dcd32a0e4807555e1e9a9b8d475c6afff3d21c3c543a6aa84f4", size = 33438311, upload-time = "2025-07-27T16:29:54.164Z" }, - { url = "https://files.pythonhosted.org/packages/2d/e0/e64a6821ffbb00b4c5b05169f1c1fddb4800e9307efe3db3788995a82a2c/scipy-1.16.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3d0b80fb26d3e13a794c71d4b837e2a589d839fd574a6bbb4ee1288c213ad4a3", size = 35279542, upload-time = "2025-07-27T16:30:00.249Z" }, - { url = "https://files.pythonhosted.org/packages/57/59/0dc3c8b43e118f1e4ee2b798dcc96ac21bb20014e5f1f7a8e85cc0653bdb/scipy-1.16.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8503517c44c18d1030d666cb70aaac1cc8913608816e06742498833b128488b7", size = 35667665, upload-time = "2025-07-27T16:30:05.916Z" }, - { url = "https://files.pythonhosted.org/packages/45/5f/844ee26e34e2f3f9f8febb9343748e72daeaec64fe0c70e9bf1ff84ec955/scipy-1.16.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:30cc4bb81c41831ecfd6dc450baf48ffd80ef5aed0f5cf3ea775740e80f16ecc", size = 38045210, upload-time = "2025-07-27T16:30:11.655Z" }, - { url = "https://files.pythonhosted.org/packages/8d/d7/210f2b45290f444f1de64bc7353aa598ece9f0e90c384b4a156f9b1a5063/scipy-1.16.1-cp313-cp313t-win_amd64.whl", hash = "sha256:c24fa02f7ed23ae514460a22c57eca8f530dbfa50b1cfdbf4f37c05b5309cc39", size = 38593661, upload-time = "2025-07-27T16:30:17.825Z" }, - { url = "https://files.pythonhosted.org/packages/81/ea/84d481a5237ed223bd3d32d6e82d7a6a96e34756492666c260cef16011d1/scipy-1.16.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:796a5a9ad36fa3a782375db8f4241ab02a091308eb079746bc0f874c9b998318", size = 36525921, upload-time = "2025-07-27T16:30:30.081Z" }, - { url = "https://files.pythonhosted.org/packages/4e/9f/d9edbdeff9f3a664807ae3aea383e10afaa247e8e6255e6d2aa4515e8863/scipy-1.16.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:3ea0733a2ff73fd6fdc5fecca54ee9b459f4d74f00b99aced7d9a3adb43fb1cc", size = 28564152, upload-time = "2025-07-27T16:30:35.336Z" }, - { url = "https://files.pythonhosted.org/packages/3b/95/8125bcb1fe04bc267d103e76516243e8d5e11229e6b306bda1024a5423d1/scipy-1.16.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:85764fb15a2ad994e708258bb4ed8290d1305c62a4e1ef07c414356a24fcfbf8", size = 20836028, upload-time = "2025-07-27T16:30:39.421Z" }, - { url = "https://files.pythonhosted.org/packages/77/9c/bf92e215701fc70bbcd3d14d86337cf56a9b912a804b9c776a269524a9e9/scipy-1.16.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:ca66d980469cb623b1759bdd6e9fd97d4e33a9fad5b33771ced24d0cb24df67e", size = 23489666, upload-time = "2025-07-27T16:30:43.663Z" }, - { url = "https://files.pythonhosted.org/packages/5e/00/5e941d397d9adac41b02839011594620d54d99488d1be5be755c00cde9ee/scipy-1.16.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e7cc1ffcc230f568549fc56670bcf3df1884c30bd652c5da8138199c8c76dae0", size = 33358318, upload-time = "2025-07-27T16:30:48.982Z" }, - { url = "https://files.pythonhosted.org/packages/0e/87/8db3aa10dde6e3e8e7eb0133f24baa011377d543f5b19c71469cf2648026/scipy-1.16.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ddfb1e8d0b540cb4ee9c53fc3dea3186f97711248fb94b4142a1b27178d8b4b", size = 35185724, upload-time = "2025-07-27T16:30:54.26Z" }, - { url = "https://files.pythonhosted.org/packages/89/b4/6ab9ae443216807622bcff02690262d8184078ea467efee2f8c93288a3b1/scipy-1.16.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4dc0e7be79e95d8ba3435d193e0d8ce372f47f774cffd882f88ea4e1e1ddc731", size = 35554335, upload-time = "2025-07-27T16:30:59.765Z" }, - { url = "https://files.pythonhosted.org/packages/9c/9a/d0e9dc03c5269a1afb60661118296a32ed5d2c24298af61b676c11e05e56/scipy-1.16.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f23634f9e5adb51b2a77766dac217063e764337fbc816aa8ad9aaebcd4397fd3", size = 37960310, upload-time = "2025-07-27T16:31:06.151Z" }, - { url = "https://files.pythonhosted.org/packages/5e/00/c8f3130a50521a7977874817ca89e0599b1b4ee8e938bad8ae798a0e1f0d/scipy-1.16.1-cp314-cp314-win_amd64.whl", hash = "sha256:57d75524cb1c5a374958a2eae3d84e1929bb971204cc9d52213fb8589183fc19", size = 39319239, upload-time = "2025-07-27T16:31:59.942Z" }, - { url = "https://files.pythonhosted.org/packages/f2/f2/1ca3eda54c3a7e4c92f6acef7db7b3a057deb135540d23aa6343ef8ad333/scipy-1.16.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:d8da7c3dd67bcd93f15618938f43ed0995982eb38973023d46d4646c4283ad65", size = 36939460, upload-time = "2025-07-27T16:31:11.865Z" }, - { url = "https://files.pythonhosted.org/packages/80/30/98c2840b293a132400c0940bb9e140171dcb8189588619048f42b2ce7b4f/scipy-1.16.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:cc1d2f2fd48ba1e0620554fe5bc44d3e8f5d4185c8c109c7fbdf5af2792cfad2", size = 29093322, upload-time = "2025-07-27T16:31:17.045Z" }, - { url = "https://files.pythonhosted.org/packages/c1/e6/1e6e006e850622cf2a039b62d1a6ddc4497d4851e58b68008526f04a9a00/scipy-1.16.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:21a611ced9275cb861bacadbada0b8c0623bc00b05b09eb97f23b370fc2ae56d", size = 21365329, upload-time = "2025-07-27T16:31:21.188Z" }, - { url = "https://files.pythonhosted.org/packages/8e/02/72a5aa5b820589dda9a25e329ca752842bfbbaf635e36bc7065a9b42216e/scipy-1.16.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8dfbb25dffc4c3dd9371d8ab456ca81beeaf6f9e1c2119f179392f0dc1ab7695", size = 23897544, upload-time = "2025-07-27T16:31:25.408Z" }, - { url = "https://files.pythonhosted.org/packages/2b/dc/7122d806a6f9eb8a33532982234bed91f90272e990f414f2830cfe656e0b/scipy-1.16.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f0ebb7204f063fad87fc0a0e4ff4a2ff40b2a226e4ba1b7e34bf4b79bf97cd86", size = 33442112, upload-time = "2025-07-27T16:31:30.62Z" }, - { url = "https://files.pythonhosted.org/packages/24/39/e383af23564daa1021a5b3afbe0d8d6a68ec639b943661841f44ac92de85/scipy-1.16.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f1b9e5962656f2734c2b285a8745358ecb4e4efbadd00208c80a389227ec61ff", size = 35286594, upload-time = "2025-07-27T16:31:36.112Z" }, - { url = "https://files.pythonhosted.org/packages/95/47/1a0b0aff40c3056d955f38b0df5d178350c3d74734ec54f9c68d23910be5/scipy-1.16.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e1a106f8c023d57a2a903e771228bf5c5b27b5d692088f457acacd3b54511e4", size = 35665080, upload-time = "2025-07-27T16:31:42.025Z" }, - { url = "https://files.pythonhosted.org/packages/64/df/ce88803e9ed6e27fe9b9abefa157cf2c80e4fa527cf17ee14be41f790ad4/scipy-1.16.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:709559a1db68a9abc3b2c8672c4badf1614f3b440b3ab326d86a5c0491eafae3", size = 38050306, upload-time = "2025-07-27T16:31:48.109Z" }, - { url = "https://files.pythonhosted.org/packages/6e/6c/a76329897a7cae4937d403e623aa6aaea616a0bb5b36588f0b9d1c9a3739/scipy-1.16.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c0c804d60492a0aad7f5b2bb1862f4548b990049e27e828391ff2bf6f7199998", size = 39427705, upload-time = "2025-07-27T16:31:53.96Z" }, -] - -[[package]] -name = "sentry-sdk" -version = "2.35.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "certifi" }, - { name = "urllib3" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/31/83/055dc157b719651ef13db569bb8cf2103df11174478649735c1b2bf3f6bc/sentry_sdk-2.35.0.tar.gz", hash = "sha256:5ea58d352779ce45d17bc2fa71ec7185205295b83a9dbb5707273deb64720092", size = 343014, upload-time = "2025-08-14T17:11:20.223Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/36/3d/742617a7c644deb0c1628dcf6bb2d2165ab7c6aab56fe5222758994007f8/sentry_sdk-2.35.0-py2.py3-none-any.whl", hash = "sha256:6e0c29b9a5d34de8575ffb04d289a987ff3053cf2c98ede445bea995e3830263", size = 363806, upload-time = "2025-08-14T17:11:18.29Z" }, -] - -[[package]] -name = "shellingham" -version = "1.5.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, -] - -[[package]] -name = "soxr" -version = "1.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "numpy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.tar.gz", hash = "sha256:e07ee6c1d659bc6957034f4800c60cb8b98de798823e34d2a2bba1caa85a4509", size = 171415, upload-time = "2025-09-07T13:22:21.317Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/c7/f92b81f1a151c13afb114f57799b86da9330bec844ea5a0d3fe6a8732678/soxr-1.0.0-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:abecf4e39017f3fadb5e051637c272ae5778d838e5c3926a35db36a53e3a607f", size = 205508, upload-time = "2025-09-07T13:22:01.252Z" }, - { url = "https://files.pythonhosted.org/packages/ff/1d/c945fea9d83ea1f2be9d116b3674dbaef26ed090374a77c394b31e3b083b/soxr-1.0.0-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:e973d487ee46aa8023ca00a139db6e09af053a37a032fe22f9ff0cc2e19c94b4", size = 163568, upload-time = "2025-09-07T13:22:03.558Z" }, - { url = "https://files.pythonhosted.org/packages/b5/80/10640970998a1d2199bef6c4d92205f36968cddaf3e4d0e9fe35ddd405bd/soxr-1.0.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8ce273cca101aff3d8c387db5a5a41001ba76ef1837883438d3c652507a9ccc", size = 204707, upload-time = "2025-09-07T13:22:05.125Z" }, - { url = "https://files.pythonhosted.org/packages/b1/87/2726603c13c2126cb8ded9e57381b7377f4f0df6ba4408e1af5ddbfdc3dd/soxr-1.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f2a69686f2856d37823bbb7b78c3d44904f311fe70ba49b893af11d6b6047b", size = 238032, upload-time = "2025-09-07T13:22:06.428Z" }, - { url = "https://files.pythonhosted.org/packages/ce/04/530252227f4d0721a5524a936336485dfb429bb206a66baf8e470384f4a2/soxr-1.0.0-cp312-abi3-win_amd64.whl", hash = "sha256:2a3b77b115ae7c478eecdbd060ed4f61beda542dfb70639177ac263aceda42a2", size = 172070, upload-time = "2025-09-07T13:22:07.62Z" }, - { url = "https://files.pythonhosted.org/packages/99/77/d3b3c25b4f1b1aa4a73f669355edcaee7a52179d0c50407697200a0e55b9/soxr-1.0.0-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:392a5c70c04eb939c9c176bd6f654dec9a0eaa9ba33d8f1024ed63cf68cdba0a", size = 209509, upload-time = "2025-09-07T13:22:08.773Z" }, - { url = "https://files.pythonhosted.org/packages/8a/ee/3ca73e18781bb2aff92b809f1c17c356dfb9a1870652004bd432e79afbfa/soxr-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fdc41a1027ba46777186f26a8fba7893be913383414135577522da2fcc684490", size = 167690, upload-time = "2025-09-07T13:22:10.259Z" }, - { url = "https://files.pythonhosted.org/packages/bd/f0/eea8b5f587a2531657dc5081d2543a5a845f271a3bea1c0fdee5cebde021/soxr-1.0.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:449acd1dfaf10f0ce6dfd75c7e2ef984890df94008765a6742dafb42061c1a24", size = 209541, upload-time = "2025-09-07T13:22:11.739Z" }, - { url = "https://files.pythonhosted.org/packages/64/59/2430a48c705565eb09e78346950b586f253a11bd5313426ced3ecd9b0feb/soxr-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:38b35c99e408b8f440c9376a5e1dd48014857cd977c117bdaa4304865ae0edd0", size = 243025, upload-time = "2025-09-07T13:22:12.877Z" }, - { url = "https://files.pythonhosted.org/packages/3c/1b/f84a2570a74094e921bbad5450b2a22a85d58585916e131d9b98029c3e69/soxr-1.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:a39b519acca2364aa726b24a6fd55acf29e4c8909102e0b858c23013c38328e5", size = 184850, upload-time = "2025-09-07T13:22:14.068Z" }, -] - -[[package]] -name = "starlette" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/eb/e3/7c1dc7381d9f8ab7d854328ebfa884e62cb3f3d8549ddfd37c7814f42afa/starlette-1.3.1.tar.gz", hash = "sha256:05d0213193f2fbaae60e2ecb593b4add4262ad4e46536b54abe36f11a71724e0", size = 2703240, upload-time = "2026-06-12T09:23:11.602Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/bb/2799cc2ede3ed41131f8975621e7213dfc7ef4acbbaadfa440f32500c370/starlette-1.3.1-py3-none-any.whl", hash = "sha256:c7372aae11c3c3f26a42df7bd626cec2f47d03483d261d369516a615a53714c6", size = 73632, upload-time = "2026-06-12T09:23:10.017Z" }, -] - -[[package]] -name = "sympy" -version = "1.14.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mpmath" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, -] - -[[package]] -name = "tqdm" -version = "4.67.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, -] - -[[package]] -name = "typer" -version = "0.16.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "rich" }, - { name = "shellingham" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/43/78/d90f616bf5f88f8710ad067c1f8705bf7618059836ca084e5bb2a0855d75/typer-0.16.1.tar.gz", hash = "sha256:d358c65a464a7a90f338e3bb7ff0c74ac081449e53884b12ba658cbd72990614", size = 102836, upload-time = "2025-08-18T19:18:22.898Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2d/76/06dbe78f39b2203d2a47d5facc5df5102d0561e2807396471b5f7c5a30a1/typer-0.16.1-py3-none-any.whl", hash = "sha256:90ee01cb02d9b8395ae21ee3368421faf21fa138cb2a541ed369c08cec5237c9", size = 46397, upload-time = "2025-08-18T19:18:21.663Z" }, -] - -[[package]] -name = "typing-extensions" -version = "4.14.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/5a/da40306b885cc8c09109dc2e1abd358d5684b1425678151cdaed4731c822/typing_extensions-4.14.1.tar.gz", hash = "sha256:38b39f4aeeab64884ce9f74c94263ef78f3c22467c8724005483154c26648d36", size = 107673, upload-time = "2025-07-04T13:28:34.16Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/00/d631e67a838026495268c2f6884f3711a15a9a2a96cd244fdaea53b823fb/typing_extensions-4.14.1-py3-none-any.whl", hash = "sha256:d1e1e3b58374dc93031d6eda2420a48ea44a36c2b4766a4fdeb3710755731d76", size = 43906, upload-time = "2025-07-04T13:28:32.743Z" }, -] - -[[package]] -name = "typing-inspection" -version = "0.4.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, -] - -[[package]] -name = "urllib3" -version = "2.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, -] - -[[package]] -name = "uvicorn" -version = "0.35.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click" }, - { name = "h11" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5e/42/e0e305207bb88c6b8d3061399c6a961ffe5fbb7e2aa63c9234df7259e9cd/uvicorn-0.35.0.tar.gz", hash = "sha256:bc662f087f7cf2ce11a1d7fd70b90c9f98ef2e2831556dd078d131b96cc94a01", size = 78473, upload-time = "2025-06-28T16:15:46.058Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/e2/dc81b1bd1dcfe91735810265e9d26bc8ec5da45b4c0f6237e286819194c3/uvicorn-0.35.0-py3-none-any.whl", hash = "sha256:197535216b25ff9b785e29a0b79199f55222193d47f820816e7da751e9bc8d4a", size = 66406, upload-time = "2025-06-28T16:15:44.816Z" }, -] - -[package.optional-dependencies] -standard = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "httptools" }, - { name = "python-dotenv" }, - { name = "pyyaml" }, - { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, - { name = "watchfiles" }, - { name = "websockets" }, -] - -[[package]] -name = "uvloop" -version = "0.21.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123, upload-time = "2024-10-14T23:38:00.688Z" }, - { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325, upload-time = "2024-10-14T23:38:02.309Z" }, - { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806, upload-time = "2024-10-14T23:38:04.711Z" }, - { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068, upload-time = "2024-10-14T23:38:06.385Z" }, - { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428, upload-time = "2024-10-14T23:38:08.416Z" }, - { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018, upload-time = "2024-10-14T23:38:10.888Z" }, -] - -[[package]] -name = "watchfiles" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "anyio" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2a/9a/d451fcc97d029f5812e898fd30a53fd8c15c7bbd058fd75cfc6beb9bd761/watchfiles-1.1.0.tar.gz", hash = "sha256:693ed7ec72cbfcee399e92c895362b6e66d63dac6b91e2c11ae03d10d503e575", size = 94406, upload-time = "2025-06-15T19:06:59.42Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/42/fae874df96595556a9089ade83be34a2e04f0f11eb53a8dbf8a8a5e562b4/watchfiles-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5007f860c7f1f8df471e4e04aaa8c43673429047d63205d1630880f7637bca30", size = 402004, upload-time = "2025-06-15T19:05:38.499Z" }, - { url = "https://files.pythonhosted.org/packages/fa/55/a77e533e59c3003d9803c09c44c3651224067cbe7fb5d574ddbaa31e11ca/watchfiles-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:20ecc8abbd957046f1fe9562757903f5eaf57c3bce70929fda6c7711bb58074a", size = 393671, upload-time = "2025-06-15T19:05:39.52Z" }, - { url = "https://files.pythonhosted.org/packages/05/68/b0afb3f79c8e832e6571022611adbdc36e35a44e14f129ba09709aa4bb7a/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2f0498b7d2a3c072766dba3274fe22a183dbea1f99d188f1c6c72209a1063dc", size = 449772, upload-time = "2025-06-15T19:05:40.897Z" }, - { url = "https://files.pythonhosted.org/packages/ff/05/46dd1f6879bc40e1e74c6c39a1b9ab9e790bf1f5a2fe6c08b463d9a807f4/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:239736577e848678e13b201bba14e89718f5c2133dfd6b1f7846fa1b58a8532b", size = 456789, upload-time = "2025-06-15T19:05:42.045Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ca/0eeb2c06227ca7f12e50a47a3679df0cd1ba487ea19cf844a905920f8e95/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eff4b8d89f444f7e49136dc695599a591ff769300734446c0a86cba2eb2f9895", size = 482551, upload-time = "2025-06-15T19:05:43.781Z" }, - { url = "https://files.pythonhosted.org/packages/31/47/2cecbd8694095647406645f822781008cc524320466ea393f55fe70eed3b/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12b0a02a91762c08f7264e2e79542f76870c3040bbc847fb67410ab81474932a", size = 597420, upload-time = "2025-06-15T19:05:45.244Z" }, - { url = "https://files.pythonhosted.org/packages/d9/7e/82abc4240e0806846548559d70f0b1a6dfdca75c1b4f9fa62b504ae9b083/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:29e7bc2eee15cbb339c68445959108803dc14ee0c7b4eea556400131a8de462b", size = 477950, upload-time = "2025-06-15T19:05:46.332Z" }, - { url = "https://files.pythonhosted.org/packages/25/0d/4d564798a49bf5482a4fa9416dea6b6c0733a3b5700cb8a5a503c4b15853/watchfiles-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9481174d3ed982e269c090f780122fb59cee6c3796f74efe74e70f7780ed94c", size = 451706, upload-time = "2025-06-15T19:05:47.459Z" }, - { url = "https://files.pythonhosted.org/packages/81/b5/5516cf46b033192d544102ea07c65b6f770f10ed1d0a6d388f5d3874f6e4/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:80f811146831c8c86ab17b640801c25dc0a88c630e855e2bef3568f30434d52b", size = 625814, upload-time = "2025-06-15T19:05:48.654Z" }, - { url = "https://files.pythonhosted.org/packages/0c/dd/7c1331f902f30669ac3e754680b6edb9a0dd06dea5438e61128111fadd2c/watchfiles-1.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:60022527e71d1d1fda67a33150ee42869042bce3d0fcc9cc49be009a9cded3fb", size = 622820, upload-time = "2025-06-15T19:05:50.088Z" }, - { url = "https://files.pythonhosted.org/packages/1b/14/36d7a8e27cd128d7b1009e7715a7c02f6c131be9d4ce1e5c3b73d0e342d8/watchfiles-1.1.0-cp313-cp313-win32.whl", hash = "sha256:32d6d4e583593cb8576e129879ea0991660b935177c0f93c6681359b3654bfa9", size = 279194, upload-time = "2025-06-15T19:05:51.186Z" }, - { url = "https://files.pythonhosted.org/packages/25/41/2dd88054b849aa546dbeef5696019c58f8e0774f4d1c42123273304cdb2e/watchfiles-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:f21af781a4a6fbad54f03c598ab620e3a77032c5878f3d780448421a6e1818c7", size = 292349, upload-time = "2025-06-15T19:05:52.201Z" }, - { url = "https://files.pythonhosted.org/packages/c8/cf/421d659de88285eb13941cf11a81f875c176f76a6d99342599be88e08d03/watchfiles-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:5366164391873ed76bfdf618818c82084c9db7fac82b64a20c44d335eec9ced5", size = 283836, upload-time = "2025-06-15T19:05:53.265Z" }, - { url = "https://files.pythonhosted.org/packages/45/10/6faf6858d527e3599cc50ec9fcae73590fbddc1420bd4fdccfebffeedbc6/watchfiles-1.1.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:17ab167cca6339c2b830b744eaf10803d2a5b6683be4d79d8475d88b4a8a4be1", size = 400343, upload-time = "2025-06-15T19:05:54.252Z" }, - { url = "https://files.pythonhosted.org/packages/03/20/5cb7d3966f5e8c718006d0e97dfe379a82f16fecd3caa7810f634412047a/watchfiles-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:328dbc9bff7205c215a7807da7c18dce37da7da718e798356212d22696404339", size = 392916, upload-time = "2025-06-15T19:05:55.264Z" }, - { url = "https://files.pythonhosted.org/packages/8c/07/d8f1176328fa9e9581b6f120b017e286d2a2d22ae3f554efd9515c8e1b49/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7208ab6e009c627b7557ce55c465c98967e8caa8b11833531fdf95799372633", size = 449582, upload-time = "2025-06-15T19:05:56.317Z" }, - { url = "https://files.pythonhosted.org/packages/66/e8/80a14a453cf6038e81d072a86c05276692a1826471fef91df7537dba8b46/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a8f6f72974a19efead54195bc9bed4d850fc047bb7aa971268fd9a8387c89011", size = 456752, upload-time = "2025-06-15T19:05:57.359Z" }, - { url = "https://files.pythonhosted.org/packages/5a/25/0853b3fe0e3c2f5af9ea60eb2e781eade939760239a72c2d38fc4cc335f6/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d181ef50923c29cf0450c3cd47e2f0557b62218c50b2ab8ce2ecaa02bd97e670", size = 481436, upload-time = "2025-06-15T19:05:58.447Z" }, - { url = "https://files.pythonhosted.org/packages/fe/9e/4af0056c258b861fbb29dcb36258de1e2b857be4a9509e6298abcf31e5c9/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adb4167043d3a78280d5d05ce0ba22055c266cf8655ce942f2fb881262ff3cdf", size = 596016, upload-time = "2025-06-15T19:05:59.59Z" }, - { url = "https://files.pythonhosted.org/packages/c5/fa/95d604b58aa375e781daf350897aaaa089cff59d84147e9ccff2447c8294/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c5701dc474b041e2934a26d31d39f90fac8a3dee2322b39f7729867f932b1d4", size = 476727, upload-time = "2025-06-15T19:06:01.086Z" }, - { url = "https://files.pythonhosted.org/packages/65/95/fe479b2664f19be4cf5ceeb21be05afd491d95f142e72d26a42f41b7c4f8/watchfiles-1.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b067915e3c3936966a8607f6fe5487df0c9c4afb85226613b520890049deea20", size = 451864, upload-time = "2025-06-15T19:06:02.144Z" }, - { url = "https://files.pythonhosted.org/packages/d3/8a/3c4af14b93a15ce55901cd7a92e1a4701910f1768c78fb30f61d2b79785b/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:9c733cda03b6d636b4219625a4acb5c6ffb10803338e437fb614fef9516825ef", size = 625626, upload-time = "2025-06-15T19:06:03.578Z" }, - { url = "https://files.pythonhosted.org/packages/da/f5/cf6aa047d4d9e128f4b7cde615236a915673775ef171ff85971d698f3c2c/watchfiles-1.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:cc08ef8b90d78bfac66f0def80240b0197008e4852c9f285907377b2947ffdcb", size = 622744, upload-time = "2025-06-15T19:06:05.066Z" }, - { url = "https://files.pythonhosted.org/packages/2c/00/70f75c47f05dea6fd30df90f047765f6fc2d6eb8b5a3921379b0b04defa2/watchfiles-1.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:9974d2f7dc561cce3bb88dfa8eb309dab64c729de85fba32e98d75cf24b66297", size = 402114, upload-time = "2025-06-15T19:06:06.186Z" }, - { url = "https://files.pythonhosted.org/packages/53/03/acd69c48db4a1ed1de26b349d94077cca2238ff98fd64393f3e97484cae6/watchfiles-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c68e9f1fcb4d43798ad8814c4c1b61547b014b667216cb754e606bfade587018", size = 393879, upload-time = "2025-06-15T19:06:07.369Z" }, - { url = "https://files.pythonhosted.org/packages/2f/c8/a9a2a6f9c8baa4eceae5887fecd421e1b7ce86802bcfc8b6a942e2add834/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95ab1594377effac17110e1352989bdd7bdfca9ff0e5eeccd8c69c5389b826d0", size = 450026, upload-time = "2025-06-15T19:06:08.476Z" }, - { url = "https://files.pythonhosted.org/packages/fe/51/d572260d98388e6e2b967425c985e07d47ee6f62e6455cefb46a6e06eda5/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fba9b62da882c1be1280a7584ec4515d0a6006a94d6e5819730ec2eab60ffe12", size = 457917, upload-time = "2025-06-15T19:06:09.988Z" }, - { url = "https://files.pythonhosted.org/packages/c6/2d/4258e52917bf9f12909b6ec314ff9636276f3542f9d3807d143f27309104/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3434e401f3ce0ed6b42569128b3d1e3af773d7ec18751b918b89cd49c14eaafb", size = 483602, upload-time = "2025-06-15T19:06:11.088Z" }, - { url = "https://files.pythonhosted.org/packages/84/99/bee17a5f341a4345fe7b7972a475809af9e528deba056f8963d61ea49f75/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa257a4d0d21fcbca5b5fcba9dca5a78011cb93c0323fb8855c6d2dfbc76eb77", size = 596758, upload-time = "2025-06-15T19:06:12.197Z" }, - { url = "https://files.pythonhosted.org/packages/40/76/e4bec1d59b25b89d2b0716b41b461ed655a9a53c60dc78ad5771fda5b3e6/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd1b3879a578a8ec2076c7961076df540b9af317123f84569f5a9ddee64ce92", size = 477601, upload-time = "2025-06-15T19:06:13.391Z" }, - { url = "https://files.pythonhosted.org/packages/1f/fa/a514292956f4a9ce3c567ec0c13cce427c158e9f272062685a8a727d08fc/watchfiles-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:62cc7a30eeb0e20ecc5f4bd113cd69dcdb745a07c68c0370cea919f373f65d9e", size = 451936, upload-time = "2025-06-15T19:06:14.656Z" }, - { url = "https://files.pythonhosted.org/packages/32/5d/c3bf927ec3bbeb4566984eba8dd7a8eb69569400f5509904545576741f88/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:891c69e027748b4a73847335d208e374ce54ca3c335907d381fde4e41661b13b", size = 626243, upload-time = "2025-06-15T19:06:16.232Z" }, - { url = "https://files.pythonhosted.org/packages/e6/65/6e12c042f1a68c556802a84d54bb06d35577c81e29fba14019562479159c/watchfiles-1.1.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:12fe8eaffaf0faa7906895b4f8bb88264035b3f0243275e0bf24af0436b27259", size = 623073, upload-time = "2025-06-15T19:06:17.457Z" }, - { url = "https://files.pythonhosted.org/packages/89/ab/7f79d9bf57329e7cbb0a6fd4c7bd7d0cee1e4a8ef0041459f5409da3506c/watchfiles-1.1.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:bfe3c517c283e484843cb2e357dd57ba009cff351edf45fb455b5fbd1f45b15f", size = 400872, upload-time = "2025-06-15T19:06:18.57Z" }, - { url = "https://files.pythonhosted.org/packages/df/d5/3f7bf9912798e9e6c516094db6b8932df53b223660c781ee37607030b6d3/watchfiles-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:a9ccbf1f129480ed3044f540c0fdbc4ee556f7175e5ab40fe077ff6baf286d4e", size = 392877, upload-time = "2025-06-15T19:06:19.55Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c5/54ec7601a2798604e01c75294770dbee8150e81c6e471445d7601610b495/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba0e3255b0396cac3cc7bbace76404dd72b5438bf0d8e7cefa2f79a7f3649caa", size = 449645, upload-time = "2025-06-15T19:06:20.66Z" }, - { url = "https://files.pythonhosted.org/packages/0a/04/c2f44afc3b2fce21ca0b7802cbd37ed90a29874f96069ed30a36dfe57c2b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4281cd9fce9fc0a9dbf0fc1217f39bf9cf2b4d315d9626ef1d4e87b84699e7e8", size = 457424, upload-time = "2025-06-15T19:06:21.712Z" }, - { url = "https://files.pythonhosted.org/packages/9f/b0/eec32cb6c14d248095261a04f290636da3df3119d4040ef91a4a50b29fa5/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d2404af8db1329f9a3c9b79ff63e0ae7131986446901582067d9304ae8aaf7f", size = 481584, upload-time = "2025-06-15T19:06:22.777Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e2/ca4bb71c68a937d7145aa25709e4f5d68eb7698a25ce266e84b55d591bbd/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e78b6ed8165996013165eeabd875c5dfc19d41b54f94b40e9fff0eb3193e5e8e", size = 596675, upload-time = "2025-06-15T19:06:24.226Z" }, - { url = "https://files.pythonhosted.org/packages/a1/dd/b0e4b7fb5acf783816bc950180a6cd7c6c1d2cf7e9372c0ea634e722712b/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:249590eb75ccc117f488e2fabd1bfa33c580e24b96f00658ad88e38844a040bb", size = 477363, upload-time = "2025-06-15T19:06:25.42Z" }, - { url = "https://files.pythonhosted.org/packages/69/c4/088825b75489cb5b6a761a4542645718893d395d8c530b38734f19da44d2/watchfiles-1.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05686b5487cfa2e2c28ff1aa370ea3e6c5accfe6435944ddea1e10d93872147", size = 452240, upload-time = "2025-06-15T19:06:26.552Z" }, - { url = "https://files.pythonhosted.org/packages/10/8c/22b074814970eeef43b7c44df98c3e9667c1f7bf5b83e0ff0201b0bd43f9/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:d0e10e6f8f6dc5762adee7dece33b722282e1f59aa6a55da5d493a97282fedd8", size = 625607, upload-time = "2025-06-15T19:06:27.606Z" }, - { url = "https://files.pythonhosted.org/packages/32/fa/a4f5c2046385492b2273213ef815bf71a0d4c1943b784fb904e184e30201/watchfiles-1.1.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:af06c863f152005c7592df1d6a7009c836a247c9d8adb78fef8575a5a98699db", size = 623315, upload-time = "2025-06-15T19:06:29.076Z" }, -] - -[[package]] -name = "websockets" -version = "14.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/54/8359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e/websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5", size = 164394, upload-time = "2025-01-19T21:00:56.431Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/82/94/4f9b55099a4603ac53c2912e1f043d6c49d23e94dd82a9ce1eb554a90215/websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e", size = 163102, upload-time = "2025-01-19T20:59:52.177Z" }, - { url = "https://files.pythonhosted.org/packages/8e/b7/7484905215627909d9a79ae07070057afe477433fdacb59bf608ce86365a/websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad", size = 160766, upload-time = "2025-01-19T20:59:54.368Z" }, - { url = "https://files.pythonhosted.org/packages/a3/a4/edb62efc84adb61883c7d2c6ad65181cb087c64252138e12d655989eec05/websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03", size = 160998, upload-time = "2025-01-19T20:59:56.671Z" }, - { url = "https://files.pythonhosted.org/packages/f5/79/036d320dc894b96af14eac2529967a6fc8b74f03b83c487e7a0e9043d842/websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f", size = 170780, upload-time = "2025-01-19T20:59:58.085Z" }, - { url = "https://files.pythonhosted.org/packages/63/75/5737d21ee4dd7e4b9d487ee044af24a935e36a9ff1e1419d684feedcba71/websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5", size = 169717, upload-time = "2025-01-19T20:59:59.545Z" }, - { url = "https://files.pythonhosted.org/packages/2c/3c/bf9b2c396ed86a0b4a92ff4cdaee09753d3ee389be738e92b9bbd0330b64/websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a", size = 170155, upload-time = "2025-01-19T21:00:01.887Z" }, - { url = "https://files.pythonhosted.org/packages/75/2d/83a5aca7247a655b1da5eb0ee73413abd5c3a57fc8b92915805e6033359d/websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20", size = 170495, upload-time = "2025-01-19T21:00:04.064Z" }, - { url = "https://files.pythonhosted.org/packages/79/dd/699238a92761e2f943885e091486378813ac8f43e3c84990bc394c2be93e/websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2", size = 169880, upload-time = "2025-01-19T21:00:05.695Z" }, - { url = "https://files.pythonhosted.org/packages/c8/c9/67a8f08923cf55ce61aadda72089e3ed4353a95a3a4bc8bf42082810e580/websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307", size = 169856, upload-time = "2025-01-19T21:00:07.192Z" }, - { url = "https://files.pythonhosted.org/packages/17/b1/1ffdb2680c64e9c3921d99db460546194c40d4acbef999a18c37aa4d58a3/websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc", size = 163974, upload-time = "2025-01-19T21:00:08.698Z" }, - { url = "https://files.pythonhosted.org/packages/14/13/8b7fc4cb551b9cfd9890f0fd66e53c18a06240319915533b033a56a3d520/websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f", size = 164420, upload-time = "2025-01-19T21:00:10.182Z" }, - { url = "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b", size = 157416, upload-time = "2025-01-19T21:00:54.843Z" }, -] - -[[package]] -name = "win32-setctime" -version = "1.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" }, -] - -[[package]] -name = "yarl" -version = "1.20.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "idna" }, - { name = "multidict" }, - { name = "propcache" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, - { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, - { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, - { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, - { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, - { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, - { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, - { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, - { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, - { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, - { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, - { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, - { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, - { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, - { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, - { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, - { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, - { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, - { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, - { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, - { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, - { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, - { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, - { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, -] diff --git a/integrations-examples/twilio/.env.example b/integrations-examples/twilio/.env.example deleted file mode 100644 index 3d476c1..0000000 --- a/integrations-examples/twilio/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -GLADIA_API_KEY= -NGROK_AUTHTOKEN= -NGROK_DOMAIN= -PORT=8080 \ No newline at end of file diff --git a/integrations-examples/twilio/README.md b/integrations-examples/twilio/README.md deleted file mode 100644 index cd567b1..0000000 --- a/integrations-examples/twilio/README.md +++ /dev/null @@ -1,51 +0,0 @@ -## How to use it: - -### Create and parametrize your Twilio account - -- Get your public ip address and choose a port to use for your app -- Create an account on https://www.twilio.com/try-twilio -- Get a phone number, following first step of main page after to connect to your Twilio account -- On the left panel Develop > United States (US1) > Phone Numbers > Manage > Active numbers > Click on the phone number you just created -- In 'Configure' panel, 'Voice Configuration' section, 'A call comes in' field, choose 'Webhook' with URL = 'http://[your-id-address]:[your-app-port-number]' and HTTP = 'HTTP POST' - -### Set up ngrok - -The app uses [ngrok](https://ngrok.com/) to expose your local server over a secure tunnel so Twilio can reach it. - -- Create a free account at https://ngrok.com/ -- Copy your **Authtoken** from the [ngrok dashboard](https://dashboard.ngrok.com/get-started/your-authtoken) -- Claim a free static domain from the [ngrok Domains page](https://dashboard.ngrok.com/domains) (e.g. `your-name.ngrok-free.app`) - -Both values go in your `.env` file (see next section). - -### Configure your server and install dependencies - -- Copy `.env.example` to `.env` and fill in the following variables: - - `GLADIA_API_KEY` – your API key from the [Gladia dashboard](https://app.gladia.io/signin) - - `NGROK_AUTHTOKEN` – your ngrok authtoken - - `NGROK_DOMAIN` – your ngrok static domain (e.g. `your-name.ngrok-free.app`) - - `PORT` – the port your server listens on (default `8080`) -- Install dependencies: - -```bash -npm i -``` - -### Make it work - -- launch the websocket server: - -```bash -npm run start -``` - -- start a phone call using the phone number obtained in [Create and parametrize your Twilio account](#create-and-parametrize-your-twilio-account) section -- wait until automatic disclaimer finish -- press any key on your phone to launch the stream -- talk - -The transcription should appear in the server logs. - -## Under the hood - -Twilio requires a secure WebSocket endpoint to stream call audio. The app uses the official ngrok Node.js SDK (`@ngrok/ngrok`) to create an HTTPS tunnel at startup, which is then converted to a `wss://` URL for the Twilio stream. In production you would replace ngrok with your own publicly reachable endpoint. diff --git a/integrations-examples/twilio/app.js b/integrations-examples/twilio/app.js deleted file mode 100644 index af7c658..0000000 --- a/integrations-examples/twilio/app.js +++ /dev/null @@ -1,122 +0,0 @@ -require('dotenv').config(); -const express = require('express'); -const twilio = require('twilio'); -const WebSocket = require('ws'); -const cors = require('cors'); -const bodyParser = require('body-parser'); -const ngrok = require('@ngrok/ngrok'); -const app = express(); -const http = require('http'); -const server = http.createServer(app); - -const gladiaApiKey = process.env.GLADIA_API_KEY; -if (!gladiaApiKey) { - throw new Error( - 'Required variable GLADIA_API_KEY is not defined in the .env file.', - ); -} - -const ngrokDomain = process.env.NGROK_DOMAIN; - -const port = process.env.PORT || 8080; - -let firstGladiaMessage = false; - -const corsOptions = { - origin: 'http://localhost:3000', - methods: ['GET', 'POST'], -}; -app.use(cors(corsOptions)); -app.use(bodyParser.urlencoded({ extended: true })); - -const wss = new WebSocket.Server({ server }); - -let gladiaSocket; - -app.get('/', (_, res) => res.send('Twilio Live Stream App')); - -app.post('/', async (req, res) => { - callerNumber = req.body.From; // Get caller's number - console.log(`Incoming call from: ${callerNumber}`); - const gladiaUrl = 'wss://api.gladia.io/audio/text/audio-transcription'; - gladiaSocket = new WebSocket(gladiaUrl); - gladiaSocket.on('open', async () => { - console.log('Connecting to gladia socket'); - const configuration = { - x_gladia_key: gladiaApiKey, - language_behaviour: 'automatic multiple languages', - sample_rate: 8000, - encoding: 'wav/ulaw', - bit_depth: 16, - }; - gladiaSocket.send(JSON.stringify(configuration)); - }); - - gladiaSocket.on('message', async (event) => { - const gladiaMsg = JSON.parse(event.toString()); - if (!firstGladiaMessage) { - console.log(`Gladia web socket connection id: ${gladiaMsg.request_id}`); - firstGladiaMessage = true; - } else if ( - gladiaMsg.hasOwnProperty('transcription') && - gladiaMsg.type === 'final' - ) { - console.log( - `${callerNumber}: ${gladiaMsg.transcription} (${gladiaMsg.language}) [confidence: ${gladiaMsg.confidence}]`, - ); - } - }); - - gladiaSocket.on('error', (error) => { - console.error(`error from gladia: ${error.message}`); - }); - - res.set('Content-Type', 'text/xml'); - const voiceResponse = new twilio.twiml.VoiceResponse(); - const listener = await ngrok.forward({ - addr: port, - authtoken_from_env: true, - domain: ngrokDomain, - }); - const secureWsUrl = listener.url().replace('https', 'wss'); - voiceResponse.start().stream({ - url: secureWsUrl, - }); - voiceResponse.say('Call started'); - voiceResponse.pause({ length: 500 }); - res.send(voiceResponse.toString()); -}); - -// Set up WebSocket connection -wss.on('connection', (ws) => { - console.log('A user connected'); - - ws.on('error', (error) => { - console.warn(error); - }); - - ws.on('message', async (userEvent) => { - const msg = JSON.parse(userEvent); - switch (msg.event) { - case 'connected': - console.log(`A new call has started`); - break; - case 'start': - console.log('Starting media stream...'); - break; - - case 'media': - const twilioData = msg.media.payload; - gladiaSocket.send(JSON.stringify({ frames: twilioData })); - - break; - } - }); - - ws.on('close', () => { - console.log('User disconnected'); - }); -}); - -console.log(`Listening on Port ${port}`); -server.listen(port); diff --git a/integrations-examples/twilio/package-lock.json b/integrations-examples/twilio/package-lock.json deleted file mode 100644 index 2e715a1..0000000 --- a/integrations-examples/twilio/package-lock.json +++ /dev/null @@ -1,1444 +0,0 @@ -{ - "name": "twilio-gladia-ws", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "twilio-gladia-ws", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@ngrok/ngrok": "^1.7.0", - "body-parser": "^2.2.2", - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.0", - "twilio": "^6.0.2", - "ws": "^8.21.0" - } - }, - "node_modules/@ngrok/ngrok": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok/-/ngrok-1.7.0.tgz", - "integrity": "sha512-P06o9TpxrJbiRbHQkiwy/rUrlXRupc+Z8KT4MiJfmcdWxvIdzjCaJOdnNkcOTs6DMyzIOefG5tvk/HLdtjqr0g==", - "license": "(MIT OR Apache-2.0)", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@ngrok/ngrok-android-arm64": "1.7.0", - "@ngrok/ngrok-darwin-arm64": "1.7.0", - "@ngrok/ngrok-darwin-universal": "1.7.0", - "@ngrok/ngrok-darwin-x64": "1.7.0", - "@ngrok/ngrok-freebsd-x64": "1.7.0", - "@ngrok/ngrok-linux-arm-gnueabihf": "1.7.0", - "@ngrok/ngrok-linux-arm64-gnu": "1.7.0", - "@ngrok/ngrok-linux-arm64-musl": "1.7.0", - "@ngrok/ngrok-linux-x64-gnu": "1.7.0", - "@ngrok/ngrok-linux-x64-musl": "1.7.0", - "@ngrok/ngrok-win32-arm64-msvc": "1.7.0", - "@ngrok/ngrok-win32-ia32-msvc": "1.7.0", - "@ngrok/ngrok-win32-x64-msvc": "1.7.0" - } - }, - "node_modules/@ngrok/ngrok-android-arm64": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-android-arm64/-/ngrok-android-arm64-1.7.0.tgz", - "integrity": "sha512-8tco3ID6noSaNy+CMS7ewqPoIkIM6XO5COCzsUp3Wv3XEbMSyn65RN6cflX2JdqLfUCHcMyD0ahr9IEiHwqmbQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-darwin-arm64": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-darwin-arm64/-/ngrok-darwin-arm64-1.7.0.tgz", - "integrity": "sha512-+dmJSOzSO+MNDVrPOca2yYDP1W3KfP4qOlAkarIeFRIfqonQwq3QCBmcR7HAlZocLsSqEwyG6KP4RRvAuT0WGQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-darwin-universal": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-darwin-universal/-/ngrok-darwin-universal-1.7.0.tgz", - "integrity": "sha512-fDEfewyE2pWGFBhOSwQZObeHUkc65U1l+3HIgSOe094TMHsqmyJD0KTCgW9KSn0VP4OvDZbAISi1T3nvqgZYhQ==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-darwin-x64": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-darwin-x64/-/ngrok-darwin-x64-1.7.0.tgz", - "integrity": "sha512-+fwMi5uHd9G8BS42MMa9ye6exI5lwTcjUO6Ut497Vu0qgLONdVRenRqnEePV+Q3KtQR7NjqkMnomVfkr9MBjtw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-freebsd-x64": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-freebsd-x64/-/ngrok-freebsd-x64-1.7.0.tgz", - "integrity": "sha512-2OGgbrjy3yLRrqAz5N6hlUKIWIXSpR5RjQa2chtZMsSbszQ6c9dI+uVQfOKAeo05tHMUgrYAZ7FocC+ig0dzdQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-linux-arm-gnueabihf": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-linux-arm-gnueabihf/-/ngrok-linux-arm-gnueabihf-1.7.0.tgz", - "integrity": "sha512-SN9YIfEQiR9xN90QVNvdgvAemqMLoFVSeTWZs779145hQMhvF9Qd9rnWi6J+2uNNK10OczdV1oc/nq1es7u/3g==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-linux-arm64-gnu": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-linux-arm64-gnu/-/ngrok-linux-arm64-gnu-1.7.0.tgz", - "integrity": "sha512-KDMgzPKFU2kbpVSaA2RZBBia5IPdJEe063YlyVFnSMJmPYWCUnMwdybBsucXfV9u1Lw/ZjKTKotIlbTWGn3HGw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-linux-arm64-musl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-linux-arm64-musl/-/ngrok-linux-arm64-musl-1.7.0.tgz", - "integrity": "sha512-e66vUdVrBlQ0lT9ZdamB4U604zt5Gualt8/WVcUGzbu8s5LajWd6g/mzZCUjK4UepjvMpfgmCp1/+rX7Rk8d5A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-linux-x64-gnu": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-linux-x64-gnu/-/ngrok-linux-x64-gnu-1.7.0.tgz", - "integrity": "sha512-M6gF0DyOEFqXLfWxObfL3bxYZ4+PnKBHuyLVaqNfFN9Y5utY2mdPOn5422Ppbk4XoIK5/YkuhRqPJl/9FivKEw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-linux-x64-musl": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-linux-x64-musl/-/ngrok-linux-x64-musl-1.7.0.tgz", - "integrity": "sha512-4Ijm0dKeoyzZTMaYxR2EiNjtlK81ebflg/WYIO1XtleFrVy4UJEGnxtxEidYoT4BfCqi4uvXiK2Mx216xXKvog==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-win32-arm64-msvc": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-win32-arm64-msvc/-/ngrok-win32-arm64-msvc-1.7.0.tgz", - "integrity": "sha512-u7qyWIJI2/YG1HTBnHwUR1+Z2tyGfAsUAItJK/+N1G0FeWJhIWQvSIFJHlaPy4oW1Dc8mSDBX9qvVsiQgLaRFg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-win32-ia32-msvc": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-win32-ia32-msvc/-/ngrok-win32-ia32-msvc-1.7.0.tgz", - "integrity": "sha512-/UdYUsLNv/Q8j9YJsyIfq/jLCoD8WP+NidouucTUzSoDtmOsXBBT3itLrmPiZTEdEgKiFYLuC1Zon8XQQvbVLA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngrok/ngrok-win32-x64-msvc": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@ngrok/ngrok-win32-x64-msvc/-/ngrok-win32-x64-msvc-1.7.0.tgz", - "integrity": "sha512-UFJg/duEWzZlLkEs61Gz6/5nYhGaKI62I8dvUGdBR3NCtIMagehnFaFxmnXZldyHmCM8U0aCIFNpWRaKcrQkoA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.17.0.tgz", - "integrity": "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.16.0", - "form-data": "^4.0.5", - "https-proxy-agent": "^5.0.1", - "proxy-from-env": "^2.1.0" - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dotenv": { - "version": "17.4.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.4.2.tgz", - "integrity": "sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz", - "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.4", - "mime-types": "^2.1.35" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/form-data/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/form-data/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", - "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/jsonwebtoken": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", - "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "license": "MIT", - "dependencies": { - "jws": "^4.0.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jwa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "^1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", - "license": "MIT", - "dependencies": { - "jwa": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", - "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", - "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/qs": { - "version": "6.15.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", - "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/scmp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scmp/-/scmp-2.1.0.tgz", - "integrity": "sha512-o/mRQGk9Rcer/jEEw/yw4mwo3EU/NvYvp577/Btqrym9Qy5/MdWGBqipbALgd2lrdWTJ5/gqDusxfnQBxOxT2Q==", - "license": "BSD-3-Clause" - }, - "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/twilio": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/twilio/-/twilio-6.0.2.tgz", - "integrity": "sha512-RN3TZxUtxLz2HBZVt62+LdZxQbrMVgYKtuzLgwmO7nqKvR+gQS5mCackD9hf4Y7MmoK/bX7tCm7kaJC8kC8zFA==", - "license": "MIT", - "dependencies": { - "axios": "^1.13.5", - "dayjs": "^1.11.9", - "https-proxy-agent": "^5.0.0", - "jsonwebtoken": "^9.0.3", - "qs": "^6.14.1", - "scmp": "^2.1.0", - "xmlbuilder": "^13.0.2" - }, - "engines": { - "node": ">=20.0.0" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.21.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", - "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlbuilder": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-13.0.2.tgz", - "integrity": "sha512-Eux0i2QdDYKbdbA6AM6xE4m6ZTZr4G4xF9kahI2ukSEMCzwce2eX9WlTI5J3s+NU7hpasFsr8hWIONae7LluAQ==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - } - } -} diff --git a/integrations-examples/twilio/package.json b/integrations-examples/twilio/package.json deleted file mode 100644 index 43ceac8..0000000 --- a/integrations-examples/twilio/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "twilio-gladia-ws", - "version": "1.0.0", - "description": "A simple example of how to use gladia streaming to transcribe a phone call using Twilio", - "main": "app.js", - "scripts": { - "start": "node app.js" - }, - "author": "Gladia", - "license": "MIT", - "dependencies": { - "@ngrok/ngrok": "^1.7.0", - "body-parser": "^2.2.2", - "cors": "^2.8.6", - "dotenv": "^17.4.2", - "express": "^5.2.0", - "twilio": "^6.0.2", - "ws": "^8.21.0" - } -}