Skip to main content

snipar

snipar logo

Python Versions License: MIT CI Documentation Guide Tutorial Exercise Publication follow on Twitter PyPI Downloads

snipar (single nucleotide imputation of parents) provides a command line toolbox for family-based analyses in genetics:

  • family-GWAS: Perform family-GWAS (FGWAS) with a variety of estimators. snipar can perform family-GWAS using genetic differences between siblings, parent-offspring trios, and increase power through using imputed parental genotypes, which enables inclusion and optimal use of samples with only one parent genotyped and without genotyped parents or siblings. See Simulation Exercise: family-GWAS without imputed parental genotypes and Simulation Exercise: family-GWAS with imputed parental genotypes. The regressions are performed in an efficient linear mixed model that accounts for correlations between siblings and more distant relatives.
  • family-PGS analyses: Compute and analyze polygenic scores (PGS) for a set of individuals along with their siblings and parents, using both observed and imputed parental genotypes. snipar can estimate the direct effect (within-family) of a polygenic score: see Simulation Exercise: Polygenic score analyses. It can adjust for the impact of assortative mating on estimates of indirect genetic effects (effects of alleles in parents on offspring mediated through the environment) from family-based PGS analysis: see Simulation Exercise: Polygenic score analyses.
  • Imputation of missing parental genotypes: For samples with at least one genotyped sibling and/or parent, but without both parents' genotypes available, snipar can impute missing parental genotypes according to Mendelian laws (Mendelian Imputation) and use these to increase power for family-GWAS and PGS analyses. See Tutorial: imputing-missing-parental-genotypes
  • Identity-by-descent (IBD) segments shared by siblings: snipar implements a hidden markov model (HMM) to accurately infer identity-by-descent segments shared between siblings. The output of this is needed for imputation of missing parental genotypes from siblings. See Tutorial: inferring IBD between siblings
  • Multi-generational forward simulation with indirect genetic effects and assortative mating: snipar includes a simulation module that performs forward simulation of multiple generations undergoing random and/or assortative mating. The phenotype on which assortment occurs can include indirect genetic effects from parents. Users can input phased haplotypes for the starting generation or artificial haplotypes can be simulated. Output includes a multigenerational pedigree with phenotype values, direct and indirect genetic component values, and plink formatted genotypes for the final two generations along with imputed parental genotypes. See Simulation Exercise
  • Estimate correlations between effects: Family-GWAS summary statistics include genome-wide estimates of direct genetic effects (DGEs) — the within-family estimate of the effect of the allele — population effects — as estimated by standard GWAS — and non-transmitted coefficients (NTCs), the coefficients on parents' genotypes. The correlate.py scipt enables efficient estimation of genome-wide correlations between these different classes of effects accounting for sampling errors. See Tutorial: correlations between effects

snipar flowchart

The above illustrates an end-to-end workflow for performing family-GWAS in snipar, an example of which is given in the Tutorial. Not all steps are necessary for all analyses. For example, family-GWAS (and PGS analyses) can be performed without imputed parental genotypes, requiring only input genotypes in .bed or .bgen format along with pedigree information. Also: imputation for parent-offspring pairs can proceed without IBD inference.

Publications

Please cite at least one of these publications if you use snipar in your work!

The methodologies implemented in snipar are described in the following publications:

Young2022
Mendelian imputation of parental genotypes improves estimates of direct genetic effects.
Alexander Strudwick Young, SM Nehzati, ..., Augustine Kong.
Describes the method for imputation of missing parental genotypes and family-based GWAS with imputed parental genotypes.
🔗 Full Text

Young2023
Estimation of indirect genetic effects and heritability under assortative mating.
Alexander Strudwick Young.
Describes family-PGS analysis with adjustment for the impact of assortative mating on estimates of indirect genetic effects.
🔗 Full Text

Tan2024
Family-GWAS reveals effects of environment and mating on genetic associations. .
Tammy Tan, H Jayashankar, J Guan, SM Nehzati, M Mir, M Bennett, E Agerbo, ..., Alexander Strudwick Young.
Shows snipar applied to generate family-GWAS summary statistics from 17 different cohorts that are meta-analyzed. Describes the methodology for estimating genome-wide correlations between the different classes of effects estimated by family-GWAS.
🔗 Full Text

Guan2025
Family-based genome-wide association study designs for increased power and robustness.
Describes additional family-GWAS designs: the unified estimator, which increases power for estimating direct genetic effects in homogeneous samples (typical for GWAS) by including all samples through linear imputation; and the robust estimator, which maximizes power in strongly structured or admixed samples without introducing bias. The linear mixed model used in snipar family-GWAS and PGS analyses is described here.
Junming Guan, T Tan, SM Nehzati, M Bennett, P Turley, DJ Benjamin, Alexander Strudwick Young.
🔗 Full Text

