Rust + Python library for parsing makedeb-styled .SRCINFO files
Project description
makedeb-srcinfo
makedeb-srcinfo
is a library for Rust and Python to parse makedeb-style .SRCINFO
files.
The library itself is written in Rust, and bindings for Python are made possible via PyO3 and Maturin.
Usage
Installation
You'll first need to install the library before using it. Installation instructions will change depending on if you're using the Rust or Python library:
Rust
cargo add makedeb-srcinfo
Python
pip install makedeb-srcinfo
Using the library
The Rust and Python libraries are designed to look quite similar to each other, both interfaces use the same function/class names, and should only differ in how the languages themselves are designed.
Rust
See the documentation on Docs.rs for full usage instructions.
use makedeb_srcinfo::SrcInfo;
use std::fs;
fn main() {
let file = fs::read_to_string(".SRCINFO").unwrap();
let srcinfo = SrcInfo::new(&file).unwrap();
// Get the package base.
println!("The package base for this package is {}.", srcinfo.get_string("pkgbase").unwrap());
// Get any dependencies.
match srcinfo.get_array("makedepends") {
Some(makedepends) => {
println!("Found {} build dependencies:", makedepends.len());
for dep in makedepends {
println!("- {}", dep);
};
},
None => {
println!("Found no dependencies.");
}
}
}
Python
Note Help is currently needed to get Python documentation automatically published on new releases. Please see https://github.com/makedeb/makedeb-srcinfo/issues/3 if you'd like to help.
#!/usr/bin/env python3
from makedeb_srcinfo import SrcInfo
with open(".SRCINFO") as file:
data = file.read()
srcinfo = SrcInfo(data)
# Get the package base.
pkgbase = srcinfo.get_string("pkgbase")
print(f"The package base for this package is {pkgbase}.")
# Get any dependencies.
makedepends = srcinfo.get_array("makedepends")
if len(makedepends) == 0:
print("Found no build dependencies.")
else:
print(f"Found {len(makedepends)} build dependencies:")
for dep in makedepends:
print(f"- {dep}")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for makedeb_srcinfo-0.8.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aec64fcdae5b0b147eb15f8cc16d40800aef7448b301359d78777e9d1b2e27c5 |
|
MD5 | 9f46be3439f4ea50d19f2a301a134e96 |
|
BLAKE2b-256 | db58f2b48b70e9be4e185f74b00d1fd73d9c3dd2ba2736de064a155849878626 |