Skip to main content

Setuptools based backend supporting Cython extensions

Project description

Halway House backend

Provides PEP-517 build hooks for building Cython extensions with setuptools. Currently supports Cython 0.29.

Ideally similar functionality would be provided an actual setuptools backend.

Intended use

[build-system]
requires = ["hwh-backend", "Cython<3.0.0"]
build-backend = "hwh_backend.build"

[project]
name = "mylib"
version = "1.0.0"

[tool.hwh.cython.modules]
include_dirs = ["first", "second"]
runtime_library_dirs = ["/usr/lib"]
library_dirs = ["/usr/lib", "/home/user/lib"]
sources = ["foo.pyx", "bar.pyx"]
exclude_dirs = ["this", "that"]

[tool.hwh.cython]
language="c"
annotate=false
nthreads=1
force=false

[tool.hwh.cython.compiler_directives]
# Cython compiler directives
binding = false  # Generate Python wrapper functions
boundscheck = false  # Array bounds checking
wraparound = false  # Negative indexing
initializedcheck = false  # Check if extension types are initialized
nonecheck = false  # Generate checks for null Python references
overflowcheck = false  # Check for C integer overflows
embedsignature = false  # Include docstrings in the C code
cdivision = false  # Division by zero checking
cdivision_warnings = false  # Division by zero warning
profile = false  # Enable profiling
linetrace = false  # Enable line tracing
type_version_tag = true  # Enable CPython's type attribute cache

# All cython modules go here
[tool.hwh_backend.cython.modules]
sources = [mylib/*.pyx]

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

hwh_backend-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hwh_backend-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file hwh_backend-0.1.0.tar.gz.

File metadata

  • Download URL: hwh_backend-0.1.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for hwh_backend-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e3f699b6a731fbe53556ac8bdfa71383a7dba6137d67262eeec15c7229e1be2
MD5 869d048373e3e005ae0f35b65dfe48cf
BLAKE2b-256 f39aa38ff60d775de3021ae7a5fb058ebe5d86e6ffc681cbcd16c8b21024b8dc

See more details on using hashes here.

File details

Details for the file hwh_backend-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hwh_backend-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for hwh_backend-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3980c98ee3df79d871b45837fb39e444091904cefe1237a8be1eca90d0dc7727
MD5 8a36ca4132e451b4df390ea550f5bccd
BLAKE2b-256 8292baaacb8e3237045c67ad1cfa25d0038b4bb094e68adf560df3c8e3dd3730

See more details on using hashes here.

Supported by

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