--- id: rapids-logger version: "0.3.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # rapids-logger — Logging framework for RAPIDS built around spdlog License: permissive · Maintenance: active · Downloads: 502.6K/mo ## 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 above — 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 pip install rapids-logger uv add rapids-logger 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_current - Install friction: medium - Maintenance: active - Downloads: 502.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags spdlog wrapper cmake, project-specific logger generation, c++ logging framework, symbol isolation logging, rapids logging library, cmake-based, c++-logging, symbol-isolation [View on SkillFed](https://skillfed.io/packages/rapids-logger) · [View on PyPI](https://pypi.org/project/rapids-logger/)