A minimal example package (with pybind11)
Project description
pyconcord
CI | status |
---|---|
conda.recipe | |
pip builds |
Installation
- Clone this repository
brew install eigen
cd [this_repo]
uv venv .venv --python 3.9 && source .venv/bin/activate
uv pip install .[test]
To run tests:
pytest -s
To install from pypi:
uv pip install pyconcord --no-sources
Test call
import numpy as np
from scipy.sparse import identity
import pyconcord as pc
x = np.random.randn(13, 9)
n, p = x.shape
x0 = identity(p).tocoo()
omega = pc.concord(x, x0=x0, lambda1=0.3)
cov = np.round(omega.todense(), 2)
assert ~np.isinf(cov[0,0])
assert cov[0, 1] == cov[1, 0]
Files
This example has several files that are a good idea, but aren't strictly necessary. The necessary files are:
pyproject.toml
: The Python project fileCMakeLists.txt
: The CMake configuration filesrc/main.cpp
: The source file for the C++ buildsrc/pyconcord/__init__.py
: The Python portion of the module. The root of the module needs to be<package_name>
,src/<package_name>
, orpython/<package_name>
to be auto-discovered.
These files are also expected and highly recommended:
.gitignore
: Git's ignore list, also used byscikit-build-core
to select files for the SDistREADME.md
: The source for the PyPI descriptionLICENSE
: The license file
There are also several completely optional directories:
.github
: configuration for Dependabot and GitHub Actionsconda.recipe
: Example recipe. Normally you should submit projects to conda-forge instead of building them yourself, but this is useful for testing the example.docs/
: Documentationtests/
: Tests go here
And some optional files:
.pre-commit-config.yaml
: Configuration for the fantastic static-check runner pre-commit.
This is a simplified version of the recommendations in the Scientific-Python Development Guide, which is a highly recommended read for anyone interested in Python package development (Scientific or not). The guide also has a cookiecutter that includes scikit-build-core and pybind11 as a backend choice.
CI Examples
There are examples for CI in .github/workflows
. A simple way to produces
binary "wheels" for all platforms is illustrated in the "wheels.yml" file,
using cibuildwheel.
License
pybind11 is provided under a BSD-style license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file pyconcord-0.4.2.tar.gz
.
File metadata
- Download URL: pyconcord-0.4.2.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb48ac6f895f277739d4b8fa34891edceafe154d107e23768efe5d39ebb6472c |
|
MD5 | 933fca210a555ffac65e83b22a2aeae6 |
|
BLAKE2b-256 | 074631d1ec71d4c33bf6a0046fcf7a85f91e395ca0a2976a9179117887dd2102 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2.tar.gz
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2.tar.gz
- Subject digest:
cb48ac6f895f277739d4b8fa34891edceafe154d107e23768efe5d39ebb6472c
- Sigstore transparency entry: 141898183
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 124.7 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ebbbab5d0517b721c9834e0a14e4f24f5dd0f27987ced9aff474e0337dd360 |
|
MD5 | 16f253a865753dfe0685ea1055543fe3 |
|
BLAKE2b-256 | be2056b0846d888024b047b1f5e9ac19c0b12038ce9d75a6648ef30265089237 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
e2ebbbab5d0517b721c9834e0a14e4f24f5dd0f27987ced9aff474e0337dd360
- Sigstore transparency entry: 141898191
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
- Upload date:
- Size: 95.8 kB
- Tags: PyPy, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b04612f41d685cac25f8e37f715d93381511a814b0746298fb10425b23ca1bf |
|
MD5 | a93234fe2967a3eb325b4c103b6df5a0 |
|
BLAKE2b-256 | a32a21ffa295fa6845a6bfea3cdefb743ea0661114949bc07fbb8b52167db31c |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl
- Subject digest:
5b04612f41d685cac25f8e37f715d93381511a814b0746298fb10425b23ca1bf
- Sigstore transparency entry: 141898185
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 125.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9dc3a74fbd162c712c477f4668983bd93cbc2187465b9691801cb6a4fa4810f |
|
MD5 | 654e20891f15c4c8cacf7bcc9d78989a |
|
BLAKE2b-256 | d37596eb939db3c492d751503571821091a22920a7335f0bf5e3d6ea34116534 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
b9dc3a74fbd162c712c477f4668983bd93cbc2187465b9691801cb6a4fa4810f
- Sigstore transparency entry: 141898192
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 96.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a86f3a4cf399d1c6a9d8c033dffe43bbc6d2d3fc9ae06243a9bab4406e37ddf |
|
MD5 | 1f727ec87caddfb9df8d8325c999b3df |
|
BLAKE2b-256 | 0f11ba05c9a43148e7559fc91ef6a0db9ebcbcf7d4f37343ae359e75ea093e83 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
- Subject digest:
9a86f3a4cf399d1c6a9d8c033dffe43bbc6d2d3fc9ae06243a9bab4406e37ddf
- Sigstore transparency entry: 141898194
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 125.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa4f829eb69646a52ed7e936c93ed46796b0b4a2fcc4a4f230c7302642dc4041 |
|
MD5 | 22079fe098b4aacaab257bd79e3189d1 |
|
BLAKE2b-256 | c56f39deaa50b68c0eef009cffcfcdb818b8759ad5ee2958bb4986a325ecca79 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
fa4f829eb69646a52ed7e936c93ed46796b0b4a2fcc4a4f230c7302642dc4041
- Sigstore transparency entry: 141898188
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 96.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e32f184fd0148c0793d79ccf08582371ecac1c8a10da36f909b17d2c4ad126c0 |
|
MD5 | 5727cddbd8d1a6cce8b422a191f80869 |
|
BLAKE2b-256 | e3e49cf8dd215edf4e1fe893a2ebf18697dfb4ed62fc0f2350322bef783a900d |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
- Subject digest:
e32f184fd0148c0793d79ccf08582371ecac1c8a10da36f909b17d2c4ad126c0
- Sigstore transparency entry: 141898195
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 126.2 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01474532d03d468b528cdec8e6e6920204e34998b4acb79568b9c9d7ddd29802 |
|
MD5 | 343bf6827bd87c84bd80eaeead371f8b |
|
BLAKE2b-256 | dd7a4539e66b237be5f1e99eb9c39a20050081a5475d60e9515ad2db58bb1193 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
01474532d03d468b528cdec8e6e6920204e34998b4acb79568b9c9d7ddd29802
- Sigstore transparency entry: 141898186
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 96.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9472b5bb7277690079a813c9a6f40d05e15a152ac5c633cc8785fea8a3dbed0 |
|
MD5 | 1bdb07f99192aa5928e88f6fb7a79bd6 |
|
BLAKE2b-256 | 8c8e026c411c832616d4c1962332ba303d9f785158a332489556b3dd77595116 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
- Subject digest:
f9472b5bb7277690079a813c9a6f40d05e15a152ac5c633cc8785fea8a3dbed0
- Sigstore transparency entry: 141898196
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 124.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a963eea01a94acd172bd657c5fd9b8fb476c88b69923b5e3b6e0b4f898f8a246 |
|
MD5 | 6df29382573edfb8aad73e224d034aaf |
|
BLAKE2b-256 | 6c72e6d096a995d7f710434db098c8080b6114fa66a19eed2b33088d08ba7795 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
a963eea01a94acd172bd657c5fd9b8fb476c88b69923b5e3b6e0b4f898f8a246
- Sigstore transparency entry: 141898190
- Sigstore integration time:
- Predicate type:
File details
Details for the file pyconcord-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: pyconcord-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 95.6 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4090c683a8af50c6f317141dc9b72885f683f0e75fb449e2a0ea638dbec80353 |
|
MD5 | 223ea66aafa74d00246f7087ab1a6d87 |
|
BLAKE2b-256 | 73a78d4625f8732c17ba0f23d57b9e129ecd87b366c68315aef26d31849e3351 |
Provenance
The following attestation bundles were made for pyconcord-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
:
Publisher:
wheels.yml
on matzhaugen/pyccista
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pyconcord-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
- Subject digest:
4090c683a8af50c6f317141dc9b72885f683f0e75fb449e2a0ea638dbec80353
- Sigstore transparency entry: 141898189
- Sigstore integration time:
- Predicate type: