Skip to content

Latest commit

 

History

History
425 lines (314 loc) · 25.7 KB

README.md

File metadata and controls

425 lines (314 loc) · 25.7 KB

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.
  • lsv - ls file lister in the spirit of exa, eza, lsd, pls, natls, ls-go and others.
  • 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.
  • vin - A Basic Command Line Interface for V.

Editors

  • polygon-editor - A tool to create and edit 2D polygons with sprite lookup, created in V.
  • 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.
  • Puzzle Vibes - A jigsaw-like puzzle game written in V using shy.
  • 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

  • Aixt - Programming framework for microcontrollers based on a V-based language and written in V.
  • cotowali - A statically typed scripting language that transpiles into POSIX sh.
  • 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.
  • V-Unikernel - A unikernel is a computer program statically linked with the operating system code on which it depends.

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

  • ini-v - Simple and practical module for manipulating ini/cfg file.
  • 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.

Utilities

Web

  • Gitly - A light and fast SCM alternative to GitHub/GitLab written in V.
  • Heroku Buildpack for V - Deploy V apps on Heroku.
  • Tiniest Veb Server - A < 1MB static hosting web server written in V, based on veb. 🍃
  • 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 - Customizable progress indicators for V terminal applications.
  • 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

  • mongodb - MongoDB driver for V.
  • redict - Client for Redict, a LGPL-3.0-only fork of Redis (compatible with Redis <=7.2.4).
  • redis - Redis client for V, written in V.
  • vmemcached - Memcached client for V, written in V.
  • vredis - A simple, user-friendly, and comprehensive Redis client.
  • vsql - A sql query builder for V.
  • vduckdb - A DuckDB client wrapper for V.

Discord

  • discord.v - User-friendly Discord bot library.
  • discordwebhook - Super simple interface to send discord messages through webhooks.
  • 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.
  • shy - A foundation that helps you being creative in V.
  • 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.
  • 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 writing 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 - Request library that wraps libcurl to enable fast and reliable requests while providing a higher-level API.
  • 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.
  • winreg - MS Windows Registry API. (WIP)

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.
  • NeuralNetworks-V-Module - This is a V module to create neural networks.

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.
  • read_xlsx_v - Read xlsx using vlang.
  • Rosie-RPL - A Rosie Pattern Language (RPL) implementation.
  • slugify - Transform Unicode strings to url-friendly human-readable ASCII slugs.
  • 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.
  • lexical_uuid - Lexicographically-sortable universally unique identifiers.

User Interface toolkits

  • iUI - Isaiah's cross-platform GUI library for V. Inspired by the syntax of Java's Swing.
  • 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.
  • V-WebUI - A wrapper for WebUI. A lightweight library that allows you to use any web browser as a GUI, with V in the backend and HTML5 in the frontend.
  • webview - Bindings for webview. A tiny library to build modern cross-platform GUI applications. It allows to combine V with modern web technologies to design a graphical user interface.

Utility

  • dialog - A cross-platform utility library to open system dialogs - open files, message boxes, color-pickers etc.
  • dotenv - Loads environment variables from a .env file for development purposes.
  • json2v - Convert a json to a struct in Vlang.
  • objc - V bindings to Objective-C runtime.
  • 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.
  • vhs - Haskell prelude list functions(zip, zipwith, head, etc) implemented in V.
  • VInstall - A cross-platform installer creator.
  • votp - TOTP and HOTP implementation in v.

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.
  • vest - A REST client in V.
  • vex - Web framework written on V inspired by Express and Sinatra.
  • vigest - Simple client for digest authentication (written in V).
  • vistas - Central file server API.
  • vweb - V's built-in web framework. Used by Vorum.
  • vxbloauth - A minimalistic Xbox Live authenticator for vweb.
  • west - A wrapper of vweb to work in a similar way as nestjs works with modules and dependency injection.

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.
  • v-analyzer - Bring IDE features for the V programming language to VS 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.

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