├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── docs ├── competency-matrix │ ├── index.md │ └── python-backend.md └── index.md ├── mkdocs.yaml ├── poetry.lock └── pyproject.toml /.gitignore: -------------------------------------------------------------------------------- 1 | site/ 2 | .DS_Store 3 | .vscode/ -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Dihset 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dihset/awesome-corporate-dev/d45248e43376f5ae539c23d90b52d9a045281c65/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # awesome-corporate-dev 2 | 3 | # About 4 | 5 | # Road Map 6 | ### Матрица компетенций backend-python 7 | - [ ] Реализована первая версия матрици. 8 | - [ ] Расставлены уровни влияния у навыков. 9 | - [ ] Добавлена литература для улучшения навыков. 10 | 11 | # Contributing 12 | 13 | # Sponsoring -------------------------------------------------------------------------------- /docs/competency-matrix/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dihset/awesome-corporate-dev/d45248e43376f5ae539c23d90b52d9a045281c65/docs/competency-matrix/index.md -------------------------------------------------------------------------------- /docs/competency-matrix/python-backend.md: -------------------------------------------------------------------------------- 1 | # Матрица компетенций Python Backend 2 | 3 | ## Цель 4 | Цель данной матрицы компетенций заключается в том, чтобы обеспечить эффективные инструменты для оценки текущих навыков сотрудников и формирования индивидуальных планов развития, способствующих профессиональному росту и улучшению квалификации. 5 | Матрица разработана специально для анализа и оценки уровня навыков Python Backend Developerов, работающих в среднем корпоративном сегменте разработки. 6 | 7 | Использование этой матрицы позволяет не только точно определить текущее состояние компетенций каждого разработчика, но и выявить потенциальные направления для дальнейшего обучения и развития. 8 | Это, в свою очередь, поможет нашим командам оставаться конкурентоспособными и эффективными в динамично меняющейся технологической среде. 9 | 10 | ## Матрица 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 30 | 35 | 39 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 54 | 60 | 66 | 70 | 76 | 80 | 85 | 86 | 87 | 88 | 92 | 97 | 100 | 106 | 107 | 112 | 116 | 117 | 118 | 119 | 122 | 128 | 131 | 135 | 138 | 139 | 142 | 143 | 144 | 145 | 150 | 157 | 163 | 169 | 173 | 177 | 178 | 179 | 180 | 181 | 185 | 191 | 196 | 201 | 206 | 210 | 211 | 212 | 213 | 214 | 223 | 231 | 239 | 247 | 253 | 259 | 264 | 265 | 266 | 267 | 274 | 280 | 284 | 288 | 289 | 292 | 295 | 296 | 297 | 298 | 299 | 303 | 308 | 312 | 317 | 321 | 322 | 323 | 324 | 325 | 350 | 351 | 352 | 353 | 358 | 365 | 371 | 377 | 380 | 383 | 387 | 388 | 389 | 390 | 395 | 400 | 405 | 411 | 415 | 416 | 419 | 420 | 421 | 422 | 428 | 433 | 438 | 443 | 447 | 448 | 449 | 450 | 451 | 452 | 456 | 460 | 464 | 468 | 473 | 476 | 480 | 481 | 482 | 483 | 488 | 494 | 499 | 503 | 504 | 505 | 509 | 510 | 520 | 521 | 522 | 526 | 532 | 536 | 544 | 550 | 551 | 557 | 558 | 568 | 569 | 570 | 576 | 583 | 589 | 597 | 603 | 609 | 618 | 619 | 629 |
Intern
Junior
Junior+
Middle
Middle+
Senior
Lead
Python 26 | 1. Понимание основных конструкций языка: переменные, условия, циклы. задач.
27 | 2. Основы работы с базовыми типами данных: строки, списки и словари.
28 | 3. Способность создавать простые программы для решения базовых задач. 29 |
31 | 1. Уверенное владение основными структурами данных (списки, кортежи, множества).
32 | 2. Обработка ошибок и исключений.
33 | 3. Понимание основ объектно-ориентированного программирования. 34 |
36 | 1. Продвинутое использование парадигмы ООП, включая полиморфизм и инкапсуляцию.
37 | 2. Понимание принципов работы декораторов и метаклассов. 38 |
40 | 1. Использование инструментов для оптимизации и улучшения производительности Python-кода.
41 | 2. Глубокое понимание GIL (Global Interpreter Lock) и методов его обхода.
42 | 3. Понимание счетчика ссылок и сборщика мусора 43 |
Структуры данных 51 | 1. Понимание и использование основных структур данных, таких как списки, множества, словари.
52 | 2. Простые операции (вставка, удаление, поиск) на основных структурах данных. 53 |
55 | 1. Эффективное использование списков и словарей для различных задач.
56 | 2. Работа с вложенными структурами данных.
57 | 3. Понимание принципов работы стеков и очередей.
58 | 4. Оценка временной и пространственной сложности алгоритмов на основных структурах данных. 59 |
61 | 1. Понимание древовидных структур данных и графов.
62 | 2. Работа с бинарными деревьями, AVL-деревьями и графами.
63 | 3. Работа с двусвязными списками, кольцевыми списками и другими продвинутыми вариантами.
64 | 4. Углубленное понимание работы хеш-таблиц и коллизий. 65 |
67 | 1. Работа с несбалансированными деревьями.
68 | 2. Работа с графами, включая алгоритмы обхода. 69 |
71 | 1. Понимание распределенных структур данных для масштабируемости.
72 | 2. Работа с согласованными и непрерывными структурами данных.
73 | 3. Оптимизация производительности при использовании структур данных.
74 | 4. Анализ и улучшение сложности алгоритмов. 75 |
77 | 1. Работа с потоками данных и безопасностью данных в многопоточных приложениях.
78 | 2. Применение структур данных для эффективного решения задач параллельных вычислений. 79 |
81 | 1. Принятие стратегических решений по выбору структур данных в зависимости от требований проекта.
82 | 2. Определение стандартов и лучших практик по использованию структур данных в организации.
83 | 3. Использование структур данных в архитектуре проекта для достижения высокой производительности и масштабируемости. 84 |
Алгоритмы 89 | 1. Базовые алгоритмы. (Сортировки. Бинарный поиск)
90 | 2. Сложность алгоритма 91 |
93 | 1. Использование более эффективных алгоритмов сортировки (быстрая сортировка, сортировка слиянием).
94 | 2. Работа с бинарным поиском и поиском по хеш-таблицам.
95 | 3. Понимание понятия мемоизации. 96 |
98 | 1. Работа с алгоритмами поиска в графах (DFS, BFS).
99 | 2. Применение алгоритмов кратчайшего пути (алгоритм Дейкстры, Флойда-Уоршелла, Беллмана-Форда).
101 | 1. Работа с алгоритмами сортировки с временной сложностью O(n log n) (например, TimSort).
102 | 2. Стабильность алгоритмов
103 | 3. Работа с алгоритмами на деревьях (например, обходы дерева, поиск LCA).
104 | 4. Работа с регулярными выражениями. 105 |
108 | 1. Работа с алгоритмами для решения задач на графах высокой сложности (например, алгоритмы на сетях, потоки в графах).
109 | 2. Применение алгоритмов в распределенных системах и на параллельных архитектурах.
110 | 3. Работа с алгоритмами консенсуса и распределенной блокировкой. 111 |
113 | 1. Принятие стратегических решений по выбору алгоритмов в зависимости от требований проекта.
114 | 2. Оценка производительности и масштабируемости алгоритмов. 115 |
Библиотеки 120 | 1. Знание базовых библиотек, таких как math, random, sys, json, datetime, random, csv. 121 | 123 | 1. Использование базовых библиотек: itertools, functools, logging, dataclasses, re, collections, pathlib, pickle, io, urllib.
124 | 2. Pydantic
125 | 3. requests / httpx
126 | 4. Простые запросы с использованием библиотеки SQLAlchemy для работы с базами данных. 127 |
129 | 1. Использование базовых библиотек: threading, multiprocessing, contextlib, contextvars, abs, ast.
130 | 2. Pandas, numpy
132 | 1. Работа с библиотекой asyncio. Понимание ее работы
133 | 2. Опыт использования aiohttp для асинхронных HTTP-запросов. 134 |
136 | 1. Знание библиотек для обработки больших данных, таких как Apache Spark.
137 | 2. Опыт работы с библиотеками визуализации: matplotlib, seaborn, Plotly.
140 | 1. Принятие стратегических решений по выбору библиотек и фреймворков для проектов. 141 |
Django 146 | 1. Понимание структуры проекта Django.
147 | 2. Создание простых моделей, представлений и шаблонов.
148 | 3. Работа с URL-маршрутизацией в Django. 149 |
151 | 1. Работа с Django ORM для взаимодействия с базой данных.
152 | 2. Простые операции CRUD с использованием моделей Django.
153 | 3. Создание и обработка форм в Django.
154 | 4. Создание простых API на DRF / Django-Ninja
155 | 5. Создание простых асинхронных задач с использованием Celery 156 |
158 | 1. Использование классов представлений (View) и их настройка.
159 | 2. Работа с различными типами представлений (ListView, DetailView и др.).
160 | 3. Работа с системой аутентификации Django.
161 | 4. Понимание фабрики сериализаторов. 162 |
164 | 1. Использование кэширования и других методов оптимизации.
165 | 2. Работа с многопоточностью и асинхронными запросами.
166 | 3. Работа с Django Channels для создания асинхронных приложений.
167 | 4. Создание сложных цепочек асинхронных задач с использованием Celery 168 |
170 | 1. Опыт написания / применения и отката сложных миграций
171 | 2. Использование django с elasticsearch / kafka / clickhouse и тп 172 |
174 | 1. Интеграция Django с другими сервисами / микросервисами.
175 | 2. Работа с инструментами для управления множеством Django-приложений. 176 |
FastAPI 182 | 1. Понимание основных концепций FastAPI.
183 | 2. Создание простых эндпоинтов с использованием декораторов FastAPI. 184 |
186 | 1. Использование Pydantic моделей для валидации данных.
187 | 2. Работа с дополнительными валидаторами Pydantic.
188 | 3. Понимание концепции зависимостей в FastAPI.
189 | 4. Использование инъекции зависимостей для работы с внешними ресурсами. 190 |
192 | 1. Работа с системой аутентификации FastAPI.
193 | 2. Использование ORM / ODM, например SQLAlchemy, для взаимодействия с базой данных.
194 | 3. Работа с различными типами запросов и фильтров в FastAPI. 195 |
197 | 1. Работа с коллекциями данных и связями между ресурсами.
198 | 2. Разработка WebSocket-эндпоинтов с использованием FastAPI.
199 | 3. Применение асинхронных операций для улучшения производительности. 200 |
202 | 1. Интеграция FastAPI с микросервисами.
203 | 2. Работа с инструментами для управления множеством FastAPI-приложений.
204 | 3. Разработка стратегий обработки ошибок и безопасности. 205 |
207 | 1. Знание инструментов оптимизации FastAPI приложений: orjson, httptools, uvloop 208 | 2. Опыт использование нескольких хранилищ в одном FastAPI приложении 209 |
Хранилища 215 | 1. Понимание базовых концепций реляционных баз данных.
216 | 2. Основы создания и использования SQL-запросов.
217 | 3. Понимание различий между реляционными и NoSQL базами данных.
218 | 4. Основы работы с NoSQL базами данных, такими как MongoDB или Cassandra.
219 | 5. Понимание принципов ключ-значение в Redis.
220 | 6. Основы создания простых запросов к Elasticsearch.
221 | 7. Загрузка и скачивание файлов из S3. 222 |
224 | 1. Использование SQL для создания, изменения и извлечения данных в приложении.
225 | 2. Знание основных операций в NoSQL базах данных.
226 | 3. Использование Redis для кэширования данных в приложении.
227 | 4. Работа с запросами в Elasticsearch для фильтрации и сортировки данных.
228 | 5. Индексация и обновление данных в Elasticsearch.
229 | 6. Интеграция S3 для хранения и обработки файлов в приложении. 230 |
232 | 1. Работа с транзакциями в реляционных базах данных.
233 | 2. Оптимизация производительности запросов с использованием индексов и анализа выполнения.
234 | 3. Использование различных типов NoSQL баз данных в зависимости от требований проекта.
235 | 4. Использование Pipelining и транзакций в Redis.
236 | 5. Работа с расширенными функциями поиска, такими как фасеты и агрегации.
237 | 6. Интеграция Elasticsearch в приложение для полнотекстового поиска. 238 |
240 | 1. Проектирование и оптимизация схемы базы данных для реляционных и NoSQL баз данных.
241 | 2. Проектирование и настройка партицирования в NoSQL базах данных.
242 | 3. Работа с механизмами шардинга и репликации в Redis.
243 | 4. Использование Redis в распределенных системах.
244 | 5. Оптимизация индексации и поиска для высоконагруженных систем.
245 | 6. Использование репликации и разделения данных в Elasticsearch. 246 |
248 | 1. Оптимизация работы с Redis в условиях высокой нагрузки.
249 | 2. Использование Redis в качестве брокера сообщений.
250 | 3. Продвинутая оптимизация SQL-запросов с использованием индексов, материализованных представлений и хранимых процедур.
251 | 4. Работа с механизмами кэширования и предварительной выборки данных. 252 |
254 | 1. Работа с распределенными кешами и хранилищами.
255 | 2. Использование инструментов машинного обучения для улучшения поиска в Elasticsearch.
256 | 3. Работа с тематическим моделированием и рекомендательными системами.
257 | 4. Проектирование и внедрение высокодоступных и отказоустойчивых хранилищ данных в облаке. 258 |
260 | 1. Принятие стратегических решений по выбору между SQL и NoSQL решениями в компании.
261 | 2. Внедрение новых технологий хранения данных.
262 | 3. Менторство и обучение команды в области работы с данными. 263 |
SQL 268 | 1. Понимание основных операторов: SELECT, INSERT, UPDATE, DELETE.
269 | 2. Работа с условиями WHERE для фильтрации данных.
270 | 3. Знание простых JOIN-операций для объединения таблиц.
271 | 4. Создание простых таблиц и определение связей между ними.
272 | 5. Использование базовых типов данных (целые числа, строки, даты). 273 |
275 | 1. Работа с индексами для улучшения производительности запросов.
276 | 2. Использование GROUP BY и агрегатных функций для анализа данных.
277 | 3. Понимание транзакционной модели данных и работа с транзакциями.
278 | 4. Знание команд COMMIT и ROLLBACK. 279 |
281 | 1. Использование подзапросов для решения сложных задач. 282 | 2. Использование оконных функций. 283 | 285 | 1. Проектирование сложных схем баз данных с учетом требований приложения.
286 | 2. Работа с инструментами моделирования данных (например, ER-диаграммы). 287 |
290 | 1. Оптимизация схем баз данных для различных видов запросов. 291 | 293 | 1. Принятие стратегических решений по выбору технологий и методов хранения данных. 294 |
Тестирование и контроль качества 300 | 1. Умение писать тесты с использованием pytest / unittest.
301 | 2. Пользоваться настроенными линтерами и форматерами. 302 |
304 | 1. Знание и умение применять mock, fixture, faker.
305 | 2. Понимание настроек линтеров.
306 | 3. Придерживаться типизации кода. 307 |
309 | 1. Понимание ценности тестов в корпоративной разработке.
310 | 2. Умение настаивать линтеры и тайпчекеры. 311 |
313 | 1. Написание нагрузочных тестов.
314 | 2. Понимание различия тестовых сред
315 | 3. Умение настраивать тестовые среды. 316 |
318 | 1. Разработка через тестирование. Понимание плюсов и минусов.
319 | 2. Понимаение различий flake, pylint, ruff. 320 |
Веб разработка 326 | 1. Понимание базовых принципов работы веба (HTTP, HTTPS).
327 | 2. Работа с параметрами запросов и ответов.
328 | 3. Основы работы с заголовками HTTP. 329 |
330 | 1. Работа с более сложными сценариями использования HTTP.
331 | 2. Знание и использование различных заголовков, таких как Authorization, Content-Type, и др.
332 | 3. Проектирование и разработка RESTful API.
333 | 4. Знание и применение форматов данных, таких как JSON. 334 |
335 | 1. Работа с версионированием API.
336 | 2. Понимание основ GraphQL / grpc / jsonrpc и их преимуществ и недостатков.
337 | 3. Знание основ безопасности веб-приложений. 338 |
339 | 1. Оптимизация запросов для повышения производительности.
340 | 2. Работа с кэшированием и заголовками для контроля кеширования. 341 |
342 | 1. Использование асинхронных запросов для повышения производительности.
343 | 2. Работа с веб-сокетами для реализации асинхронных веб-приложений.
344 | 3. Защита GraphQL-запросов от уязвимостей. 345 |
346 | 1. Использование CDN и других инструментов для улучшения распределения нагрузки. 347 | 348 | 1. Принятие стратегических решений по выбору протоколов и технологий для проектов. 349 |
Асинхронное программирование и многозадачность 354 | 1. Основы асинхронности.
355 | 2. Понимание многозадачности.
356 | 3. Понимание отличий параллельности и конкурентности. 357 |
359 | 1. Работа с корутинами.
360 | 2. Знание asyncio. Использование async/await.
361 | 3. Работа с потоками.
362 | 4. Работа с процессами.
363 | 5. Опыт работы с celery. 364 |
366 | 1. Понимание работы event loop.
367 | 2. Понимание работы процессов в операционной системе.
368 | 3. Понимание принципов обработки ошибок в асинхронном коде.
369 | 4. Понимание принципов взаимодействия между потоками. 370 |
372 | 1. Оптимизация асинхронного кода.
373 | 2. Использование асинхронных паттернов.
374 | 3. Понимание отличий от wsgi и asgi.
375 | 4. Опыт межсервисного асинхронного взаимодействия с помощью брокеров или event store (rabbitbq / kafka). 376 |
378 | 1. Опыт разрешения проблем в асинхронном коде. 379 | 381 | 1. Опыт создания высоконагруженных асинхронных приложений. 382 | 384 | 1. Руководство командой в области асинхронного программирования.
385 | 2. Архитектурные решения в асинхронных системах. 386 |
Системы контроля версий 391 | 1. Понимание базовых концепций Git.
392 | 2. Основные команды: clone, commit, push, pull.
393 | 3. Работа с основными ветками: master, feature, develop. 394 |
396 | 1. Создание и управление ветками для разработки новых функций и исправлений.
397 | 2. Слияние веток для интеграции изменений.
398 | 3. Работа с форками и создание pull request'ов. 399 |
401 | 1. Работа с конфликтами при слиянии веток.
402 | 2. Ручное разрешение конфликтов и их предотвращение.
403 | 3. Создание и использование Git Hooks для автоматизации процессов (например, перед коммитом). 404 |
406 | 1. Создание релизов и проставление тегов.
407 | 2. Управление версиями проекта в Git.
408 | 3. Работа с Git Flow для управления циклом разработки.
409 | 4. Понимание лучших практик для использования Git в командных проектах. 410 |
412 | 1. Работа с подмодулями и поддеревьями. 413 | 2. Интеграция Git с другими инструментами разработки. 414 | 417 | 1. Принятие стратегических решений по выбору модели ветвления и релизного цикла в больших командах. 418 |
Linux 423 | 1. Использование основных команд для навигации и управления файлами.
424 | 2. Знание основных команд для работы с пакетным менеджером (например, apt, yum).
425 | 3. Понимание основ прав доступа к файлам и директориям.
426 | 4. Применение базовых команд для управления правами доступа (rwx). 427 |
429 | 1. Отслеживание и завершение процессов.
430 | 2. Работа с фоновыми и передними процессами.
431 | 3. Использование инструментов для диагностики сетевых проблем (например, ping, traceroute). 432 |
434 | 1. Написание простых скриптов на Bash.
435 | 2. Использование переменных, циклов, условных операторов в скриптах.
436 | 3. Просмотр и анализ системных журналов (логов). 437 |
439 | 1. Создание и управление пользователями и группами.
440 | 3. Установка и обновление программных пакетов.
441 | 4. Управление модулями ядра и ядром системы. 442 |
444 | 1. Использование инструментов автоматизации (например, Ansible).
445 | 2. Написание скриптов для автоматизации рутинных задач. 446 |
DevOps 453 | 1. Понимание основных операций в системном администрировании.
454 | 2. Знание принципов конфигурационного управления. 455 |
457 | 1. Знание Docker и основы работы с контейнерами. 458 | 2. Использование Docker Compose для управления многоконтейнерными приложениями.
459 |
461 | 1. Основы работы с Kubernetes для оркестрации контейнеров.
462 | 2. Понимание концепций подов, нод, сервисов и репликации в Kubernetes. 463 |
465 | 1. Работа с blue-green и canary развертываниями.
466 | 2. Понимание принципов serverless. 467 |
469 | 1. Оптимизация инфраструктуры для высоконагруженных проектов.
470 | 2. Работа с распределенными системами и горизонтальным масштабированием.
471 | 3. Оптимизация затрат и ресурсов в облачных средах. 472 |
474 | 1. Опыт миграции высоконагруженного приложения от одного провайдера в другой. 475 | 477 | 1. Принятие стратегических решений по выбору технологий развертывания.
478 | 2. Консультирование devops инженеров по особенностям работы python. 479 |
Мониторинг и логирование 484 | 1. Умение использовать инструменты мониторинга.
485 | 2. Анализ метрик и журналов.
486 | 3. Понимание необходимости измеряемого продукта. 487 |
489 | 1. Понимание принципов и использование централизованных систем логирования.
490 | 2. Создание мониторинговых дашбордов.
491 | 3. Настройка алертинга и уведомлений.
492 | 4. Автоматизация мониторинга и логирования. 493 |
495 | 1. Решение проблем и оптимизация производительности на основе данных мониторинга.
496 | 2. Конфигурация и настройка мониторинга.
497 | 3. Опыт интеграции с инфраструктурными облачными решениями. 498 |
500 | 1. Работа с распределенными системами мониторинга.
501 | 2. Настройка межсервисных трассировок. 502 |
506 | 1. Руководство командой в области мониторинга и логирования.
507 | 2. Архитектурные решения для масштабируемого мониторинга и логирования. 508 |
Архитектура 523 | 1. Знание основных паттернов: Singleton, Factory, Decorator.
524 | 2. Применение простых паттернов в проектах. 525 |
527 | 1. Понимание основных принципов SOLID.
528 | 2. Применение принципа единственной ответственности в разработке.
529 | 3. Использование более сложных паттернов: Observer, Strategy, State, Mediator.
530 | 4. Проектирование с применением паттернов для повышения гибкости. 531 |
533 | 1. Применение остальных принципов SOLID (Открытое/Закрытое, Подстановки Лисков, Инверсия зависимостей).
534 | 2. Понимание различных архитектурных стилей: монолит, микросервисы, serverless. 535 |
537 | 1. Применение SOLID в реальных сценариях разработки.
538 | 2. Оценка и обновление архитектуры для соответствия принципам SOLID.
539 | 2. Понимание принципов гексагональной архитектуры.
540 | 4. Проектирование приложений с разделением бизнес-логики и инфраструктуры.
541 | 5. Проектирование систем с применением более сложных паттернов: CQRS, Event Sourcing.
542 | 6. Работа с асинхронными и распределенными системами. 543 |
545 | 1. Проектирование высоконагруженных систем с учетом горизонтального масштабирования.
546 | 2. Использование шаблонов коммуникации между микросервисами.
547 | 3. Работа с различными стратегиями обновления приложений.
548 | 4. Проектирование и управление схемой версионирования API. 549 |
552 | 1. Применение принципов гексагональной архитектуры в сложных бизнес-сценариях.
553 | 2. Интеграция гексагональной архитектуры с микросервисной архитектурой.
554 | 3. Менторство и обучение команды в области архитектуры.
555 | 4. Разработка и внедрение стандартов архитектурного проектирования в организации. 556 |
Командная работа 571 | 1. Участие в ежедневных статусах и созвонах.
572 | 2. Работа с задачами в системе управления проектами (например, Jira).
573 | 3. Обмен информацией с коллегами и руководством.
574 | 4. Способность задавать вопросы и просить помощи. 575 |
577 | 1. Способность эффективно управлять своим временем и задачами.
578 | 2. Работа с приоритетами и соблюдение дедлайнов.
579 | 3. Работа в системах контроля версий (например, Git) в рамках команды.
580 | 4. Понимание принципов и целей Code Review.
581 | 5. Участие в процессе обзора кода, внесение своих комментариев. 582 |
584 | 1. Улучшение навыков письменной и устной коммуникации.
585 | 2. Участие в обсуждении архитектурных решений и планировании задач.
586 | 3. Развитие навыков урегулирования конфликтов.
587 | 4. Способность конструктивно обсуждать разногласия в команде. 588 |
590 | 1. Возможность взять на себя роль лидера в отсутствие руководителя.
591 | 2. Способность организовывать и направлять работу команды.
592 | 3. Помощь младшим членам команды в их профессиональном росте.
593 | 4. Делегирование задач и предоставление поддержки.
594 | 5. Умение эффективно управлять конфликтами и находить компромиссы.
595 | 6. Принятие участия в разрешении сложных ситуаций в команде. 596 |
598 | 1. Разработка и внедрение стратегии управления командой.
599 | 2. Работа над мотивацией и вовлечением членов команды.
600 | 3. Развитие программ обучения и поддержка профессионального роста команды.
601 | 4. Участие в подборе новых сотрудников и их адаптация. 602 |
604 | 1. Принятие стратегических решений в отношении структуры команды.
605 | 2. Развитие и внедрение культуры работы в команде.
606 | 3. Принятие инициативы в инновационных проектах и исследованиях.
607 | 4. Разработка стратегии внедрения новых технологий в команде. 608 |
610 | 1. Разработка и внедрение стратегии развития отдела разработки.
611 | 2. Принятие ключевых стратегических решений в области технологического стека, архитектуры и методологии разработки.
612 | 3. Поддержка и поощрение исследовательской работы внутри команды.
613 | 4. Развитие программ для непрерывного обучения и профессионального роста команды.
614 | 5. Проведение регулярных обзоров производительности и обратной связи.
615 | 6. Внедрение и поддержание ценностей и культуры компании в отделе разработки.
616 | 7. Формирование положительного и вдохновляющего рабочего окружения. 617 |
630 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | # AWESOME Корпоративная разработка -------------------------------------------------------------------------------- /mkdocs.yaml: -------------------------------------------------------------------------------- 1 | site_name: AWESOME Корпоративная разработка 2 | docs_dir: docs/ 3 | repo_name: 'Dihset/awesome-corporate-deve' 4 | repo_url: 'https://github.com/Dihset/awesome-corporate-dev' 5 | nav: 6 | - Введение: index.md 7 | - Матрица компетенций: 8 | - Python Backend: 'competency-matrix/python-backend.md' 9 | theme: 10 | name: material -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. 2 | 3 | [[package]] 4 | name = "babel" 5 | version = "2.14.0" 6 | description = "Internationalization utilities" 7 | optional = false 8 | python-versions = ">=3.7" 9 | files = [ 10 | {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, 11 | {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, 12 | ] 13 | 14 | [package.extras] 15 | dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] 16 | 17 | [[package]] 18 | name = "certifi" 19 | version = "2024.2.2" 20 | description = "Python package for providing Mozilla's CA Bundle." 21 | optional = false 22 | python-versions = ">=3.6" 23 | files = [ 24 | {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, 25 | {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, 26 | ] 27 | 28 | [[package]] 29 | name = "charset-normalizer" 30 | version = "3.3.2" 31 | description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." 32 | optional = false 33 | python-versions = ">=3.7.0" 34 | files = [ 35 | {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, 36 | {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, 37 | {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, 38 | {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, 39 | {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, 40 | {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, 41 | {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, 42 | {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, 43 | {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, 44 | {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, 45 | {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, 46 | {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, 47 | {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, 48 | {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, 49 | {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, 50 | {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, 51 | {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, 52 | {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, 53 | {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, 54 | {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, 55 | {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, 56 | {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, 57 | {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, 58 | {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, 59 | {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, 60 | {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, 61 | {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, 62 | {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, 63 | {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, 64 | {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, 65 | {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, 66 | {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, 67 | {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, 68 | {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, 69 | {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, 70 | {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, 71 | {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, 72 | {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, 73 | {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, 74 | {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, 75 | {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, 76 | {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, 77 | {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, 78 | {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, 79 | {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, 80 | {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, 81 | {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, 82 | {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, 83 | {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, 84 | {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, 85 | {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, 86 | {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, 87 | {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, 88 | {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, 89 | {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, 90 | {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, 91 | {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, 92 | {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, 93 | {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, 94 | {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, 95 | {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, 96 | {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, 97 | {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, 98 | {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, 99 | {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, 100 | {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, 101 | {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, 102 | {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, 103 | {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, 104 | {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, 105 | {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, 106 | {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, 107 | {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, 108 | {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, 109 | {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, 110 | {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, 111 | {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, 112 | {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, 113 | {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, 114 | {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, 115 | {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, 116 | {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, 117 | {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, 118 | {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, 119 | {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, 120 | {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, 121 | {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, 122 | {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, 123 | {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, 124 | {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, 125 | ] 126 | 127 | [[package]] 128 | name = "click" 129 | version = "8.1.7" 130 | description = "Composable command line interface toolkit" 131 | optional = false 132 | python-versions = ">=3.7" 133 | files = [ 134 | {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, 135 | {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, 136 | ] 137 | 138 | [package.dependencies] 139 | colorama = {version = "*", markers = "platform_system == \"Windows\""} 140 | 141 | [[package]] 142 | name = "colorama" 143 | version = "0.4.6" 144 | description = "Cross-platform colored terminal text." 145 | optional = false 146 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" 147 | files = [ 148 | {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, 149 | {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, 150 | ] 151 | 152 | [[package]] 153 | name = "ghp-import" 154 | version = "2.1.0" 155 | description = "Copy your docs directly to the gh-pages branch." 156 | optional = false 157 | python-versions = "*" 158 | files = [ 159 | {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, 160 | {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, 161 | ] 162 | 163 | [package.dependencies] 164 | python-dateutil = ">=2.8.1" 165 | 166 | [package.extras] 167 | dev = ["flake8", "markdown", "twine", "wheel"] 168 | 169 | [[package]] 170 | name = "idna" 171 | version = "3.7" 172 | description = "Internationalized Domain Names in Applications (IDNA)" 173 | optional = false 174 | python-versions = ">=3.5" 175 | files = [ 176 | {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, 177 | {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, 178 | ] 179 | 180 | [[package]] 181 | name = "jinja2" 182 | version = "3.1.3" 183 | description = "A very fast and expressive template engine." 184 | optional = false 185 | python-versions = ">=3.7" 186 | files = [ 187 | {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, 188 | {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, 189 | ] 190 | 191 | [package.dependencies] 192 | MarkupSafe = ">=2.0" 193 | 194 | [package.extras] 195 | i18n = ["Babel (>=2.7)"] 196 | 197 | [[package]] 198 | name = "markdown" 199 | version = "3.6" 200 | description = "Python implementation of John Gruber's Markdown." 201 | optional = false 202 | python-versions = ">=3.8" 203 | files = [ 204 | {file = "Markdown-3.6-py3-none-any.whl", hash = "sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f"}, 205 | {file = "Markdown-3.6.tar.gz", hash = "sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224"}, 206 | ] 207 | 208 | [package.extras] 209 | docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] 210 | testing = ["coverage", "pyyaml"] 211 | 212 | [[package]] 213 | name = "markupsafe" 214 | version = "2.1.5" 215 | description = "Safely add untrusted strings to HTML/XML markup." 216 | optional = false 217 | python-versions = ">=3.7" 218 | files = [ 219 | {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, 220 | {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, 221 | {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, 222 | {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, 223 | {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, 224 | {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, 225 | {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, 226 | {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, 227 | {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, 228 | {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, 229 | {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, 230 | {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, 231 | {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, 232 | {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, 233 | {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, 234 | {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, 235 | {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, 236 | {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, 237 | {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, 238 | {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, 239 | {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, 240 | {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, 241 | {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, 242 | {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, 243 | {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, 244 | {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, 245 | {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, 246 | {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, 247 | {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, 248 | {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, 249 | {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, 250 | {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, 251 | {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, 252 | {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, 253 | {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, 254 | {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, 255 | {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, 256 | {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, 257 | {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, 258 | {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, 259 | {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, 260 | {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, 261 | {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, 262 | {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, 263 | {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, 264 | {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, 265 | {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, 266 | {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, 267 | {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, 268 | {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, 269 | {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, 270 | {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, 271 | {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, 272 | {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, 273 | {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, 274 | {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, 275 | {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, 276 | {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, 277 | {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, 278 | {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, 279 | ] 280 | 281 | [[package]] 282 | name = "mergedeep" 283 | version = "1.3.4" 284 | description = "A deep merge function for 🐍." 285 | optional = false 286 | python-versions = ">=3.6" 287 | files = [ 288 | {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, 289 | {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, 290 | ] 291 | 292 | [[package]] 293 | name = "mkdocs" 294 | version = "1.5.3" 295 | description = "Project documentation with Markdown." 296 | optional = false 297 | python-versions = ">=3.7" 298 | files = [ 299 | {file = "mkdocs-1.5.3-py3-none-any.whl", hash = "sha256:3b3a78e736b31158d64dbb2f8ba29bd46a379d0c6e324c2246c3bc3d2189cfc1"}, 300 | {file = "mkdocs-1.5.3.tar.gz", hash = "sha256:eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2"}, 301 | ] 302 | 303 | [package.dependencies] 304 | click = ">=7.0" 305 | colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} 306 | ghp-import = ">=1.0" 307 | jinja2 = ">=2.11.1" 308 | markdown = ">=3.2.1" 309 | markupsafe = ">=2.0.1" 310 | mergedeep = ">=1.3.4" 311 | packaging = ">=20.5" 312 | pathspec = ">=0.11.1" 313 | platformdirs = ">=2.2.0" 314 | pyyaml = ">=5.1" 315 | pyyaml-env-tag = ">=0.1" 316 | watchdog = ">=2.0" 317 | 318 | [package.extras] 319 | i18n = ["babel (>=2.9.0)"] 320 | min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pathspec (==0.11.1)", "platformdirs (==2.2.0)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] 321 | 322 | [[package]] 323 | name = "mkdocs-material" 324 | version = "9.5.18" 325 | description = "Documentation that simply works" 326 | optional = false 327 | python-versions = ">=3.8" 328 | files = [ 329 | {file = "mkdocs_material-9.5.18-py3-none-any.whl", hash = "sha256:1e0e27fc9fe239f9064318acf548771a4629d5fd5dfd45444fd80a953fe21eb4"}, 330 | {file = "mkdocs_material-9.5.18.tar.gz", hash = "sha256:a43f470947053fa2405c33995f282d24992c752a50114f23f30da9d8d0c57e62"}, 331 | ] 332 | 333 | [package.dependencies] 334 | babel = ">=2.10,<3.0" 335 | colorama = ">=0.4,<1.0" 336 | jinja2 = ">=3.0,<4.0" 337 | markdown = ">=3.2,<4.0" 338 | mkdocs = ">=1.5.3,<1.6.0" 339 | mkdocs-material-extensions = ">=1.3,<2.0" 340 | paginate = ">=0.5,<1.0" 341 | pygments = ">=2.16,<3.0" 342 | pymdown-extensions = ">=10.2,<11.0" 343 | regex = ">=2022.4" 344 | requests = ">=2.26,<3.0" 345 | 346 | [package.extras] 347 | git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] 348 | imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"] 349 | recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] 350 | 351 | [[package]] 352 | name = "mkdocs-material-extensions" 353 | version = "1.3.1" 354 | description = "Extension pack for Python Markdown and MkDocs Material." 355 | optional = false 356 | python-versions = ">=3.8" 357 | files = [ 358 | {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, 359 | {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, 360 | ] 361 | 362 | [[package]] 363 | name = "packaging" 364 | version = "24.0" 365 | description = "Core utilities for Python packages" 366 | optional = false 367 | python-versions = ">=3.7" 368 | files = [ 369 | {file = "packaging-24.0-py3-none-any.whl", hash = "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5"}, 370 | {file = "packaging-24.0.tar.gz", hash = "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"}, 371 | ] 372 | 373 | [[package]] 374 | name = "paginate" 375 | version = "0.5.6" 376 | description = "Divides large result sets into pages for easier browsing" 377 | optional = false 378 | python-versions = "*" 379 | files = [ 380 | {file = "paginate-0.5.6.tar.gz", hash = "sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"}, 381 | ] 382 | 383 | [[package]] 384 | name = "pathspec" 385 | version = "0.12.1" 386 | description = "Utility library for gitignore style pattern matching of file paths." 387 | optional = false 388 | python-versions = ">=3.8" 389 | files = [ 390 | {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, 391 | {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, 392 | ] 393 | 394 | [[package]] 395 | name = "platformdirs" 396 | version = "4.2.0" 397 | description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." 398 | optional = false 399 | python-versions = ">=3.8" 400 | files = [ 401 | {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, 402 | {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, 403 | ] 404 | 405 | [package.extras] 406 | docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] 407 | test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] 408 | 409 | [[package]] 410 | name = "pygments" 411 | version = "2.17.2" 412 | description = "Pygments is a syntax highlighting package written in Python." 413 | optional = false 414 | python-versions = ">=3.7" 415 | files = [ 416 | {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, 417 | {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, 418 | ] 419 | 420 | [package.extras] 421 | plugins = ["importlib-metadata"] 422 | windows-terminal = ["colorama (>=0.4.6)"] 423 | 424 | [[package]] 425 | name = "pymdown-extensions" 426 | version = "10.8" 427 | description = "Extension pack for Python Markdown." 428 | optional = false 429 | python-versions = ">=3.8" 430 | files = [ 431 | {file = "pymdown_extensions-10.8-py3-none-any.whl", hash = "sha256:3539003ff0d5e219ba979d2dc961d18fcad5ac259e66c764482e8347b4c0503c"}, 432 | {file = "pymdown_extensions-10.8.tar.gz", hash = "sha256:91ca336caf414e1e5e0626feca86e145de9f85a3921a7bcbd32890b51738c428"}, 433 | ] 434 | 435 | [package.dependencies] 436 | markdown = ">=3.6" 437 | pyyaml = "*" 438 | 439 | [package.extras] 440 | extra = ["pygments (>=2.12)"] 441 | 442 | [[package]] 443 | name = "python-dateutil" 444 | version = "2.9.0.post0" 445 | description = "Extensions to the standard Python datetime module" 446 | optional = false 447 | python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" 448 | files = [ 449 | {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, 450 | {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, 451 | ] 452 | 453 | [package.dependencies] 454 | six = ">=1.5" 455 | 456 | [[package]] 457 | name = "pyyaml" 458 | version = "6.0.1" 459 | description = "YAML parser and emitter for Python" 460 | optional = false 461 | python-versions = ">=3.6" 462 | files = [ 463 | {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, 464 | {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, 465 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, 466 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, 467 | {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, 468 | {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, 469 | {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, 470 | {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, 471 | {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, 472 | {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, 473 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, 474 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, 475 | {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, 476 | {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, 477 | {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, 478 | {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, 479 | {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, 480 | {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, 481 | {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, 482 | {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, 483 | {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, 484 | {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, 485 | {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, 486 | {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, 487 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, 488 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, 489 | {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, 490 | {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, 491 | {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, 492 | {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, 493 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, 494 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, 495 | {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, 496 | {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, 497 | {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, 498 | {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, 499 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, 500 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, 501 | {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, 502 | {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, 503 | {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, 504 | {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, 505 | {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, 506 | {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, 507 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, 508 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, 509 | {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, 510 | {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, 511 | {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, 512 | {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, 513 | {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, 514 | ] 515 | 516 | [[package]] 517 | name = "pyyaml-env-tag" 518 | version = "0.1" 519 | description = "A custom YAML tag for referencing environment variables in YAML files. " 520 | optional = false 521 | python-versions = ">=3.6" 522 | files = [ 523 | {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, 524 | {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, 525 | ] 526 | 527 | [package.dependencies] 528 | pyyaml = "*" 529 | 530 | [[package]] 531 | name = "regex" 532 | version = "2024.4.16" 533 | description = "Alternative regular expression module, to replace re." 534 | optional = false 535 | python-versions = ">=3.7" 536 | files = [ 537 | {file = "regex-2024.4.16-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb83cc090eac63c006871fd24db5e30a1f282faa46328572661c0a24a2323a08"}, 538 | {file = "regex-2024.4.16-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8c91e1763696c0eb66340c4df98623c2d4e77d0746b8f8f2bee2c6883fd1fe18"}, 539 | {file = "regex-2024.4.16-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:10188fe732dec829c7acca7422cdd1bf57d853c7199d5a9e96bb4d40db239c73"}, 540 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:956b58d692f235cfbf5b4f3abd6d99bf102f161ccfe20d2fd0904f51c72c4c66"}, 541 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a70b51f55fd954d1f194271695821dd62054d949efd6368d8be64edd37f55c86"}, 542 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c02fcd2bf45162280613d2e4a1ca3ac558ff921ae4e308ecb307650d3a6ee51"}, 543 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4ed75ea6892a56896d78f11006161eea52c45a14994794bcfa1654430984b22"}, 544 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd727ad276bb91928879f3aa6396c9a1d34e5e180dce40578421a691eeb77f47"}, 545 | {file = "regex-2024.4.16-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7cbc5d9e8a1781e7be17da67b92580d6ce4dcef5819c1b1b89f49d9678cc278c"}, 546 | {file = "regex-2024.4.16-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:78fddb22b9ef810b63ef341c9fcf6455232d97cfe03938cbc29e2672c436670e"}, 547 | {file = "regex-2024.4.16-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:445ca8d3c5a01309633a0c9db57150312a181146315693273e35d936472df912"}, 548 | {file = "regex-2024.4.16-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:95399831a206211d6bc40224af1c635cb8790ddd5c7493e0bd03b85711076a53"}, 549 | {file = "regex-2024.4.16-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:7731728b6568fc286d86745f27f07266de49603a6fdc4d19c87e8c247be452af"}, 550 | {file = "regex-2024.4.16-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4facc913e10bdba42ec0aee76d029aedda628161a7ce4116b16680a0413f658a"}, 551 | {file = "regex-2024.4.16-cp310-cp310-win32.whl", hash = "sha256:911742856ce98d879acbea33fcc03c1d8dc1106234c5e7d068932c945db209c0"}, 552 | {file = "regex-2024.4.16-cp310-cp310-win_amd64.whl", hash = "sha256:e0a2df336d1135a0b3a67f3bbf78a75f69562c1199ed9935372b82215cddd6e2"}, 553 | {file = "regex-2024.4.16-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1210365faba7c2150451eb78ec5687871c796b0f1fa701bfd2a4a25420482d26"}, 554 | {file = "regex-2024.4.16-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ab40412f8cd6f615bfedea40c8bf0407d41bf83b96f6fc9ff34976d6b7037fd"}, 555 | {file = "regex-2024.4.16-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fd80d1280d473500d8086d104962a82d77bfbf2b118053824b7be28cd5a79ea5"}, 556 | {file = "regex-2024.4.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bb966fdd9217e53abf824f437a5a2d643a38d4fd5fd0ca711b9da683d452969"}, 557 | {file = "regex-2024.4.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:20b7a68444f536365af42a75ccecb7ab41a896a04acf58432db9e206f4e525d6"}, 558 | {file = "regex-2024.4.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b74586dd0b039c62416034f811d7ee62810174bb70dffcca6439f5236249eb09"}, 559 | {file = "regex-2024.4.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c8290b44d8b0af4e77048646c10c6e3aa583c1ca67f3b5ffb6e06cf0c6f0f89"}, 560 | {file = "regex-2024.4.16-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2d80a6749724b37853ece57988b39c4e79d2b5fe2869a86e8aeae3bbeef9eb0"}, 561 | {file = "regex-2024.4.16-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:3a1018e97aeb24e4f939afcd88211ace472ba566efc5bdf53fd8fd7f41fa7170"}, 562 | {file = "regex-2024.4.16-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8d015604ee6204e76569d2f44e5a210728fa917115bef0d102f4107e622b08d5"}, 563 | {file = "regex-2024.4.16-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:3d5ac5234fb5053850d79dd8eb1015cb0d7d9ed951fa37aa9e6249a19aa4f336"}, 564 | {file = "regex-2024.4.16-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:0a38d151e2cdd66d16dab550c22f9521ba79761423b87c01dae0a6e9add79c0d"}, 565 | {file = "regex-2024.4.16-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:159dc4e59a159cb8e4e8f8961eb1fa5d58f93cb1acd1701d8aff38d45e1a84a6"}, 566 | {file = "regex-2024.4.16-cp311-cp311-win32.whl", hash = "sha256:ba2336d6548dee3117520545cfe44dc28a250aa091f8281d28804aa8d707d93d"}, 567 | {file = "regex-2024.4.16-cp311-cp311-win_amd64.whl", hash = "sha256:8f83b6fd3dc3ba94d2b22717f9c8b8512354fd95221ac661784df2769ea9bba9"}, 568 | {file = "regex-2024.4.16-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:80b696e8972b81edf0af2a259e1b2a4a661f818fae22e5fa4fa1a995fb4a40fd"}, 569 | {file = "regex-2024.4.16-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d61ae114d2a2311f61d90c2ef1358518e8f05eafda76eaf9c772a077e0b465ec"}, 570 | {file = "regex-2024.4.16-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ba6745440b9a27336443b0c285d705ce73adb9ec90e2f2004c64d95ab5a7598"}, 571 | {file = "regex-2024.4.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295004b2dd37b0835ea5c14a33e00e8cfa3c4add4d587b77287825f3418d310"}, 572 | {file = "regex-2024.4.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4aba818dcc7263852aabb172ec27b71d2abca02a593b95fa79351b2774eb1d2b"}, 573 | {file = "regex-2024.4.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0800631e565c47520aaa04ae38b96abc5196fe8b4aa9bd864445bd2b5848a7a"}, 574 | {file = "regex-2024.4.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08dea89f859c3df48a440dbdcd7b7155bc675f2fa2ec8c521d02dc69e877db70"}, 575 | {file = "regex-2024.4.16-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eeaa0b5328b785abc344acc6241cffde50dc394a0644a968add75fcefe15b9d4"}, 576 | {file = "regex-2024.4.16-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4e819a806420bc010489f4e741b3036071aba209f2e0989d4750b08b12a9343f"}, 577 | {file = "regex-2024.4.16-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c2d0e7cbb6341e830adcbfa2479fdeebbfbb328f11edd6b5675674e7a1e37730"}, 578 | {file = "regex-2024.4.16-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:91797b98f5e34b6a49f54be33f72e2fb658018ae532be2f79f7c63b4ae225145"}, 579 | {file = "regex-2024.4.16-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:d2da13568eff02b30fd54fccd1e042a70fe920d816616fda4bf54ec705668d81"}, 580 | {file = "regex-2024.4.16-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:370c68dc5570b394cbaadff50e64d705f64debed30573e5c313c360689b6aadc"}, 581 | {file = "regex-2024.4.16-cp312-cp312-win32.whl", hash = "sha256:904c883cf10a975b02ab3478bce652f0f5346a2c28d0a8521d97bb23c323cc8b"}, 582 | {file = "regex-2024.4.16-cp312-cp312-win_amd64.whl", hash = "sha256:785c071c982dce54d44ea0b79cd6dfafddeccdd98cfa5f7b86ef69b381b457d9"}, 583 | {file = "regex-2024.4.16-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e2f142b45c6fed48166faeb4303b4b58c9fcd827da63f4cf0a123c3480ae11fb"}, 584 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87ab229332ceb127a165612d839ab87795972102cb9830e5f12b8c9a5c1b508"}, 585 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81500ed5af2090b4a9157a59dbc89873a25c33db1bb9a8cf123837dcc9765047"}, 586 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b340cccad138ecb363324aa26893963dcabb02bb25e440ebdf42e30963f1a4e0"}, 587 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c72608e70f053643437bd2be0608f7f1c46d4022e4104d76826f0839199347a"}, 588 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01fe2305e6232ef3e8f40bfc0f0f3a04def9aab514910fa4203bafbc0bb4682"}, 589 | {file = "regex-2024.4.16-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:03576e3a423d19dda13e55598f0fd507b5d660d42c51b02df4e0d97824fdcae3"}, 590 | {file = "regex-2024.4.16-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:549c3584993772e25f02d0656ac48abdda73169fe347263948cf2b1cead622f3"}, 591 | {file = "regex-2024.4.16-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:34422d5a69a60b7e9a07a690094e824b66f5ddc662a5fc600d65b7c174a05f04"}, 592 | {file = "regex-2024.4.16-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:5f580c651a72b75c39e311343fe6875d6f58cf51c471a97f15a938d9fe4e0d37"}, 593 | {file = "regex-2024.4.16-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3399dd8a7495bbb2bacd59b84840eef9057826c664472e86c91d675d007137f5"}, 594 | {file = "regex-2024.4.16-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8d1f86f3f4e2388aa3310b50694ac44daefbd1681def26b4519bd050a398dc5a"}, 595 | {file = "regex-2024.4.16-cp37-cp37m-win32.whl", hash = "sha256:dd5acc0a7d38fdc7a3a6fd3ad14c880819008ecb3379626e56b163165162cc46"}, 596 | {file = "regex-2024.4.16-cp37-cp37m-win_amd64.whl", hash = "sha256:ba8122e3bb94ecda29a8de4cf889f600171424ea586847aa92c334772d200331"}, 597 | {file = "regex-2024.4.16-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:743deffdf3b3481da32e8a96887e2aa945ec6685af1cfe2bcc292638c9ba2f48"}, 598 | {file = "regex-2024.4.16-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7571f19f4a3fd00af9341c7801d1ad1967fc9c3f5e62402683047e7166b9f2b4"}, 599 | {file = "regex-2024.4.16-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:df79012ebf6f4efb8d307b1328226aef24ca446b3ff8d0e30202d7ebcb977a8c"}, 600 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e757d475953269fbf4b441207bb7dbdd1c43180711b6208e129b637792ac0b93"}, 601 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4313ab9bf6a81206c8ac28fdfcddc0435299dc88cad12cc6305fd0e78b81f9e4"}, 602 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d83c2bc678453646f1a18f8db1e927a2d3f4935031b9ad8a76e56760461105dd"}, 603 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9df1bfef97db938469ef0a7354b2d591a2d438bc497b2c489471bec0e6baf7c4"}, 604 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62120ed0de69b3649cc68e2965376048793f466c5a6c4370fb27c16c1beac22d"}, 605 | {file = "regex-2024.4.16-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c2ef6f7990b6e8758fe48ad08f7e2f66c8f11dc66e24093304b87cae9037bb4a"}, 606 | {file = "regex-2024.4.16-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8fc6976a3395fe4d1fbeb984adaa8ec652a1e12f36b56ec8c236e5117b585427"}, 607 | {file = "regex-2024.4.16-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:03e68f44340528111067cecf12721c3df4811c67268b897fbe695c95f860ac42"}, 608 | {file = "regex-2024.4.16-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ec7e0043b91115f427998febaa2beb82c82df708168b35ece3accb610b91fac1"}, 609 | {file = "regex-2024.4.16-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:c21fc21a4c7480479d12fd8e679b699f744f76bb05f53a1d14182b31f55aac76"}, 610 | {file = "regex-2024.4.16-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:12f6a3f2f58bb7344751919a1876ee1b976fe08b9ffccb4bbea66f26af6017b9"}, 611 | {file = "regex-2024.4.16-cp38-cp38-win32.whl", hash = "sha256:479595a4fbe9ed8f8f72c59717e8cf222da2e4c07b6ae5b65411e6302af9708e"}, 612 | {file = "regex-2024.4.16-cp38-cp38-win_amd64.whl", hash = "sha256:0534b034fba6101611968fae8e856c1698da97ce2efb5c2b895fc8b9e23a5834"}, 613 | {file = "regex-2024.4.16-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a7ccdd1c4a3472a7533b0a7aa9ee34c9a2bef859ba86deec07aff2ad7e0c3b94"}, 614 | {file = "regex-2024.4.16-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f2f017c5be19984fbbf55f8af6caba25e62c71293213f044da3ada7091a4455"}, 615 | {file = "regex-2024.4.16-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:803b8905b52de78b173d3c1e83df0efb929621e7b7c5766c0843704d5332682f"}, 616 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:684008ec44ad275832a5a152f6e764bbe1914bea10968017b6feaecdad5736e0"}, 617 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65436dce9fdc0aeeb0a0effe0839cb3d6a05f45aa45a4d9f9c60989beca78b9c"}, 618 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea355eb43b11764cf799dda62c658c4d2fdb16af41f59bb1ccfec517b60bcb07"}, 619 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c1165f3809ce7774f05cb74e5408cd3aa93ee8573ae959a97a53db3ca3180d"}, 620 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cccc79a9be9b64c881f18305a7c715ba199e471a3973faeb7ba84172abb3f317"}, 621 | {file = "regex-2024.4.16-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00169caa125f35d1bca6045d65a662af0202704489fada95346cfa092ec23f39"}, 622 | {file = "regex-2024.4.16-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6cc38067209354e16c5609b66285af17a2863a47585bcf75285cab33d4c3b8df"}, 623 | {file = "regex-2024.4.16-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:23cff1b267038501b179ccbbd74a821ac4a7192a1852d1d558e562b507d46013"}, 624 | {file = "regex-2024.4.16-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:b9d320b3bf82a39f248769fc7f188e00f93526cc0fe739cfa197868633d44701"}, 625 | {file = "regex-2024.4.16-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:89ec7f2c08937421bbbb8b48c54096fa4f88347946d4747021ad85f1b3021b3c"}, 626 | {file = "regex-2024.4.16-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4918fd5f8b43aa7ec031e0fef1ee02deb80b6afd49c85f0790be1dc4ce34cb50"}, 627 | {file = "regex-2024.4.16-cp39-cp39-win32.whl", hash = "sha256:684e52023aec43bdf0250e843e1fdd6febbe831bd9d52da72333fa201aaa2335"}, 628 | {file = "regex-2024.4.16-cp39-cp39-win_amd64.whl", hash = "sha256:e697e1c0238133589e00c244a8b676bc2cfc3ab4961318d902040d099fec7483"}, 629 | {file = "regex-2024.4.16.tar.gz", hash = "sha256:fa454d26f2e87ad661c4f0c5a5fe4cf6aab1e307d1b94f16ffdfcb089ba685c0"}, 630 | ] 631 | 632 | [[package]] 633 | name = "requests" 634 | version = "2.31.0" 635 | description = "Python HTTP for Humans." 636 | optional = false 637 | python-versions = ">=3.7" 638 | files = [ 639 | {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, 640 | {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, 641 | ] 642 | 643 | [package.dependencies] 644 | certifi = ">=2017.4.17" 645 | charset-normalizer = ">=2,<4" 646 | idna = ">=2.5,<4" 647 | urllib3 = ">=1.21.1,<3" 648 | 649 | [package.extras] 650 | socks = ["PySocks (>=1.5.6,!=1.5.7)"] 651 | use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] 652 | 653 | [[package]] 654 | name = "six" 655 | version = "1.16.0" 656 | description = "Python 2 and 3 compatibility utilities" 657 | optional = false 658 | python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" 659 | files = [ 660 | {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, 661 | {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, 662 | ] 663 | 664 | [[package]] 665 | name = "urllib3" 666 | version = "2.2.1" 667 | description = "HTTP library with thread-safe connection pooling, file post, and more." 668 | optional = false 669 | python-versions = ">=3.8" 670 | files = [ 671 | {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, 672 | {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, 673 | ] 674 | 675 | [package.extras] 676 | brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] 677 | h2 = ["h2 (>=4,<5)"] 678 | socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] 679 | zstd = ["zstandard (>=0.18.0)"] 680 | 681 | [[package]] 682 | name = "watchdog" 683 | version = "4.0.0" 684 | description = "Filesystem events monitoring" 685 | optional = false 686 | python-versions = ">=3.8" 687 | files = [ 688 | {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, 689 | {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, 690 | {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, 691 | {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, 692 | {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, 693 | {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, 694 | {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, 695 | {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, 696 | {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, 697 | {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, 698 | {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, 699 | {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, 700 | {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, 701 | {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, 702 | {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, 703 | {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, 704 | {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, 705 | {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, 706 | {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, 707 | {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, 708 | {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, 709 | {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, 710 | {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, 711 | {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, 712 | {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, 713 | {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, 714 | {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, 715 | {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, 716 | {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, 717 | ] 718 | 719 | [package.extras] 720 | watchmedo = ["PyYAML (>=3.10)"] 721 | 722 | [metadata] 723 | lock-version = "2.0" 724 | python-versions = "^3.10" 725 | content-hash = "c903dd4f569ec6f181518702a8f56c65d5f8d17b6330b336cebe6ee6677f9261" 726 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "awesome-corporate-dev" 3 | version = "0.1.0" 4 | description = "" 5 | authors = ["Egor "] 6 | readme = "README.md" 7 | packages = [{include = "awesome_corporate_dev"}] 8 | 9 | [tool.poetry.dependencies] 10 | python = "^3.10" 11 | mkdocs = "1.5.3" 12 | mkdocs-material = "^9.5.18" 13 | 14 | 15 | [build-system] 16 | requires = ["poetry-core"] 17 | build-backend = "poetry.core.masonry.api" 18 | --------------------------------------------------------------------------------