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-05-04 04:02:04 +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 Add contributing guidelines 2020-01-13 20:25:01 +03:00
LICENSE Create LICENSE 2020-01-13 15:07:20 +01:00
README.md Fix flappylearning link (#179) 2023-05-04 04:02:04 +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.
  • HN-top - A simple command to list most recent news from hacker-news.
  • portctl - CLI tool to manage Docker Swarm resources using Portainer API.
  • klonol - CLI tool to help you "clone all" git repositories belonging to you. Works with GitHub and Gitea.
  • 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.
  • verve - Simple and fast static file server.
  • 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 )
  • vcli - A CLI tool to generate folder structure according to the guideline
  • vgoogle - Make google search on the terminal.
  • 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

  • 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

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

Interpreters/Compilers

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

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

Web

  • Gitly - A light and fast SCM alternative to GitHub/GitLab written in V.
  • Heroku Buildpack for V - Deploy V apps on Heroku.
  • 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

  • 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).
  • bartender - Gluten free bars for V term apps.

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.

Files

  • 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 - V wrapper (bindings) for raylib, the C game development framework.
  • vraylib - A V wrapper for the awesome raylib library.

Graphics

  • V Earcut - fast (real-time) polygon triangulation library based on mapbox/Earcut to handle holes, twisted polygons, degeneracies and self-intersections.
  • vgl - Low-level graphics API access.
  • viup - V wrapper for the C-based cross-platform UI library, IUP.
  • vsdl2 - A libSDL2 wrapper.
  • vsdl - V wrapper for the C-based SDL library.
  • 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.
  • V_sokol_gp - A V wrapper for the sokol_gp library for easy and fast 2d graphics.

IRC

  • vitric - A transparent IRC library.

Networking

  • 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.
  • vgtk3 - A wrapper for GTK3 in V.
  • vig - Bindings for Dear ImGui GUI toolkit.
  • vnk - Bindings for Nuklear GUI toolkit.
  • V UI - Integrated cross platform UI toolkit for Windows, macOS, Linux, Android, iOS and the web.

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.
  • 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).
  • v-jsonrpc - Basic JSON-RPC 2.0-compliant server written on V.
  • vweb - V's built-in web framework. Used by Vorum.
  • vxbloauth - A minimalistic Xbox Live authenticator for vweb.
  • v-tiktok - A V library for downloading TikTok videos.

Other

Articles

Books

Communities

Editor plugins

Atom

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

Emacs

  • vlang-mode.el - Emacs major mode for the V programming language.
  • v-mode - 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

  • vim-v - Quality syntax highlighting for the V programming language.
  • v-vim - Support for V syntax highlighting in Vim.
  • 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.

IDEs with V

Online IDEs with V

Operating Systems & OS Development Examples

Programming contests

Syntax highlighting

Tutorials

Videos

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.

Patterns

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