Keyboard shortcuts

Press or to navigate between chapters

Press ⌘K or Ctrl+K to search

Press ? to show this help

Press Esc to hide this help

Appendix A: Blocking Function Database (Complete)

This appendix lists every built-in entry in Strato’s blocking function database: 61 entries across six categories. Users can extend this via [tool.strato.blocking] configuration (User Configuration) or @blocking decorator (Annotations API).

Sleep

Qualified NameHelp TextNotes
time.sleepUse asyncio.sleep()Blocks the event loop for the specified duration

Network I/O

Qualified NameHelp TextNotes
requests.getUse aiohttp or httpxSynchronous HTTP GET request
requests.postUse aiohttp or httpxSynchronous HTTP POST request
requests.putUse aiohttp or httpxSynchronous HTTP PUT request
requests.deleteUse aiohttp or httpxSynchronous HTTP DELETE request
requests.patchUse aiohttp or httpxSynchronous HTTP PATCH request
requests.headUse aiohttp or httpxSynchronous HTTP HEAD request
requests.optionsUse aiohttp or httpxSynchronous HTTP OPTIONS request
requests.requestUse aiohttp or httpxGeneric synchronous HTTP request
requests.Session.getUse aiohttp.ClientSessionSession-based HTTP GET
requests.Session.postUse aiohttp.ClientSessionSession-based HTTP POST
requests.Session.putUse aiohttp.ClientSessionSession-based HTTP PUT
requests.Session.deleteUse aiohttp.ClientSessionSession-based HTTP DELETE
requests.Session.patchUse aiohttp.ClientSessionSession-based HTTP PATCH
requests.Session.headUse aiohttp.ClientSessionSession-based HTTP HEAD
requests.Session.optionsUse aiohttp.ClientSessionSession-based HTTP OPTIONS
requests.Session.requestUse aiohttp.ClientSessionGeneric session-based HTTP request
requests.Session.sendUse aiohttp.ClientSessionSend prepared request via session
urllib.request.urlopenUse aiohttpOpens URL and reads response synchronously
http.client.HTTPConnection.requestUse aiohttpLow-level HTTP connection request
http.client.HTTPSConnection.requestUse aiohttpLow-level HTTPS connection request
socket.socket.connectUse asyncio streamsEstablishes socket connection
socket.socket.recvUse asyncio streamsReceives data from socket
socket.socket.sendUse asyncio streamsSends data through socket
socket.socket.acceptUse asyncio.start_server()Accepts incoming socket connection
socket.socket.sendallUse asyncio streamsSends all data through socket
socket.socket.recvfromUse asyncio datagramReceives data from datagram socket
socket.create_connectionUse asyncio.open_connection()Creates and connects socket

File I/O

Qualified NameHelp TextNotes
builtins.openUse aiofiles.open()Opens file for reading or writing
io.openUse aiofiles.open()Alternative file opening interface
os.readUse aiofiles or run_in_executorLow-level file descriptor read
os.writeUse aiofiles or run_in_executorLow-level file descriptor write
os.fdopenUse aiofilesOpens file descriptor as file object
pathlib.Path.read_textUse aiofilesReads entire file as text
pathlib.Path.read_bytesUse aiofilesReads entire file as bytes
pathlib.Path.write_textUse aiofilesWrites text to file
pathlib.Path.write_bytesUse aiofilesWrites bytes to file
os.listdirUse run_in_executorLists directory contents
os.scandirUse run_in_executorScans directory with detailed info
os.statUse run_in_executorGets file status information
os.path.existsUse run_in_executorChecks if path exists
os.path.isfileUse run_in_executorChecks if path is a file
os.path.isdirUse run_in_executorChecks if path is a directory
glob.globUse run_in_executorFinds files matching pattern
glob.iglobUse run_in_executorIterator for files matching pattern
shutil.copyUse run_in_executorCopies file
shutil.moveUse run_in_executorMoves file or directory
shutil.rmtreeUse run_in_executorRecursively removes directory tree

Subprocess

Qualified NameHelp TextNotes
subprocess.runUse asyncio.create_subprocess_exec()Runs command and waits for completion
subprocess.callUse asyncio.create_subprocess_exec()Runs command and returns exit code
subprocess.check_callUse asyncio.create_subprocess_exec()Runs command, raises on non-zero exit
subprocess.check_outputUse asyncio.create_subprocess_exec()Runs command and captures output
subprocess.Popen.waitUse asyncio.create_subprocess_exec()Waits for subprocess to complete
subprocess.Popen.communicateUse asyncio.create_subprocess_exec()Sends input and reads output from subprocess
os.systemUse asyncio.create_subprocess_shell()Executes shell command
os.popenUse asyncio.create_subprocess_shell()Opens pipe to/from shell command

Database

Qualified NameHelp TextNotes
psycopg2.connectUse asyncpgEstablishes PostgreSQL connection
sqlite3.connectUse aiosqliteEstablishes SQLite connection
pymysql.connectUse aiomysqlEstablishes MySQL connection

User Input

Qualified NameHelp TextNotes
builtins.inputUse async input library or run_in_executorWaits for user input from stdin