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 details)

Uploaded Source

File details

Details for the file velma-0.0.1.tar.gz.

File metadata

  • Download URL: velma-0.0.1.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for velma-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9affcea371a1762bb513f20fc837873ad664e8bcfe90dd1c39f289b2914d6ae9
MD5 a7f77ceaf6093f8b1b20b3ac61fec647
BLAKE2b-256 2071e602ccdebde7571c0e3d7cec5fb9f4ce3ee14df8c17334c51b6605059849

See more details on using hashes here.

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