Skip to main content

A minimal example package (with pybind11)

Project description

scikit_build_example

Gitter

CI status
conda.recipe Conda Actions Status
pip builds Pip Actions Status

An example project built with pybind11 and scikit-build-core. Python 3.9+ (see older commits for 3.7+, or even older versions of Python using scikit-build (classic)).

Installation

  • Clone this repository
  • brew install eigen
  • cd [this_repo]
  • pip install .[test]

Test call

import scikit_build_example

scikit_build_example.add(1, 2)

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 file
  • CMakeLists.txt: The CMake configuration file
  • src/main.cpp: The source file for the C++ build
  • src/scikit_build_example/__init__.py: The Python portion of the module. The root of the module needs to be <package_name>, src/<package_name>, or python/<package_name> to be auto-discovered.

These files are also expected and highly recommended:

  • .gitignore: Git's ignore list, also used by scikit-build-core to select files for the SDist
  • README.md: The source for the PyPI description
  • LICENSE: The license file

There are also several completely optional directories:

  • .github: configuration for Dependabot and GitHub Actions
  • conda.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/: Documentation
  • tests/: Tests go here

And some optional files:

  • .pre-commit-config.yaml: Configuration for the fantastic static-check runner pre-commit.
  • noxfile.py: Configuration for the nox task runner, which helps make setup easier for contributors.

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

pyconcord-0.4.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distributions

pyconcord-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (123.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyconcord-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (94.7 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

pyconcord-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (124.3 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pyconcord-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (95.1 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

pyconcord-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (124.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyconcord-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (95.1 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyconcord-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (125.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyconcord-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (95.8 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyconcord-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (123.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyconcord-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (94.6 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

File details

Details for the file pyconcord-0.4.0.tar.gz.

File metadata

  • Download URL: pyconcord-0.4.0.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

Hashes for pyconcord-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1c2af5ef4ef9467a33ea53d34101f32464c2f972cd7fd3bf52acb9bca671b8dc
MD5 47366ea38004903d527dfddaa8687b32
BLAKE2b-256 1eda26231bd76bee981ed2b601e58c106d0c87f680769d89c08021fd2aaf5d67

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0.tar.gz:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d69bc5fde427bdff9badc40cfaedd256fb1ea1b0d693c5fe65b9b56ba8cc8b4
MD5 0567af953def12b3a15ac16b2a81567b
BLAKE2b-256 c744c26225a492041150743d8b694123022759a942f84da68195f3c9ba499987

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14401619a616171e2247b4756edc39a53efe861df99b72ec71079945901d58bf
MD5 140b9cdb57e939b0b6727defe2c2f321
BLAKE2b-256 fd649c82ebea4ad7ac935453511e79f6a84450bab916eacdf7e2e249bf816caa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9e6b3e42d84d8647c4fe0aef7fedc240b5a806476913a303e8e923cb95bb0a1
MD5 5f5a8d9cd5e009fb345d7acd3e9b4a80
BLAKE2b-256 4adb684b9e99d49dae058ef03175fdaef2525fdc2bee4fd85ee61f2ad5f429ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec8fbc4647b8075af8c43b10e6b6b8ae384ffcb9f80b1773672054612efef4fc
MD5 2bcf34c1d7844379c047c24a01794287
BLAKE2b-256 e14f01e4ff92fead554b1e52fb2f668e4272b226bcfb48bec15b0413e9b674be

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 851be6c716e9d9b64a5fd00bd1115cecb7d2d4dadc60b51583122ed18b99ae01
MD5 a2ebf858f88a0fc3ec4ad2a2be098af7
BLAKE2b-256 e37e445a76b4e89baffdafd5eaf3239fc47f71b9ea10d4116aff85b8c8beaa39

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd4415a429c83683883932fb9e62fe787757b1efac4fcfd25865233ae40d6935
MD5 1310f15010fdb579d289b76f0eb9bb19
BLAKE2b-256 1b6478ab91d7f7a3aea42e69147475756f5850bba8fbb5853715453a8f8c3f1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2526984e711e10d1d90416657ec22a0b13e2e7d74ecb6b5bab7b945817e48b6
MD5 67f6f900ba2236d48b488769da70f752
BLAKE2b-256 55ce4cc6a2058b3fa7b893cf6d1d0fbfb4468875366a88daac6f40a5462df27e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efe5b6c71ff38a37f84bccc61f1f47adb623771326644776992d84ad3ee70b98
MD5 56a21b5aa69a70731f134957de956c58
BLAKE2b-256 97c93b6150951f2300a75507a4f1f8114aa5ce7629f2a73ed6a5ceb61c19251b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8507b05beb01802e976544907f60ac01ad7c72b36a957d0b0666a0714c7d9238
MD5 e8429c53936021c00c24ee43ef904414
BLAKE2b-256 aae33013c6558a27ec1612fb1f02a8e902dc111043d3c1fb3f4e105ed30320c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

File details

Details for the file pyconcord-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyconcord-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47f589a7cf26e1f62fc09b39e7d311ad813b3cfe406b075a63a002192f420133
MD5 ad02e459d869196ec5ddf84cb5d2e26a
BLAKE2b-256 d248c23c540fcead60471c12b2f3bb2b8f13612ef35107c27d36ea923443829f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyconcord-0.4.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on matzhaugen/pyccista

Attestations:

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page