GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pybind/pybind11_bazel: Bazel wrapper around the pybind11 repository

BranchesTags
Open more actions menu

Latest commit

 

History

120 Commits
120 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
examples
examples
 
 
.bazelrc
.bazelrc
 
 
.gitignore
.gitignore
 
 
AUTHORS
AUTHORS
 
 
BUILD.bazel
BUILD.bazel
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
MODULE.bazel
MODULE.bazel
 
 
README.md
README.md
 
 
WORKSPACE.bazel
WORKSPACE.bazel
 
 
WORKSPACE.bzlmod
WORKSPACE.bzlmod
 
 
build_defs.bzl
build_defs.bzl
 
 
internal_configure.bzl
internal_configure.bzl
 
 
pybind11-BUILD.bazel
pybind11-BUILD.bazel
 
 

Repository files navigation

Bazel extensions for pybind11

Github-CI:

OS \ Build system Bazel
Linux (amd64) Build Status
MacOS (amd64) Build Status
MacOS (arm64) Build Status
Windows (amd64) Build Status

Provided rules:

  • pybind_extension: Builds a python extension, automatically adding the required build flags and pybind11 dependencies. It defines a target which can be included as a data dependency of a py_* target.
  • pybind_library: Builds a C++ library, automatically adding the required build flags and pybind11 dependencies. This library can then be used as a dependency of a pybind_extension. The arguments match a cc_library.
  • pybind_library_test: Builds a C++ test for a pybind_library. The arguments match a cc_test.

To test a pybind_extension, the most common approach is to write the test in Python and use the standard py_test build rule.

To embed Python, add @rules_python//python/cc:current_py_cc_libs as a dependency to your cc_binary.

Installation

In your WORKSPACE file:

http_archive(
  name = "pybind11_bazel",
  strip_prefix = "pybind11_bazel-<version>",
  urls = ["https://github.com/pybind/pybind11_bazel/archive/v<version>.zip"],
)
# We still require the pybind library.
http_archive(
  name = "pybind11",
  build_file = "@pybind11_bazel//:pybind11-BUILD.bazel",
  strip_prefix = "pybind11-<version>",
  urls = ["https://github.com/pybind/pybind11/archive/v<version>.zip"],
)

Then, in your BUILD file:

load("@pybind11_bazel//:build_defs.bzl", "pybind_extension")

Bzlmod

In your MODULE.bazel file:

bazel_dep(name = "pybind11_bazel", version = "<version>")

Usage in your BUILD file is as described previously.

About

Bazel wrapper around the pybind11 repository

Resources

Readme
License

Contributing

Contributing
Activity
Custom properties

Stars

115 stars

Watchers

9 watching

Forks

67 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.