lassoinf
lassoinf provides selective inference tools leveraging a high-performance C++ backend. It is a hybrid codebase written in Python and C++, utilizing pybind11 for bindings and the Eigen library for fast linear algebra.
Features
- Affine Constraints: Core numerical tools for inference tasks.
- Dual Implementation: Logic provided in pure Python (
lassoinf.affine_constraints) and fast C++ counterparts (lassoinf_cpp). - High Performance: The C++ extensions target C++14 and integrate seamlessly with numpy and scipy.
Requirements
Python
- Python >= 3.10
numpy,scipy,matplotlibmeson-python,ninja,pybind11(for building the extension)
R
- R >= 4.0
Rcpp,RcppEigen
General
- A C++14 compliant compiler
Installation
Python
pip install lassoinf
To build from source, you can install lassoinf and build its C++ extension directly using pip:
pip install .
For an editable install during development (using the meson-python backend):
pip install --no-build-isolation -Csetup-args=-Dbuildtype=debug -e .
Editable install with uv
uv venv
source .venv/bin/activate
uv pip install meson-python meson ninja pybind11 setuptools_scm
uv pip install --no-build-isolation -e .
--no-build-isolation is required: meson-python rebuilds the C++ extension on import after C++ sources change, and that rebuild uses the build tools installed in the venv, so keep them installed. Add ".[test]" instead of . to also install the test dependencies.
If the build fails with stale paths (e.g. pybind11/pybind11.h not found after a previous non-editable install), remove the old build directory and reinstall:
rm -rf build/cp*
R
The R package lassoinf requires Rcpp, RcppEigen, and R6. You can install the package from the terminal or directly from the source directory.
From the terminal:
# Build and install the package
R CMD INSTALL R_pkg
From within an R session:
# Install required dependencies if not already present
install.packages(c("Rcpp", "RcppEigen", "R6", "mvtnorm"))
# Install the package from the source directory
install.packages("R_pkg", repos = NULL, type = "source")
Or using devtools:
devtools::install("R_pkg")
Testing the R Package
To run the R test suite, you can use the testthat package from the command line:
cd R_pkg
Rscript -e 'testthat::test_dir("tests/testthat")'
Documentation
For more information, refer to the documentation in the docs/ folder. For the R package, you can view the vignette:
vignette("gaussian_lasso_boot", package = "lassoinf")
Alternatively, you can browse the pkgdown documentation site in R_pkg/docs/index.html.
License
This project is licensed under the BSD 3-Clause License. See the LICENSE file for details.
Metadata
Release files for lassoinf 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lassoinf-0.2.0.tar.gz | 3.8 MB | Details |
Built distributions (wheels)
Total release size: 20.3 MB
Release files / lassoinf-0.2.0.tar.gz
| Download URL | lassoinf-0.2.0.tar.gz |
|---|---|
| Size | 3.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f6ec1b883894dc3bb55a5d9d1219e7a7582318625ce221c6a409ef51d97e920
|
|
BLAKE2b-256 checksum How to use checksums |
2b225deecdf7a60568c1db66a82954a3656d49a51a8cf027e1814ab04b7fbbc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314t-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 481.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c242bcd883ec7dd805ed68380067128e7ec7bffe3237fbb7d550a007de5410a1
|
|
BLAKE2b-256 checksum How to use checksums |
5bb8cf091a8e32e453e3a50140c4534e9699e956a74c8c0bfd01bca0e3d9d249
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
66eb981d6c450a8652417a0d6ec3d9322b2df7a0df2c99a48182c5d95e717796
|
|
BLAKE2b-256 checksum How to use checksums |
419eaebf7964d5e4a4d016dcdcfd1dae4087de99be53d30eff8f8893f0c94bb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 440.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e6778688a6f64f820ac19e36cdc5e1e5eba52b2de198513fd4d2020b7e2c7256
|
|
BLAKE2b-256 checksum How to use checksums |
2aaf8d685f69fbec317d787d7bb6cd2f1e467499628700d537f40b06782bc9f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 371.2 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f6758faabaf4c3076322e16d48f4610c8f9812c2c3a66faa2ee79bf32bd96d2a
|
|
BLAKE2b-256 checksum How to use checksums |
c5f801012b32bf445ad3a06f7fccbd1cfccd1ba187f7f8bf4816863710a4a3df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 477.5 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bbf491fbd25229a42e30a22e2a4409c808dd2eaac1044710183478cd5e923fb9
|
|
BLAKE2b-256 checksum How to use checksums |
3cca5f0bdf9c40177698e27f4514fd89dd66c68259794dfacd77d63c3a271e0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b0901654b9dc7c2d1aa9d274b4d2357fa330583a6bd77061764f29fcb42a6939
|
|
BLAKE2b-256 checksum How to use checksums |
93b61fd60f06aec993a25f3546d203180c9a2bf9589eaff9df6ec52e41dbee63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 439.3 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9288e02d2b704ca775c45f70f9db38d8fdb2f4063b66fffbc44eee4a207944aa
|
|
BLAKE2b-256 checksum How to use checksums |
8ba160675f520e73134f2d27e469f5b6e50aacb43a0da74dffe99e4158e7d8d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 358.9 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0b56d84c77fbd694029c238c1f1f3101063617ac0ba964042530791432f30db2
|
|
BLAKE2b-256 checksum How to use checksums |
2ec54d3aebe2c785274affa6ab99c4d7c76dd119114a1f069319d7380ad5761e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp313-cp313-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 467.3 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1f4e0652c9dc058dfff5bbf06e5960789a6b7b9821008814ebcd76f4f5920056
|
|
BLAKE2b-256 checksum How to use checksums |
5d67094acf5b299ede9caed3922591ed4bfc0ebe0e089d4e194e118c2319a9b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c4eff513c992e44f452f3cca17ddcc402ccae63c680a49c1298f2fdd337e9feb
|
|
BLAKE2b-256 checksum How to use checksums |
4cb652f8d0ee1d38de9aa3de9cbc3ae3b6497b5b6a19b91a0e8059a6cbb7f865
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 439.3 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1b7af7e19b9c044cb2e8d4ca6ea2a267e510dca1523c6fbca6db863223ac4e3a
|
|
BLAKE2b-256 checksum How to use checksums |
1fc093ae1bbbf7afcc65358154c0fc591dc1f1f53f7dd09afab9cd641719d7ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 358.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ac44ae39f9c2e2c99f2321b16b631c49773ab3435d39e27393de567b3d63f961
|
|
BLAKE2b-256 checksum How to use checksums |
6436bea5b76468f748420fff3ee008ea0aad3e3340d6ceecb5945103d2b4b5e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp312-cp312-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 467.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f2c00b99ac8c231f2ddc612d13852e32e5b44d42d2580895e39a39b3754add51
|
|
BLAKE2b-256 checksum How to use checksums |
e1022a8e3e03d5ef51bd653268a7636bd93b7cac7d09b0b64c436299837460ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ced8b9696862326253414af06a4d474d5750904b067e05f6e5cef537acc37a63
|
|
BLAKE2b-256 checksum How to use checksums |
314a9490ae6078aaeb10a7b98be6b6fa7ff190794ca67f2cf40ec4dd6b84a531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 439.1 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2bb074b80e6982c77db1ded211419d053988cab97492391b4a529c9f7e89ec9c
|
|
BLAKE2b-256 checksum How to use checksums |
a328b0e5087b9977dac14f6f90abeaaaf35543038e4a14a04f5fd86043900b89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 358.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
05d8243741f38d7aec0a08b9989532ed2cf3f2c299e0a16e1beaf13885c01d8b
|
|
BLAKE2b-256 checksum How to use checksums |
2bcf9c568324e9af598dd40d058cc8e47b577edaa57d59045cd6bf47fe0883f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp311-cp311-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 463.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4f7929ab4e9aee6de5e295f846bfe2e673650ecc1b34fef413030cdac1369b30
|
|
BLAKE2b-256 checksum How to use checksums |
f50066059ec25aafcd9b4a0d0093dff080887ff699e3cf64f62c54ff458cac5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
28d8721e15b9cbea2c47e9ccd7a4ad1193968a97b09b8d89a578c0bb53feb633
|
|
BLAKE2b-256 checksum How to use checksums |
38d904812da2535bf5124da49d5c4855ca62a57c362b4d27a6aeaa0f04dde0dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 439.0 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a585c8624aa5e81dddd1fdd79d2a904de90b82cce273b53958620ad9a3d8543b
|
|
BLAKE2b-256 checksum How to use checksums |
72685b74b443cfcfd4001d985c14d7ee79083a7459881c977f01c49d27dccb96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 356.5 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e6ddc0777aad193be6c630227e30bd3f284b1b234eeba240fc3e9736e6b11a8a
|
|
BLAKE2b-256 checksum How to use checksums |
af12fdd9ee402f9ae49611afe882288996c77fc01c20c8efb2d2e53ac188fd4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp310-cp310-win_amd64.whl
| Download URL | lassoinf-0.2.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 463.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fa7d290335798912ae8c8b71c4a21ede78c175f54d7182c194c9ac23fb38eb98
|
|
BLAKE2b-256 checksum How to use checksums |
c8195fee8367a0419354c6b80686805b33dc5b57b09b68da3b0100e2aeb08531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
62df87c1f3b32efdd7301e9ddf7e1061f17c926b6b04a26c2dbef093b5a26da0
|
|
BLAKE2b-256 checksum How to use checksums |
45a82a4803c1bbf368a92ab33b4f4de061bb92648e39414f5f9035ca511b951d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 437.8 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
46536d49a66119b6c205ebca5cddc7e4966876d72d4a4f63a3f90b325279077e
|
|
BLAKE2b-256 checksum How to use checksums |
c793b876ab9bbde54e8378b0af1c1ff52c8bce41418c75c91f73f0aea36b6370
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|
Release files / lassoinf-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.2.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 354.8 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b23f8dca2db657f41141c1c9fab9d8caccc6a31cb1e515761b620e25015243f3
|
|
BLAKE2b-256 checksum How to use checksums |
3af2147113c3fc1f025508f200ebfc965204a9ef7b4cf1428155dfc98b684d29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.12
|