Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11.
Ключевые отличия
▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля
▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста
▫️ошибка автоматически отменяет незавершенные задачи,
▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно
import asyncio
import random
async def do_it() -> str:
if random.random() < 0.1:
raise ValueError('Oops')
delay = random.uniform(0.5, 1.5)
await asyncio.sleep(delay)
return delay
async def main():
try:
async with asyncio.TaskGroup() as tg:
for _ in range(10):
tasks.append(tg.create_task(do_it()))
for t in tasks:
print(t.result())
except *ValueError as e:
for err in e.exceptions:
print(err)
asyncio.run(main())
Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов
- таймауты
- отмена задач
- создание задач из другого потока
#async
Google встроил AI прямо в Google Sheets — на уровне формул.
Больше не нужно вспоминать, как писать VLOOKUP или придумывать хитрые конструкции для сложных задач.
Теперь достаточно написать промпт в =AI() — и модель сама поймёт, что в ячейках, и вернёт нужный результат.
Примеры, что можно делать прямо в таблице в комметариях.
#google#spreadsheet#ai
—————————
Мысли Рвачева
—————————
https://github.com/blissnd/easyxls
Convert any #spreadsheet into a Python internal #dict/#array data structure, for easy processing. Can also handle pivot tables.
For pivot table usage, header_row_start & header_col_start need to be set equal to the top left corner of the pivot table => header_row_start=8, header_col_start='c' in the included example.
Column IDs must always be lowercase chars in quotes, e.g. 'a'.
Melder Secures $500K Funding
Melder has raised $500K in funding as of December 4, 2024. The platform allows users to analyze PDFs, DOCX files, and Emails using a straightforward spreadsheet tool.
#Funding#Melder#Tech#Startup#Investment#Spreadsheet#Email#DOCX#PDF#Analysis
#python#airtable#airtable_alternative#airtable_replacement#application_builder#automations#dashboards#database#low_code#no_code#no_code_database#no_code_platform#online_database#postgresql#restful_api#self_hosted#spreadsheet
Baserow is a powerful, open-source tool that lets you build databases and applications without coding. It offers full control over your data and environment, allowing self-hosting and customization. Unlike Airtable, Baserow doesn't limit your data storage or API calls, making it ideal for large projects. It combines the ease of a spreadsheet with advanced data management features, including dashboards and automation tools. This gives users complete ownership of their data and avoids vendor lock-in, making it a great choice for businesses needing flexibility and scalability.
https://github.com/baserow/baserow