Lipid Librarian
Build and Installation Instructions
Make sure you've installed python 3.11 and are using this version to create the virtual environment as well. If you experience slow performance, consider running a local SQL server to serve the ALEX¹²³ database instead of reading it from a file, or disable ALEX¹²³ for your queries.
Python Virtual Environment
make install install_optional
Docker Container
docker build -t lipidlibrarian -f Containerfile .
OCI Container for Docker/Podman/Kubernetes
buildah build -t lipidlibrarian -f Containerfile .
Test Lipid Librarian
Run pytest in the git root directory with a venv activated with LipidLibrarian installed. It is highly recommended to run a local ALEX123 SQL Database for performance reasons (see below)
pytest
Run Lipid Librarian
CLI
In case you installed Lipid Librarian into a 'venv' virtual environment, make sure you activate it before with source venv/bin/activate.
lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"
lipidlibrarian path/to/file
cat path/to/file | lipidlibrarian
Docker
docker run lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"
Podman
podman run lipidlibrarian "PC(18:1_20:0)" "PE 38:1" "816.6477;0.001;+H+" "Cholesterol" "SLM:000487065"
Import Python Package
from lipidlibrarian.LipidQuery import *
query1 = LipidQuery("PC(18:1_20:0)").query()
query2 = LipidQuery("PE 38:1").query()
query3 = LipidQuery("816.6477;0.001;+H+").query()
query4 = LipidQuery("Cholesterol").query()
query5 = LipidQuery("SLM:000487065").query()
for lipid in query1:
print(repr(lipid))
for lipid in query2:
print(format(lipid, 'json'))
for lipid in query3:
print(format(lipid, 'html'))
for lipid in query4:
print(repr(lipid))
for lipid in query5:
print(repr(lipid))
Run a local ALEX¹²³ SQL Database
The performance of querying the ALEX¹²³ database is quite low, as the whole file has to be parsed into memory first. To alleviate this issue, run a local SQL database to serve the information from ALEX¹²³ to lipidlibrarian:
from an SQL dump file:
mkdir -p data/alex123/sql
gdown 1K5-PnK9HEA5L0Y79CaLgFMKOQGddDSgi -O data/alex123/sql/alex123_db.sql
podman run --detach --name alex123-sql --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 --env MARIADB_USER=alex123 --env MARIADB_PASSWORD=alex123 --env MARIADB_DATABASE=alex123 -p 3306:3306 -v ./data/alex123/sql:/docker-entrypoint-initdb.d:O mariadb:latest
or alternatively:
podman run --detach --name alex123-sql --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 --env MARIADB_USER=alex123 --env MARIADB_PASSWORD=alex123 --env MARIADB_DATABASE=alex123 -p 3306:3306 docker.io/library/mariadb:latest
sync_alex123_sql_database --sql mysql+pymysql://alex123:alex123@127.0.0.1:3306/alex123
lipidlibrarian --sql --sql-host 127.0.0.1 --sql-port 3306 --sql-user alex123 --sql-password alex123 --sql-database alex123 "PC(18:1_20:0)"
from this container you can create the SQL dump file:
podman exec alex123-sql mariadb-dump --user alex123 --password=alex123 alex123 > alex123_db.sql
Metadata
Release files for lipidlibrarian 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| lipidlibrarian-0.5.2.tar.gz | 88.3 MB | With provenance | Details for lipidlibrarian-0.5.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lipidlibrarian-0.5.2-py3-none-any.whl | Python 3 | none | any | Details for lipidlibrarian-0.5.2-py3-none-any.whl |
Total release size: 177.7 MB
Release files / lipidlibrarian-0.5.2.tar.gz
| Download URL | lipidlibrarian-0.5.2.tar.gz |
|---|---|
| Size | 88.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ac78763cca85ee17fcc0b50508311f0e028670d2ea26160537608079ebd87b2
|
|
BLAKE2b-256 checksum How to use checksums |
cda7dadcd75d3ce4764add2419c4f5a4b65d9a67192439b17d3aa4a0af8e48b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logRelease files / lipidlibrarian-0.5.2-py3-none-any.whl
| Download URL | lipidlibrarian-0.5.2-py3-none-any.whl |
|---|---|
| Size | 89.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42848b08032c2d600c30a7257873c22d7fb57dfcad891c5ba667bac88c6096a3
|
|
BLAKE2b-256 checksum How to use checksums |
47d46f23d2a19d4d9b5d6164545e1419735195b4b33671b305387481a5d91583
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logSecurity for lipidlibrarian 0.5.2
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for lipidlibrarian-0.5.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logA 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.