Documentation

Documentation: https://snipar.rtfd.io/

It is recommended to read the guide: https://snipar.rtfd.io/en/latest/guide.html

And to work through the tutorial (https://snipar.readthedocs.io/en/latest/tutorial.html) and simulation exercise (https://snipar.readthedocs.io/en/latest/simulation.html).

Installing Using pip

snipar currently supports Python 3.7-3.9 on Linux, Windows, and Mac OSX (14.7 and higher). We recommend using a python distribution such as Anaconda 3 (https://store.continuum.io/cshop/anaconda/).

The easiest way to install is using pip:

pip install snipar

Sometimes this may not work because the pip in the system is outdated. You can upgrade your pip using:

  pip install --upgrade pip

Note: installing snipar requires the package bed_reader, which in turn requires Rust. If an error occurs at "Collecting bed-reader ...", please try downloading Rust following the instruction here: https://rust-lang.github.io/rustup/installation/other.html.

Virtual Environment

You may encounter problems with the installation due to Python version incompatability or package conflicts with your existing Python environment. To overcome this, you can try installing in a virtual environment. In a bash shell, this could be done either via the venv Python package or via conda.

To create the venv, use the following commands in your directory of choice: python -m venv path-to-where-you-want-the-virtual-environment-to-be

You can activate and use the environment using

  source path-to-where-you-want-the-virtual-environment-to-be/bin/activate

Alternatively, we recommend using conda:

conda create -n myenv python=3.9
conda activate myenv

Installing From Source

To install from source, clone the git repository, and in the directory containing the snipar source code, at the shell type:

pip install .

Note: installing snipar requires the package bed_reader, which in turn requires Rust. If an error occurs at "Collecting bed-reader ...", please try downloading Rust following the instruction here: https://rust-lang.github.io/rustup/installation/other.html.

Python version incompatibility

snipar does not currently support Python 3.10 or higher due to version incompatibilities of dependencies. To overcome this, see Virtual Environment above.

Apple ARM processor machines

There can be difficulties install snipar on Apple ARM processor machines due to lack of available versions of scientific computing software made for these processors' architectures. A workaround for this is to use Snipar in a docker container.

The following steps will guide you on how to create a suitable container for your M1/M2 MacBook and seamlessly integrate it into a VSCode environment. These steps assume you have little knowledge about Docker, so we will start from scratch.

1. Installing Docker Engine

Ensure that Docker Engine is installed on your machine. If it's already installed, you can skip this step. Otherwise, you can install it by following the instructions provided at the following link:

Install Docker Engine on a MacBook

2. Creating the Docker Container

To install the Snipar package, you need to create a Docker container that emulates a virtual Ubuntu machine where Snipar can be installed.

To create the appropriate Docker container, follow these steps:

  • Start the Docker engine. Just open the Docker application from your Applications folder.

  • While the engine is running, open your terminal and execute the following command to create a container named "snipar_container" (you can choose a different name if you prefer):

    docker run --name snipar_container -it amd64/python:3.9.9-slim-buster /bin/bash
    

After running this command, you should see the "snipar_container" listed in the Docker GUI under the "Containers" tab.

  • You can close the terminal at this point.

3. Running the Container

To use the environment of the created container within VSCode or other IDEs, ensure that the container is running. You can do this easily through the Docker GUI:

  • Open the Docker GUI.
  • In the "Containers" section of the dashboard, locate "snipar_container" (or the name you chose for your container).
  • Click the play button to start the container.

Once the container is running, you can access its terminal and files through the Docker GUI. Keep in mind that the files within the container are isolated from your macOS files. You won't be able to access them using Finder, but you can manage them through the Docker GUI, including uploading and downloading.

4. Attaching the Container to VSCode

If you prefer a smoother development experience with VSCode, follow these steps to attach the container to VSCode:

  • Install the "Dev Containers" extension by visiting the following link in the VS Marketplace:

    Dev Containers Extension

  • Once installed, a new icon will appear on the left sidebar of VSCode labeled " Remote Explorer."

  • Click on "Remote Explorer" and, under the "Dev Containers" section, locate " snipar_container."

  • Next to the container name, you'll find a button that says "Attach in a new window." Click on this button, and VSCode will open a new window attached to the container.

In the newly attached VSCode window, the terminal will be connected to the container, similar to the "Exec" tab in the Docker GUI. You can also open folders from the container environment (not your Mac itself) using the "Open Folder" button in VSCode. This makes it more convenient to manage files while writing code, and you can run your modules using the terminal directly within VSCode.

5. Installing snipar Package in the Container

Up to this point, you've set up the environment for snipar but haven't installed it in the container. To install snipar, follow these steps:

  • Open the terminal in the VSCode window attached to "snipar_container" (or use the "Exec" tab in the Docker GUI).
  • After cloning the git repository and cding into the directory, run the following command:
    pip install .
    

Running tests

To check that the code is working properly and that the C modules have been compiled, you can run the tests using this command:

python -m unittest snipar.tests

Metadata

Release files for snipar 0.0.23

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

Built distributions (wheels)

Table of built distributions (wheels) for snipar 0.0.23
File Actions
snipar-0.0.23-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for snipar-0.0.23-cp39-cp39-win_amd64.whl
snipar-0.0.23-cp39-cp39-win32.whl CPython 3.9 CPython 3.9 Windows x86-32 Details for snipar-0.0.23-cp39-cp39-win32.whl
snipar-0.0.23-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for snipar-0.0.23-cp39-cp39-musllinux_1_2_x86_64.whl
snipar-0.0.23-cp39-cp39-musllinux_1_2_i686.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-32 Details for snipar-0.0.23-cp39-cp39-musllinux_1_2_i686.whl
snipar-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for snipar-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
snipar-0.0.23-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-32 Details for snipar-0.0.23-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
snipar-0.0.23-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for snipar-0.0.23-cp38-cp38-win_amd64.whl
snipar-0.0.23-cp38-cp38-win32.whl CPython 3.8 CPython 3.8 Windows x86-32 Details for snipar-0.0.23-cp38-cp38-win32.whl
snipar-0.0.23-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details for snipar-0.0.23-cp38-cp38-musllinux_1_2_x86_64.whl
snipar-0.0.23-cp38-cp38-musllinux_1_2_i686.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-32 Details for snipar-0.0.23-cp38-cp38-musllinux_1_2_i686.whl
snipar-0.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details for snipar-0.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
snipar-0.0.23-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-32 Details for snipar-0.0.23-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
snipar-0.0.23-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details for snipar-0.0.23-cp37-cp37m-win_amd64.whl
snipar-0.0.23-cp37-cp37m-win32.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-32 Details for snipar-0.0.23-cp37-cp37m-win32.whl
snipar-0.0.23-cp37-cp37m-musllinux_1_2_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-64 Details for snipar-0.0.23-cp37-cp37m-musllinux_1_2_x86_64.whl
snipar-0.0.23-cp37-cp37m-musllinux_1_2_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-32 Details for snipar-0.0.23-cp37-cp37m-musllinux_1_2_i686.whl
snipar-0.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details for snipar-0.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
snipar-0.0.23-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32 Details for snipar-0.0.23-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl

Total release size: 994.6 MB

Release files / snipar-0.0.23-cp39-cp39-win_amd64.whl

Download URL snipar-0.0.23-cp39-cp39-win_amd64.whl
Size 53.7 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
0fcf7f1c6cc15609d9bc1b5b705e4da8d3f214abf3138298a8d901195d82be26
BLAKE2b-256 checksum
How to use checksums
b95c9072a09c2351e52f38d268f5406ed3a25081fa12553d3c4cb9300fb5d294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp39-cp39-win32.whl

Download URL snipar-0.0.23-cp39-cp39-win32.whl
Size 53.7 MB
Tags CPython 3.9 Windows x86-32
SHA-256 checksum
How to use checksums
011281d3b2fdaf513a9892417d2c25a6d3e1d5caddb1c361a6f5435ad0c0da87
BLAKE2b-256 checksum
How to use checksums
8c83a5c0ca602b01057c2380d1d3f14c5292d8d8cf1542f9af339b13022a1711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL snipar-0.0.23-cp39-cp39-musllinux_1_2_x86_64.whl
Size 56.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6c7cf6e90e92eb5187d57ad12dfd6222a903387fe1d42d0bd59c43750a1cb65e
BLAKE2b-256 checksum
How to use checksums
fd4d888768cedbf510a8813e97511435bf5b805e77a4e70ceea5696385034918
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp39-cp39-musllinux_1_2_i686.whl

Download URL snipar-0.0.23-cp39-cp39-musllinux_1_2_i686.whl
Size 56.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
8576b53107496290f1c0f74985d80a23acfd24670f8ef763f81ef69d42a5fcf0
BLAKE2b-256 checksum
How to use checksums
061ae518af5e33d2d3ef02dc036040d7844027b1d5f6c7809ffdeec8f244f189
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL snipar-0.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 55.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a397c58493149bf21352bd81a9c9ba9f1f5fe9c7aee2eccc4d8d10241ba53add
BLAKE2b-256 checksum
How to use checksums
006659146397de62739f7d4b607b10f41270da5950f0afe002deb3e1c30244f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL snipar-0.0.23-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Size 55.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
267191d9ec4c750a7371162636119f4414589973e89d4f81a63c8c589021188f
BLAKE2b-256 checksum
How to use checksums
e83a26119f198c51687b4c0adbd9d5bd8a5d465feefb6129d53ffc79acb4b345
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp38-cp38-win_amd64.whl

Download URL snipar-0.0.23-cp38-cp38-win_amd64.whl
Size 53.7 MB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
7b3c693fd85e34b8e1dd8ba39ff2abc177976cc1e0cb0c2e440ae9250b6675b3
BLAKE2b-256 checksum
How to use checksums
98d7a77caca03183d5b7f778db0e319efd14d9df8a6bf1a602b8d0fb2b113b73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp38-cp38-win32.whl

Download URL snipar-0.0.23-cp38-cp38-win32.whl
Size 53.7 MB
Tags CPython 3.8 Windows x86-32
SHA-256 checksum
How to use checksums
e36e67014a372af39b9272ba82030fd4a8c309490d839d6c3f9e91d154e6bf21
BLAKE2b-256 checksum
How to use checksums
a5c7e743816c3911bc6a1a796a5158a68134032a57d13e23d4f55eeaa7a5b77d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL snipar-0.0.23-cp38-cp38-musllinux_1_2_x86_64.whl
Size 56.8 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4b91dc2d516f54d9b6813772346cbf21f1a6d3c3a527a472736881ec63263330
BLAKE2b-256 checksum
How to use checksums
1dd8881ce58aa5cf7936b70815e33e44b911957f9ab46ced78436e2640648fdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp38-cp38-musllinux_1_2_i686.whl

Download URL snipar-0.0.23-cp38-cp38-musllinux_1_2_i686.whl
Size 56.8 MB
Tags CPython 3.8 Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
5144f0a4b7b997d66a00503a06db89ce356ff2c171219c09bfb0aa87fa436cbb
BLAKE2b-256 checksum
How to use checksums
a6ec2cc416cd7da34168a652ce317ab629816dd54ff705192a2f59670c5e1f87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL snipar-0.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 55.4 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d1a542b91f7283f7d11427f0b91512ab670da0939285d45324f588c87c905098
BLAKE2b-256 checksum
How to use checksums
a2b9c6d0a377c96686193b2ec53ae183a797e792bebd778e42b988b8ca8d7260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL snipar-0.0.23-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Size 55.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
f0f85e181142f50a9a92b8aa35c47a8a6c2aae9325781ef98d841740a239fb47
BLAKE2b-256 checksum
How to use checksums
34a875c507366bb074611855d0ba834ca03f58458858c6b050c74faf7b0bc0c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp37-cp37m-win_amd64.whl

Download URL snipar-0.0.23-cp37-cp37m-win_amd64.whl
Size 53.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
79d0c418355a4744440d6a7411414f9c13b6535e23829470ab0ec8c455c5d2c3
BLAKE2b-256 checksum
How to use checksums
19b26314ecc3289833414f1412b0f21388d885d653256e3cc8a257ebc793c8f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp37-cp37m-win32.whl

Download URL snipar-0.0.23-cp37-cp37m-win32.whl
Size 53.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-32
SHA-256 checksum
How to use checksums
6cddfbdf5d578f77f0d43210c5b6e988cd51b69258644b9e00195327bc51afa1
BLAKE2b-256 checksum
How to use checksums
46f9bc78348aeaabfe96aba41b3d2bd5771163970e2249aa9b87e0a62ac1c649
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / snipar-0.0.23-cp37-cp37m-musllinux_1_2_x86_64.whl

Download URL snipar-0.0.23-cp37-cp37m-musllinux_1_2_x86_64.whl
Size 56.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
decc67a551ed8a9059473655f0e8f8fa971338e4a4728b76ef83fe0f327705df
BLAKE2b-256 checksum
How to use checksums
93f4a4bce7a0dcb34e3df782740499fb239924402860a8b68dabb997bef6cb55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp37-cp37m-musllinux_1_2_i686.whl

Download URL snipar-0.0.23-cp37-cp37m-musllinux_1_2_i686.whl
Size 56.7 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-32
SHA-256 checksum
How to use checksums
37bb523df990ef20a0db1ce932de8d27c0b130acae7875eee2fbe4c38dd5b9d5
BLAKE2b-256 checksum
How to use checksums
96145d5d497f5bfce371de3139ded5f5f234258bcb8ee2314cb83a333f9225e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL snipar-0.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 55.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b48aef203c2ce4b0cdedec0e3128a85713d5e32f9dd9427d72537094e2e9aad0
BLAKE2b-256 checksum
How to use checksums
6e432add32e98ee8969dd89a4cc694f08e243e82c2cc70f3b99959c1f73ca85b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / snipar-0.0.23-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL snipar-0.0.23-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Size 55.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
885d90610f83678abff8294325b3e2082d49bebe695030a5d71e624535da8bcc
BLAKE2b-256 checksum
How to use checksums
ddd5d732656fa19fb6518c82dc20b3a94fd87656e739d4ab334627dd52899486
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for snipar 0.0.23

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