explaingit

ndugram/fastvk

Analysis updated 2026-05-18

14PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

An async Python framework for building VKontakte bots, borrowing code patterns from FastAPI and aiogram with built-in state machines and a live dashboard.

Mindmap

mindmap
  root((FastVK))
    What it does
      VK bot framework
      Async handlers
      State machine
    Tech stack
      Python
      aiohttp
      Pydantic
    Use cases
      Multi step chats
      Live dashboard
    Audience
      FastAPI developers
      aiogram developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a VK bot that guides users through multi-step conversations using the built-in Finite State Machine.

USE CASE 2

Handle VK messages with either Long Polling or Webhook mode depending on your hosting setup.

USE CASE 3

Store bot conversation state in memory, SQLite, or Redis depending on whether it needs to survive restarts.

USE CASE 4

Monitor a running bot's activity and registered handlers through the built-in real-time dashboard.

What is it built with?

PythonaiohttpPydanticSQLiteRedis

How does it compare?

ndugram/fastvk0c33/agentic-aiadennng/stock_strategy_lab
Stars141414
LanguagePythonPythonPython
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires Python 3.10 or newer, installs with a single pip command.

In plain English

FastVK is a Python framework for building bots on VKontakte, the Russian social network. It is designed for developers who have worked with Python web or bot frameworks before, specifically FastAPI or aiogram, because it borrows the same code patterns from both. If you know how to write a FastAPI route handler or an aiogram command handler, the mechanics of FastVK will feel familiar. The framework runs asynchronously, meaning it can handle many incoming messages at the same time without waiting for each one to finish before starting the next. Under the hood it uses aiohttp for all network calls and Pydantic for modeling the data that VK sends in each event. It supports both Long Polling (the bot regularly asks VK for new messages) and Webhook mode (VK pushes messages to a URL the bot exposes). A built-in Finite State Machine lets bots guide a user through multi-step conversations. For example, a bot can ask a user for their name, wait for the reply, store it, then ask for their age, and so on, tracking which step the conversation is on. This state can be stored in memory (lost on restart), in a SQLite database, or in Redis for setups that need the state to survive a server reboot. Other included features: a keyboard builder for creating button menus that VK displays below the chat input, filters for routing messages to the right handler by command text, user ID, or current state, middleware hooks that run before or after every incoming event, and a router system for splitting a large bot into smaller modules. There is also a real-time dashboard that shows live statistics, a feed of recent activity, and a searchable list of registered handlers, accessible while the bot is running. Logging output is colored and structured to make it easy to read in a terminal. Installation is a single pip command. Python 3.10 or newer is required.

Copy-paste prompts

Prompt 1
Show me how to set up a Finite State Machine flow in FastVK to collect a user's name and age.
Prompt 2
Help me configure FastVK to use Webhook mode instead of Long Polling.
Prompt 3
Explain how to store FastVK conversation state in Redis so it survives a restart.
Prompt 4
Walk me through building a keyboard menu with FastVK.

Frequently asked questions

What is fastvk?

An async Python framework for building VKontakte bots, borrowing code patterns from FastAPI and aiogram with built-in state machines and a live dashboard.

What language is fastvk written in?

Mainly Python. The stack also includes Python, aiohttp, Pydantic.

How hard is fastvk to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is fastvk for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.