https://github.com/sigmanificient/velma
reimplementation of vera python-API built with C internals
https://github.com/sigmanificient/velma
c python vera
Last synced: 5 months ago
JSON representation
reimplementation of vera python-API built with C internals
- Host: GitHub
- URL: https://github.com/sigmanificient/velma
- Owner: Sigmanificient
- License: mit
- Created: 2024-07-05T18:15:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-05T13:49:48.000Z (about 1 year ago)
- Last Synced: 2025-02-17T05:26:55.481Z (8 months ago)
- Topics: c, python, vera
- Language: Python
- Homepage: https://github.com/Sigmanificient/velma
- Size: 40 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# velma
Velma is the reimplementation of [vera](https://github.com/verateam/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 ``. 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](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-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](https://docs.python.org/3/library/venv.html) for more information```bash
# (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:
```nix
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:
```bash
make help
```### Building a standalone shared object
If you need to build a standlone `shared object`:
```bash
make -f standalone_shared_object.mk
```### IDE support (via compile_commands.json)
```bash
make compiledb
```