Skip to main content

Python bindings for spdlog

Project description

spydlog

Python bindings for spdlog using nanobind.

CI codecov

3.9 3.10 3.11 3.12 3.13 3.14

Linux macOS Windows

Installation

Supported Python versions ranges from 3.9 (minimum version) up to the latest (3.14). Supported platforms are Windows, Linux and MacOs.

pip install spydlog

Documentation

Please refer to the official documentation of spdlog and see the documentation for examples.

Performance

A benchmark against the native logger module is avaiable in benchmarks. The results are great, but some improvements can be made to the bindings (for console-logging especially).

Library Scenario Messages/Second Speedup vs Python
Python Console 5,093 1.0x
Python File 37,270 1.0x
Python Disabled 6,583,365 1.0x
spydlog Console (MT) 13,651 2.7x
spydlog Console (ST) 13,388 2.6x
spydlog File (MT) 1,302,138 34.9x
spydlog File (ST) 1,390,776 37.3x
spydlog Async File 2,305,422 61.9x
spydlog Disabled 3,955,180 0.6x

License and attribution

All material in this repository is licensed under an MIT License.

Acknowledgement

Some code and text of this repository has been generated by AI using Claude, via the web interface.

  • Python test code has initially been generated by Claude and modified by the author.
  • Python Stubs have been auto-generated by nanobind and fixed by Claude for better type inference and clear wrapping of C++ types not converted correctly by the nanobind generator.
  • Documentation has been generated by Claude given the existing stubs and code.
  • Benchmark code has been generated by Claude.

Although LLMs are not on-par with a human brain for everything, they do a good job when it comes to summarizing/generating text given a good input, that's why it was practical to use them in that case. Critical code (cpp bindings) has been written by hand and carefully reviewed and tested.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

spydlog-1.0.1.dev0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (243.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

spydlog-1.0.1.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (243.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

spydlog-1.0.1.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (243.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

spydlog-1.0.1.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (243.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

spydlog-1.0.1.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (243.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file spydlog-1.0.1.dev0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spydlog-1.0.1.dev0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfbc0fdca9b71fb13e99c6179ae82216aafc88fdb6e8416f20300478cd8e12b1
MD5 9057e2d47ca91a7d19c1bcef060af027
BLAKE2b-256 7608601bf96cd443907ed3ad788cc9ee8176ed4e02ebec1539a3ebfa5540d7bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for spydlog-1.0.1.dev0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on romainaugier/spydlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spydlog-1.0.1.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spydlog-1.0.1.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f6d094ff5692e8c6a094c4ff0ce51d5d44cf74879cfbfd6146ea0babddfca5be
MD5 817982bfdc06004780860ca953b2df1a
BLAKE2b-256 540909196cb92987b50c1554ec3a252b80d63e262159f8b799a7e3db9c5b864a

See more details on using hashes here.

Provenance

The following attestation bundles were made for spydlog-1.0.1.dev0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on romainaugier/spydlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spydlog-1.0.1.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spydlog-1.0.1.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 297beef1d504121390ba5653fd2407f5d579115bffb28d574f17cbc4910327d3
MD5 8645b3ae1851f8bdc0d7661c1f2bf5b4
BLAKE2b-256 e7951e3bec8c273214595f0121dd32791c1b9018f7cd922979c193cc801e98ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for spydlog-1.0.1.dev0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on romainaugier/spydlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spydlog-1.0.1.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spydlog-1.0.1.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a43ef13c96aecb0218ab56ce0829199b41f5d00b6251d5f99880757a802f3fe
MD5 53ee6d1b9706f503c363e5b03bd0f13f
BLAKE2b-256 035b505dc8b35c868559adc603bb81a49762c83b535d0e5d1ae32b3bcd53e0dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for spydlog-1.0.1.dev0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on romainaugier/spydlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spydlog-1.0.1.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for spydlog-1.0.1.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cde2928ef128efac8ec978de252f7b6b4b74327fd40db39584e17a59e6af70de
MD5 52921d87f8954895c0df58d4d0f76a3b
BLAKE2b-256 30e9a98064501bc2375a0f76c6f56c6a32598fc44fc499e0c6947864c1fd0f75

See more details on using hashes here.

Provenance

The following attestation bundles were made for spydlog-1.0.1.dev0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on romainaugier/spydlog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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