1
0
mirror of https://github.com/vlang/awesome-v.git synced 2023-08-10 21:13:23 +03:00
A curated list of awesome V frameworks, libraries, software and resources.
Go to file
2023-06-12 13:44:07 +03:00
.github/workflows Update workflow to Node v16 due Github Action warning 2023-01-11 00:09:46 +04:00
media Update awesome-v-logo 2020-01-31 19:50:39 +03:00
CONTRIBUTING.md Alphabetize again (#185) 2023-05-28 11:28:17 -04:00
LICENSE Create LICENSE 2020-01-13 15:07:20 +01:00
README.md README.md: fix anchor link to libraries/files (#174) 2023-06-12 13:44:07 +03:00

Awesome V Awesome

A curated list of awesome V frameworks, libraries, software and resources.

V is a simple, fast, safe, compiled language for developing maintainable software.

Contents

Applications

Command-line

  • crepl - Compile and execute C code on the fly as you type it.
  • github-releases - Cli tool to keep track of applications released as GitHub Release (or assets in workflow) and download them.
  • HN-top - A simple command to list most recent news from hacker-news.
  • klonol - CLI tool to help you "clone all" git repositories belonging to you. Works with GitHub and Gitea.
  • portctl - CLI tool to manage Docker Swarm resources using Portainer API.
  • runner - A tool that automates running/compiling code written in various programming languages.
  • symlinker - A small Linux tool to manage symlinks.
  • vast - A simple tool for vlang, generate v source file to AST json file.
  • vcli - A CLI tool to generate folder structure according to the guideline
  • verve - Simple and fast static file server.
  • vgoogle - Make google search on the terminal.
  • vindex - A simple file list server generating json strings, compatible with nginx's autoindex module.
  • vinit - A tool to generate v projects.
  • vLogQL - A tiny command-line utility to query LogQL APIs.
  • vqrcode - CLI for creating QR Codes.
  • vspect - A tool to inspect vlang source file. ( Archived )
  • vzcc - A CLI cross-compiling tool based on Zig CC for V.

Editors

  • text_editor - Small text editor from the official V examples.
  • ved - 1 MB text editor written in V with hardware accelerated text rendering. Compiles in <1s.
  • vee - V Editor Engine. A V module providing the guts of a text editor. Comes with a TUI editor example.
  • vPDF - A module to simplify PDF file creation using the V programming language.

Games

  • 2048 - A 2048 game with several types of traditional AI integrated.
  • Boundstone - High Performance / Fast Compilation / Lightweight Minecraft: Bedrock Edition Server.
  • flappylearning-v - A simple flappy learning demo in v.
  • Kurarin - osu! beatmap visualizer made in V. Example video.
  • minesweeper - A simple Minesweeper game written in vlang.
  • v-pong - A classic paddle game brought back to life through the power of V.

Graphics

  • mpv-v - World's Simplest Video Player.
  • vRayTracer - A simple ray tracer written in V.

Interpreters/Compilers

  • monkey_v - Implementation of Thorsten Ball's Monkey Language in V.
  • stas - A stack based compiled programming language. The bootstrap compiler is written in V.
  • v - V itself. Simple, fast, safe, compiled language for developing maintainable software.
  • vas - A simple x86-64 assembler written in V.
  • vbf - A brainfuck interpreter/compiler.
  • vfuck - A brainfuck interpreter written in V.
  • vcc - A C compiler written in V.
  • Vork - Alternative V compiler/interpreter written in Python.

Operating systems/Kernels

  • Vinix - Small and simple OS in V. Runs bash.

Package managers

  • vpm - The V language package management tool written in V.

Project management

  • Lenra template - The Lenra template to write V app for Lenra platform.
  • vset - A project setup and configuration tool for V projects.

Serialization

  • v-toxml - XML Serialization library for V.
  • vgura - Official Gura parser for V.
  • vlang-yaml - A V-native YAML reader, incl. YAML-to-JSON converter.
  • vproto - Protobuf compiler and runtime in V.

Web

  • Gitly - A light and fast SCM alternative to GitHub/GitLab written in V.
  • Heroku Buildpack for V - Deploy V apps on Heroku.
  • v-admin-skeleton - Backend skeleton written in V.
  • vblog - A simple, fast and responsive blogging system.
  • Vebview.JS - Electron/Neutralino.JS alternative written in V.
  • Vieter - Archlinux repository server & package build system, written in V.
  • Vlang Benchmarks Visualization - Fancy statistics and plots for Is V still fast?.
  • vorum - Open-source blogging/forum software written in V.
  • vss - Easy-to-use static site generator.
  • VTik - TikTok and Twitter video downloader app (CLI / Telegram Bot).

Libraries

Audio

  • miniaudio - Bindings for the excellent miniaudio C audio library.
  • vave - A crazy simple library for reading/writing WAV files in V. 🌊
  • vspeech - Complete V bindings for Mozilla's DeepSpeech TensorFlow based Speech-to-Text library. 📢📜

Automation

  • vrobot - Desktop automation for V. Only supports Windows.

Command line interface (CLI) / Terminal / Shell

  • bartender - Gluten free bars for V term apps.
  • boxx - Create highly customizable terminal boxes that also look great! 📦
  • lol - V version of lolcat (text/character rainbowizer).
  • progressbar - An easy to use V library for creating progress bars in cli.
  • spinners - Create spinners in your terminal!
  • termtable - V Terminal Tables: Simple and highly customizable library to display tables in the terminal.
  • vargs - V library for parsing arguments from argv-like arrays. ( Archived )
  • vesseract - V wrapper for Tesseract-OCR (optical character recognition).

Database clients

  • redis - Redis client for V, written in V.
  • vmemcached - Memcached client for V, written in V.
  • vsql - A sql query builder for V.

Discord

  • discord.v - User-friendly Discord bot library.
  • kitten - Simple Discord API library for writing bots.
  • viscord - Pretty basic library for connecting to the Discord gateway.
  • vord - Library for interacting with user account endpoints and gateway (Self-bots, custom clients, etc).

Eventing

  • eventbus - A simple event bus system for V.

File handling

  • v-mime - MIME detection library for V.
  • vmon - Asynchronously watch for file changes in a directory. The module is essentially a V wrapper for septag/dmon. It works for Windows, macOS and Linux.

Game development

  • engine - WIP Vulkan in V.
  • raylib.v - Updated V bindings for raylib with plans for complete cross-platform support.
  • V_ecs - ECS library made in V inspired by Bevy ECS.
  • vraylib - A V wrapper for the awesome raylib library.
  • vraylib - V wrapper (bindings) for raylib, the C game development framework.

Graphics

  • V Earcut - fast (real-time) polygon triangulation library based on mapbox/Earcut to handle holes, twisted polygons, degeneracies and self-intersections.
  • V_sokol_gp - A V wrapper for the sokol_gp library for easy and fast 2d graphics.
  • vgl - Low-level graphics API access.
  • viup - V wrapper for the C-based cross-platform UI library, IUP.
  • vsdl - V wrapper for the C-based SDL library.
  • vsdl2 - A libSDL2 wrapper.
  • vsl.vcl - VCL is a high level way of writting programs with OpenCL using V. These are highly opinionated OpenCL bindings for V. It tries to make GPU computing easy, with some sugar abstraction, V's concurrency and channels.

IRC

  • vitric - A transparent IRC library.

Networking

  • vibe - A libcurl binding with an easy-access layer for fast and reliable requests.
  • vmq - V wrapper For ZMQ (aka ZeroMQ, ØMQ, 0MQ: a high-performance asynchronous messaging library).

Operating system

  • clipboard - V module for interacting with the OS clipboard. Fully cross-platform.
  • mmap - Provide native V-lang support for memory-mapping on Linux and Windows.
  • vlipboard - An easy to use wrapper of clipboard with Wayland and Termux support.

Scientific computing

  • vplot - V wrapper for GNU Plot (gnuplot_i).
  • vsl - VSL is a Scientific Library with a great variety of different modules. Although most modules offer pure-V definitions, VSL also provides modules that wrap known C libraries among other backends that allow high performance computing as an alternative. Also provides opinionated wrappers for OpenBLAS, LAPACKE, MPI, OpenCL among other libraries.
  • vtl - The V Tensor Library is a numerical computing library supporting n-dimensional data structure, backed by VSL.

Serial Communications

  • vi2c - A tiny (wrapper) library for I2C serial communication for Linux written in V.
  • vserialport - V wrapper for libserialport.
  • vserialx - A tiny (wrapper) serial communication library for Linux written in V.

Telecommunications

  • vagi - Asterisk FastAGI library in V.

Telegram

  • vgram - Telegram bot library.

Text processing

  • ascii_robot - ASCII Robot generator written in V.
  • chalk - Colorize strings in the terminal.
  • cjson - Wrap cJSON for vlang.
  • crayon - Paint your terminal output like Picasso. 🖍️🎨
  • iconv - Wrap iconv for vlang.
  • pcre2 - Library for processing PCRE regular expressions.
  • Rosie-RPL - A Rosie Pattern Language (RPL) implementation.
  • strfmt - Tiny and fast string formatting library ideal for templating.
  • text-processing - V text processing library, that contains common tools to manipulate text data.
  • v-regex - A simple regex library for V.
  • vxml - Pure V library for parsing XML to a DOM.
  • whisker - Fast, robust template engine for V inspired by mustache.

User Interface toolkits

  • mui - A Cross-Platform UI library for Windows, Linux, Android and Web.
  • V UI - Integrated cross platform UI toolkit for Windows, macOS, Linux, Android, iOS and the web.
  • vgtk3 - A wrapper for GTK3 in V.
  • vig - Bindings for Dear ImGui GUI toolkit.
  • vnk - Bindings for Nuklear GUI toolkit.
  • VWebui - V Library that makes easy creating WebUI.

Utility

  • range - Functionality of Python's range() in V.
  • ssh-config - A V library for parsing SSH config files.
  • vaker - A light-weight compile-time-generated data faker written in V.
  • vdotenv - Support for .env files which loads environment variables.
  • VInstall - A cross-platform installer creator.

Web

  • pico.v - A web server in V based on picoev and picohttpparser.
  • v-jsonrpc - Basic JSON-RPC 2.0-compliant server written on V.
  • v-tiktok - A V library for downloading TikTok videos.
  • validate - A simple library to validate strings in V.
  • valval - Web framework written in V, improved by vweb.
  • vcurrency - API wrapper (written in V) for https://api.exchangeratesapi.io.
  • vex - Web framework written on V inspired by Express and Sinatra.
  • vigest - Simple client for digest authentication (written in V).
  • vweb - V's built-in web framework. Used by Vorum.
  • vxbloauth - A minimalistic Xbox Live authenticator for vweb.

Other

Articles

Books

Communities

Editor plugins

Atom

  • language-v - V language support for Atom (port of vscode-vlang).

Emacs

  • v-mode - Emacs major mode for the V programming language.
  • vlang-mode.el - Emacs major mode for the V programming language.

Sublime Text 3

  • sublime-v - Fully-featured Sublime Text 3 package for the V Programming Language.
  • vlang-sublime - Sublime text 3 Support for the Vlang Programming Language.

VS Code

  • vscode-vlang - V Language extension for Visual Studio Code.

Vim

  • v-vim - Support for V syntax highlighting in Vim.
  • vim-v - Quality syntax highlighting for the V programming language.
  • vim-vtools - V tools for Vim, including auto formatting.

IntelliJ & CLion & GoLand etc

  • IntelliJ V - Plugin for IntelliJ IDEA and other JetBrains IDEs.

Forums

GitHub actions

  • action-create-v-docs - GitHub action to create documentation for V modules.
  • setup-v - GitHub action to install and use V in your workflow.

GitHub templates

  • v-project-basement - A basement for every V project, that contains universal minimum GitHub CI scripts and issue templates for a V project.

IDEs with V

Online IDEs with V

Operating Systems & OS Development Examples

Patterns

  • MVU.v - MVU pattern (The Elm Architecture) implemented in V programming language.

Programming contests

Syntax highlighting

Tutorials

Videos