Skip to main content

Modern Reimplementation of vera built with C internals

Project description

velma

Velma is the reimplementation of vera python-API built with C internals.

main differences

  • Velma suppports python-based plugins while vera support both lua and python.
  • It provides a python package built with setuptools and C extension rather than relying on <boost/python.hpp>. This avoid relying on the system python environment, and provide support for virtual env.
  • Tokenization is done with C in mind rather than C++.

Installation

Start by cloning this repository.

pip based

[!NOTE] It is recommended to use python virtual env's rather than doing a system-wide install. See Creation of virtual environments for more information

# (in repository's root)
pip install .

Using nix

The repository flake provides velma nix derivation (buildPythonPackage).

nix build github:Sigmanificient/velma

or creating a python env:

let
  # assuming `velma-flake.url = "github:Sigmanificient/velma"` in flake inputs
  velma = velma-flake.outputs.${system}.velma;
  selectPythonPackages = ps: [ velma ... ];
in 
(pkgs.python311.withPackages (ps: selectPythonPackages)

Development

To see available commands in the Makefile, use the following:

make help

Building a standalone shared object

If you need to build a standlone shared object:

make -f standalone_shared_object.mk

IDE support (via compile_commands.json)

make compiledb

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

velma-0.0.1.tar.gz (3.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page