К основному содержанию
правило

anyio — правило для Cursor: что делает и как установить

Правило задаёт рекомендации для асинхронного Python-кода на AnyIO: использовать структурированную конкурентность и выбирать backend явно. Оно применяется к файлам *.py.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/anyio.mdc
Открыть на GitHub

Что делает anyio

Правило нацелено на асинхронный Python-код, который должен работать с AnyIO поверх asyncio или Trio. Оно рекомендует использовать anyio.run() как точку входа вместо asyncio.run() и не полагаться на выбор backend по умолчанию. Для получения имени текущей асинхронной библиотеки в примере применяется sniffio.

Файл правила нужно разместить в .cursor/rules/anyio.mdc. Область действия ограничена шаблоном **/*.py, поэтому файлы с другим расширением под эти рекомендации не попадают. Это особенно важно, если в проекте точка входа сейчас построена на asyncio.run(): правило предлагает заменить её на anyio.run().

Какие задачи решает

  • перевести запуск асинхронного приложения на anyio.run()
  • выбирать backend AnyIO явно
  • получать имя текущей асинхронной библиотеки через sniffio
  • применять рекомендации к Python-файлам проекта

Примеры запросов агенту

  • Перепиши точку входа этого асинхронного приложения на anyio.run() и явно выбери backend.
  • Проверь этот Python-код на соблюдение рекомендаций AnyIO по структурированной конкурентности.
  • Добавь получение текущей асинхронной библиотеки через sniffio в точку входа.

Как установить anyio

Вручную: положить файлы

.cursor/rules/anyio.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Вопросы о anyio

Как установить anyio в Cursor?

Помести файл правила по пути .cursor/rules/anyio.mdc.

Что делает правило anyio?

Оно задаёт рекомендации для асинхронного Python-кода на AnyIO, включая применение anyio.run() и явный выбор backend.

К каким файлам применяется anyio?

К файлам, подходящим под шаблон **/*.py.

Исходный текст

anyio.mdc · CC0-1.0
---
description: Definitive guidelines for writing robust, maintainable, and backend-agnostic asynchronous Python code using AnyIO. Prioritize structured concurrency and native AnyIO primitives.
globs: **/*.py
---
# AnyIO Best Practices

AnyIO is the definitive choice for modern asynchronous Python development. It provides a unified, Trio-inspired API on top of `asyncio` or `Trio`, fixing critical design shortcomings of `asyncio` and enforcing structured concurrency. Adhere to these rules to build reliable, high-performance async applications.

## 1. Entry Point and Backend Selection

Always use `anyio.run()` as your application's entry point. Explicitly select your preferred backend and leverage backend-specific optimizations.

❌ **BAD**: Relying on default backend or `asyncio.run()`.
```python
import asyncio
from anyio import run, sleep

async def main():
    print("Running on default backend (asyncio) without uvloop.")
    await sleep(0.1)

asyncio.run(main) # Bypasses AnyIO's entry point
run(main) # Implicit backend, no optimizations
```

✅ **GOOD**: Explicit backend selection and performance enhancements.
```python
from anyio import run, sleep
import sniffio

async def main():
    backend = sniffio.current_async_library()
    print(f"Hello from {backend}!")
    await sleep(0.1)

# For production, prefer

© sanjeed5 · CC0-1.0 · sanjeed5/awesome-cursor-rules-mdc

Похожие правила IDE

Все правила IDE по теме «Языки программирования» →
async-python-patterns Seth Hobson Скилл помогает писать асинхронный Python-код с asyncio, async/await и конкурентными задачами. Пригодится для API и приложений с большим числом I/O-операций. CX Codex 18 055установок python-pro VoltAgent Community Субагент пишет типобезопасный Python-код для веб API, системных утилит и сложных приложений. Пригодится для async-задач и проектов с высокими требованиями к типам. 11 689установок ccxt-python ccxt Скилл помогает писать Python-код для работы с криптобиржами через библиотеку CCXT. Поддерживает REST и WebSocket API в синхронном и асинхронном режимах. CX Codex +1 2 100установок python-patterns davila7 Скилл задаёт правила проектирования на Python: помогает выбрать фреймворк, настроить асинхронный стек, схемы Pydantic и разметку типов. 1 135установок asyncio-concurrency-patterns manutej Скилл по конкурентности в Python: event loop, корутины, задачи, семафоры и блокировки. Пригодится, когда пишешь асинхронный сервис или клиент. CX Codex +1 489установок fastapi-development manutej Набор инструкций для проектирования API на Python с асинхронными эндпоинтами, валидацией через Pydantic и маршрутизацией запросов. CX Codex +1 451установок

Из того же набора240

Весь набор →
astro Набор инструкций для Cursor по архитектуре Astro: островная гидратация, нулевой JavaScript по умолчанию, строгий TypeScript и структура файлов. ★ 3 580звёзд репо asp-net Правило задаёт рекомендации для ASP.NET Core: как организовать код, проектировать API и работать с асинхронными операциями. Пригодится при разработке и проверке бэкенда. ★ 3 580звёзд репо apollo-graphql Правило для Cursor задаёт порядок работы с Apollo GraphQL: сначала схема на SDL, потом резолверы. Пригодится, если в проекте JS или JSX. ★ 3 580звёзд репо apollo-client Задаёт стандарты Apollo Client 3.x для React: синглтон клиента, хуки вместо императивных вызовов и работу с InMemoryCache. ★ 3 580звёзд репо ant-design Правило задаёт агенту стандарты работы с Ant Design v6.x: тему через токены, сетку, доступность компонентов. Пригодится, если проект на React и Ant Design. ★ 3 580звёзд репо ansible Задаёт стандарты написания Ansible-кода для ИИ: форматирование YAML, деление на роли, идемпотентность задач и управление переменными. ★ 3 580звёзд репо angular Правило задаёт соглашения для Angular-кода: от структуры файлов до состояния компонентов. Cursor сможет применять их при работе с файлами TypeScript и HTML. ★ 3 580звёзд репо android-sdk Правило задаёт Cursor стандарты разработки Android на Java: MVVM, Jetpack, Hilt, Room и навигация. Пригодится, когда агент пишет код для Android-проекта. ★ 3 580звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой