skillfed

rapids-logger

Logging framework for RAPIDS built around spdlog

rapids-logger v0.3.0 502.6K downloads/30d#6,308 on PyPI2
Permissive license Apache-2.0 Active released

What it is and what it does

rapids-logger is a CMake-based logging framework designed for C++ projects that need to provide their own logger without reimplementing spdlog integration. It uses the PImpl (Pointer to Implementation) idiom to generate project-specific logger classes that expose spdlog-like functionality while hiding spdlog symbols from the public interface. This symbol isolation allows different projects in the same environment to use different versions of spdlog safely.

The framework generates logging macros (e.g., PROJECT_LOG_DEBUG) with compile-time and runtime level control. Compile-time levels are set via a project-specific variable like PROJECT_LOG_ACTIVE_LEVEL, while runtime levels can be adjusted via a default_logger() function. Each project gets its own independent logging configuration, so multiple libraries can coexist without interference.

Use it for:

  • Build a multi-library C++ application where each library needs its own logger without exposing spdlog internals to consumers
  • Generate project-specific logging macros and classes from a CMake template to maintain consistent logging patterns across a codebase
  • Isolate spdlog versions when integrating third-party libraries that depend on different spdlog releases
  • Control logging verbosity at both compile time (which messages are included) and runtime (which messages are shown)

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

rapids-logger provides a CMake-based framework to generate project-specific logger classes that wrap spdlog without exposing its symbols, enabling safe coexistence of different spdlog versions in the same environment.

Yes, if you are building C++ projects with CMake that need isolated logging. The active maintenance, permissive license, and zero known vulnerabilities make it safe to adopt. Medium install friction is typical for compiled wheels; the main constraint is that you must have CMake and a C++ compiler in your build environment, not just Python.

Install

rapids-logger on PyPI

pip

pip install rapids-logger

uv

uv add rapids-logger

poetry

poetry add rapids-logger

Installing rapids-logger

Before you install

Medium install friction due to manylinux wheels for specific architectures (aarch64, x86_64). Active maintenance with a release 10 days ago. Requires Python 3.10 or later.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

Quickstart

# Install rapids-logger
pip install rapids-logger==0.3.0

# Use via CMake in your project's CMakeLists.txt
find_package(rapids-logger REQUIRED)
rapids_make_logger(NAMESPACE my_project OUTPUT_DIR include)

This is a CMake-based C++ logging framework; Python is only the distribution mechanism. You must have CMake and a C++ compiler to use it in your project.

Verify before relying

  • Whether the package works on platforms beyond the two manylinux wheel architectures provided (aarch64, x86_64)
  • Specific version compatibility requirements with spdlog itself
  • Whether pre-built wheels are available for Windows or macOS

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 10 days since the last release
Last repo commit
First released
Downloads 502,585/month — #6,308 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: rapids_logger-0.3.0-py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; rapids_logger-0.3.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Intended Audience :: DevelopersProgramming Language :: C++Topic :: DatabaseTopic :: Scientific/Engineering

Tags

spdlog wrapper cmakeproject-specific logger generationc++ logging frameworksymbol isolation loggingrapids logging library
cmake-basedc++-loggingsymbol-isolation

More Scientific/Engineering packages