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.1.4
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.1.4.tar.gz | 3.3 MB | Details |
Built distributions (wheels)
Total release size: 19.9 MB
Release files / lassoinf-0.1.4.tar.gz
| Download URL | lassoinf-0.1.4.tar.gz |
|---|---|
| Size | 3.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d64d7089f61d582be4de2134b89d7ba5d2e8b2a4c6942b26a7d753b157c09c35
|
|
BLAKE2b-256 checksum How to use checksums |
ea14ca69d649275c7975663513ba450324125c008f0d981ae871f440f7b92b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314t-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 484.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
09ec452f1e4a0104349b95a04ae064f484a443241260997198f8002189d8c08a
|
|
BLAKE2b-256 checksum How to use checksums |
8d9a5c81fc8fe3fcb6675e6b0d996390b9bb7a7f06b409ff1ce563f9d3cc348f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
03b735379b354f754bc07a0467a2987c649322b16be83bd7002962a043dc71c0
|
|
BLAKE2b-256 checksum How to use checksums |
8eebabbf32e200659cc711db1b6c09464d0ef28b5cc7a8341ff3f1f0e2698692
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 443.3 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 |
83e6488d77daf34234bd23dede6ba79f617ac44cae93e2217a2c4d07114d4f87
|
|
BLAKE2b-256 checksum How to use checksums |
45446d5734821a98971c7a8425286ae683d304604da22c94024c302022655190
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 374.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
905f6f57278f05390a15d367b441eb1f77a3cdecbe3636119d46f5aadc3547d6
|
|
BLAKE2b-256 checksum How to use checksums |
0e70ec0a0fb006df2a7e16d66521c52896c838595b537767c97a828f848a9c95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 480.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5ff2556d825f5080739b11cf1511770166f49b633db68577e22bad3b29e6544e
|
|
BLAKE2b-256 checksum How to use checksums |
6faea60993b1481157a7176b83fb0379cccfe6b94be0fcb44f52b4f3e28463da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
e85800a436c0ad5af9edf08cb3bc3e83334689d9209251f54dedf534f87701a2
|
|
BLAKE2b-256 checksum How to use checksums |
0500aa640847ad03945d1618f42fc5d67084af49e93579842a5dc9c26a9aa13c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 442.2 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f3ab14c92be29dee2635bd717673b9488814748df6065413961f8bf11e9e6d94
|
|
BLAKE2b-256 checksum How to use checksums |
20fc7c5bdd495b5877d28525e3db2d9f649110bf5eb8713399727ae68a7839c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 361.7 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e36ff0f876b8c3279a7a30e0c077201c895cdebfcfc68e72bca58fe0cadca2f0
|
|
BLAKE2b-256 checksum How to use checksums |
d2bc8ecacea7a34e6148b059b7522a0f62bd230ea5e212ed92f1b25096a4fb67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp313-cp313-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 470.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
02e0e05bb0ef920d5aaddafb0d6cd4dae3dda107be3a65311fa576806154efc7
|
|
BLAKE2b-256 checksum How to use checksums |
cea4a95ea3622fc2e627c74b4b9db094a577f7119ef810fd2eb532fcb8553149
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
2db62ebbbc4351d28414027ec53936c9578d391f5fb57dd5bdd3a61f689f041d
|
|
BLAKE2b-256 checksum How to use checksums |
321a42422c753cb329dc4cc416bdf8a7022d28561f54939fb610f14d6e2d4f0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 442.2 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
358773edcbdaf5dec2cd242a52d8f19c72c841655ea7fbafe22c249f56d9dbd1
|
|
BLAKE2b-256 checksum How to use checksums |
f8fa27130a5d994ea9bcec57732cf41bb02ac21da2a6f975de2c2928c17b297c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 361.0 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f4126807bcc48cfa9fbebe305c363b46d70c7a4fb92e6772ce7e1d4deac814b1
|
|
BLAKE2b-256 checksum How to use checksums |
698658dbb022267c9a46b4917a72ed03b9a4ad9b1b96955cf37cf25cb3562048
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp312-cp312-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 470.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
32ad0b728efbb4dc22aa5b8859f6a2f8d6d69731463ffbb1790a60b29bcf02e4
|
|
BLAKE2b-256 checksum How to use checksums |
8cf755c5ee02a4be0be2caea6da84397988c7c584a5e9afd83ab59b59fc6ed35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
e9078287b1b6e2e2385d2df292a297a528929161f46ef52d43374b750429c5aa
|
|
BLAKE2b-256 checksum How to use checksums |
2832b100ca6a63171c2cdc2f0b730c56cb672fc1f27ada170f3f3d6716454beb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 442.0 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1be950bdaa9a933060275b4e9f7f5e664f6e5464fa78aba9b0512d1d98cfe449
|
|
BLAKE2b-256 checksum How to use checksums |
c88f01be1e53ed4b7b6d9dc894e5cf1e90114dc8fef584f8f2a94a5e7207b05b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 360.9 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3849bc7081341fb5262b420186a69bf5212c20cb7fb412faa887f25297f617f6
|
|
BLAKE2b-256 checksum How to use checksums |
d6adf0d621fb98b38b9bf637a8d50ed4cbbd559441761572dff4e8f13b6c695a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp311-cp311-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 466.7 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
342061954458f8a8de2d40f33a623e13b5b2e078da3db44a5146b154d7f43bc8
|
|
BLAKE2b-256 checksum How to use checksums |
8d23432cc27fccf8a66020cb0cc77d3679d9a452e5a92f68665f25daf1508c0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
eca5dac52d0c47f39b99f961202cf54bd0cdc596ade2e6e3d63d8d6cfe7fcfb6
|
|
BLAKE2b-256 checksum How to use checksums |
4bf7e64828148b3b07275952364a9b4a27993ae601ed48e9becc80f69e932c93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 441.9 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c33c11b48044994a9efabf90f5cbb0cec2d01cc2d31cee66cd01a07f1d74d80
|
|
BLAKE2b-256 checksum How to use checksums |
7cf606a0815ed33e5a549bbc9ae74c789a6b2409c78397e3bf87d7fa454f9c49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 359.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
31e3b0ad276e3fe343a74b7326826beef7fc89654aee91c1693f00151f32d9ef
|
|
BLAKE2b-256 checksum How to use checksums |
9b484a16bc5c8b5d5426c6f0211b302bef0f28238820e38ccf884735d72be8bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp310-cp310-win_amd64.whl
| Download URL | lassoinf-0.1.4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 466.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
db9ab88e0b9e80598cabed44a221043958e573c90181dec913178874f2a824ae
|
|
BLAKE2b-256 checksum How to use checksums |
3c3b8796d4cfd11b671dc4660425442a6aa7700569f8e923927cf7f113c1be70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | lassoinf-0.1.4-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 |
9f109687104681432c0b4fb20375c06af9d08e9360efb3aee6b015a998bc3610
|
|
BLAKE2b-256 checksum How to use checksums |
ba1dbd713bb6b6c7c16c6725c43c95fd2904b21a4b8b160578c1c12bfdc7e4d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | lassoinf-0.1.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 440.7 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
07fba87fcd4269a6ba7744e750976637886f772884ec646be57589bce5c36530
|
|
BLAKE2b-256 checksum How to use checksums |
6c5dd0adec8c646aded1e95d6a142331f68c7dd10c170e4c45e406ca03df13bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|
Release files / lassoinf-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | lassoinf-0.1.4-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 357.7 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a24079213264b8760ff522efdc49f16feea46aa5ed3732af6a7fb97123fb8027
|
|
BLAKE2b-256 checksum How to use checksums |
cce0f8027b15257ca9fd52c7ac0eda8165217ecc646e9f05194bdc02d6e9ebe8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.3
|