Skip to main content

Crates.io pypi Documentation Build Codecov

rust_sbml

Parser for the Systems Biology Markup Language (SBML):

Getting started

Rust

Add it to your Cargo.toml with no default features to avoid all PyO3 nuisances.

[dependencies.rust_sbml]
version = "0.7.0"
default_features=false

For example,

use rust_sbml::Model;

let example=r#"<?xml version="1.0" encoding="UTF-8"?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" level="3" version="2">
     <model timeUnits="second" extentUnits="mole" substanceUnits="mole">
     </model>
</sbml>"#;
let result = Model::parse(example);
println!("{:?}", result.unwrap());

See write_to_file.rs for an example on serializing to a file.

Python

It has only been tested on Linux.

Using pip

pip install rust_sbml

From source

Clone the repository.

git clone https://github.com/carrascomj/rust_sbml.git

You need maturin for building it.

python -m pip install maturin
  • Build locally
    maturin build --release
    pip install .
    
  • Build on virtualenv (no pip install required)
    # --release can be omitted to speed up compilation time
    maturin develop --release
    

Having it installed, you can use it as a normal Python package.

from rust_sbml import Model

sbml = Model("examples/EcoliCore.xml")
reaction = sbml.getListOfReactions()[0]
print(reaction.getListOfReactants())

Milestones

  • getListOfSpecies() (id, name)
  • getListOfCompartments() (id, name)
  • getListOfReactions() (id, name)
    • .getListOfReactants() (id, name)
    • .getListOfProducts() (id, name)
  • Capable of retrieving FBC bounds.
  • Published to pypi
  • Kinetic Laws, with naive mathml tailored for SBML.
  • Metadata, with naive rdf tailored for SBML.
  • Test suite with python calls.
  • Test suite with libsbml comparison trough cobrapy.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

README.md is automatically generated on CI using cargo-readme. Please, modify README.tpl or lib.rs instead (check the github worflow for more details).

Metadata

Release files for rust_sbml 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rust_sbml 0.7.0
File Size Uploaded Provenance Actions
rust_sbml-0.7.0.tar.gz 81.7 kB Without provenance Details for rust_sbml-0.7.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for rust_sbml 0.7.0
File Actions
rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.12+ x86-64 Details for rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl
rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.7+ x86-64 Details for rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl
rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details for rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.7+ x86-64 Details for rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl
rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details for rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.7+ x86-64 Details for rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl
rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details for rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl

Total release size: 3.1 MB

Release files / rust_sbml-0.7.0.tar.gz

Download URL rust_sbml-0.7.0.tar.gz
Size 81.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0088b4097c74d15a6f144c974a124a25ce77a9a36a82f1cc108a7142f0cf7df3
BLAKE2b-256 checksum
How to use checksums
5779e2d5eb1f16c265e4744db5925adabcc8a8fbef20d746a1b5bcc27c32d589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl

Download URL rust_sbml-0.7.0-cp39-cp39-manylinux2010_x86_64.whl
Size 450.7 kB
Tags CPython 3.9 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
d4f6e816fd80ef26b2e7881e8b8870eac9698fd627de51ed5deb1dcba3802e87
BLAKE2b-256 checksum
How to use checksums
21e475c73f4a6ac8e76951c5e5b2e9fff92c42d9c00730011a22ea7bdbe7532c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl

Download URL rust_sbml-0.7.0-cp39-cp39-macosx_10_7_x86_64.whl
Size 418.2 kB
Tags CPython 3.9 macOS 10.7+ x86-64
SHA-256 checksum
How to use checksums
9df78e16c092d0c0d07951bfcd2f57e64a3b52b9abaaf5a1980fb0f654b8ee18
BLAKE2b-256 checksum
How to use checksums
46ebb387d240073f83d07b0451a1d19098cd5e496e3ee70c52292a4b84abde20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl

Download URL rust_sbml-0.7.0-cp38-cp38-manylinux2010_x86_64.whl
Size 449.9 kB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
850987a7dd3b5aa82184c4aaffe2f63647f938bbad4b9fdbd4f73a17885c899b
BLAKE2b-256 checksum
How to use checksums
0aaaf1e6233f8e6d112a379624dd06e3cb11ec1d03dcd1938996a1dda7702dbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl

Download URL rust_sbml-0.7.0-cp38-cp38-macosx_10_7_x86_64.whl
Size 417.6 kB
Tags CPython 3.8 macOS 10.7+ x86-64
SHA-256 checksum
How to use checksums
e459a94ff8faed36e44d8ec94558a27f470599fc112aa794a933005c5e7d19e1
BLAKE2b-256 checksum
How to use checksums
20239771da23f357fbd20751b65ed2d780495c63c9ea5e0f317e00d890abecc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl

Download URL rust_sbml-0.7.0-cp37-cp37m-manylinux2010_x86_64.whl
Size 450.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
6d2006b8cf4d4ed6b63bb21111dd0bcf15a291565753c1bfc76d9912dd3cfede
BLAKE2b-256 checksum
How to use checksums
726dcd50c9e9348cf28ccf21cd8d430920708ed566f6adf3eb7b355306416c3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl

Download URL rust_sbml-0.7.0-cp37-cp37m-macosx_10_7_x86_64.whl
Size 417.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.7+ x86-64
SHA-256 checksum
How to use checksums
fbc88784e11e871b1d1eb61b72d5edd8047548910194834c13bf8a0551b49d28
BLAKE2b-256 checksum
How to use checksums
00be16fbda6aa52fa23c46b085e5f3b6419ebc9d2eee953000ba9ecd6f49496f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Release files / rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl

Download URL rust_sbml-0.7.0-cp36-cp36m-manylinux2010_x86_64.whl
Size 447.7 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
a4d51dd9394b1ec03654d1b761fdb86125446e64add80242a63aa6ebd411672c
BLAKE2b-256 checksum
How to use checksums
c4915970a77a536ab5ac7f57cc1483fa0257e2ef44a592596da45740aba441ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.9.4

Security for rust_sbml 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page