• v0.5.0 4c47235c82

    v0.5.0 Stable

    olemd released this 2026-09-29 15:19:31 +02:00 | 2 commits to main since this release

    New: conansbom – a software bill of materials for a Conan 1.x project

    For inventory and license compliance, e.g. to hand to a customer or load into Dependency-Track. It reads the same graph conan install resolves, with the recipes loaded, so it knows what lockfile-based tools cannot: each package's declared license, and which packages ship versus are only used to build.

    conansbom path/to/conanfile.py -r myremote --out sbom.cdx.json            # CycloneDX 1.6 (default)
    conansbom path/to/conanfile.py -r myremote -f spdx --out sbom.spdx.json   # SPDX 2.3
    conansbom path/to/conanfile.py -r myremote -f html --out sbom.html        # page for people
    
    • Every package once, with purl (pkg:conan/…), description, homepage and recipe URL; the project is the document's subject, with the build settings it describes.
    • What ships vs. what only builds it: build requirements, and everything only they pull in, are scope: excluded in CycloneDX and BUILD_DEPENDENCY_OF in SPDX.
    • Licenses exactly as declared, classified against the embedded SPDX License List 3.29.0 (works offline): SPDX identifiers and expressions are written as such, anything else is kept verbatim (a LicenseRef- with its text in SPDX). Packages that declare no license are listed on stderr and flagged in the HTML page.
    • Every format is validated in the tests (CycloneDX schema, spdx-tools).

    conandeps: a leaner HTML report

    • Each fact is shown once: the "Newer versions" and "Missing binaries" sections are folded into the dependency table (export dates and the version range are now tooltips), and the dependency tree shows structure only.
    • The tree's root and the last update-order wave use the project's package name instead of the conanfile path.

    The terminal output and the exit codes are unchanged.

    Install / upgrade

    With uv (installs both conandeps and conansbom):

    uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git
    uv tool upgrade conan-utils
    

    With pip, in a dedicated venv:

    ~/.venvs/conan-utils/bin/pip install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git@v0.5.0
    

    conansbom imports conandeps, so it runs installed or from a checkout, not as a lone downloaded file.

    Downloads
  • v0.4.0 4e7bfeaac1

    v0.4.0 Stable

    olemd released this 2026-09-29 11:49:09 +02:00 | 11 commits to main since this release

    What's new

    • Build-type fallbacks (--fallbacks FILE): an INI file, one section per build type, names packages to check under another build type instead (e.g. [RelWithDebInfo] zlib = Release). Passed to Conan as a package-scoped setting, so the package_id is Conan's own. Cells found this way are marked (via <build type>); a fallback that is missing too is still reported and still fails the exit code.
    • Update order: an HTML section answering "what do I bump first?" – packages with a newer version, plus every consumer that must be re-released to pass it on, grouped in parallelisable waves with your conanfile last. Skipped by --no-check-updates.
    • newest column in the HTML dependency table (up to date or the newest version on the remote).
    • The report names its package: the conanfile's own name/version heads both reports and titles the HTML page.
    • Clearer cells: a binary that exists only in the local cache now says local cache only instead of not available.
    • The HTML report explains the host/build context column.

    Changed

    • The text output is now a summary: header, one line of counts and the missing binaries – exactly what the exit code reflects. The dependency table, overrides, newer versions, update order and tree are in the HTML report (--html FILE); without it the output ends with Full report: --html FILE.

    Fixed

    • An explicit override declared by a conanfile that has a name/version was reported as implicit.

    Install / upgrade

    With uv:

    uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git
    uv tool upgrade conan-utils
    

    With pip (newly documented; use a dedicated venv, since this pulls in Conan 1.66):

    python3 -m venv ~/.venvs/conan-utils
    ~/.venvs/conan-utils/bin/pip install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git@v0.4.0
    

    To upgrade an existing pip install use --force-reinstall --no-deps – see the README.

    Downloads
  • v0.3.0 d15267ed7e

    v0.3.0 Stable

    olemd released this 2026-09-01 15:45:12 +02:00 | 22 commits to main since this release

    What's new

    • Newer-version check (on by default): the report now tells you when the remote holds a newer version of any package in your graph.
      • Versions are ordered with Conan's own lenient comparison, which copes with dates and most non-semver schemes.
      • The export timestamps of the current and newest recipe are fetched from their manifests and shown, so schemes with no meaningful order (branch names, hashes) can be judged by date — and a reference that is newer only by date is still reported. The note column says how "newer" was decided.
      • Rendered as a "Newer versions" section in text and HTML, sorted alphabetically.
      • Informational only: the exit code is unchanged (0/1 still keyed on missing binaries). Disable with --no-check-updates.

    Install/upgrade:

    uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git
    uv tool upgrade conan-utils
    
    Downloads
  • v0.2.0 d5fec5bfc7

    v0.2.0 Stable

    olemd released this 2026-09-01 15:20:17 +02:00 | 25 commits to main since this release

    What's new

    • Sorted report tables in both text and HTML output:
      • Dependency rows sort on the via column, then package name, so each dependency chain reads as one contiguous block (direct dependencies first).
      • The Overrides section now comes before Missing binaries — an override is often the cause of a missing binary.
      • Both the overrides and missing-binaries tables sort alphabetically on package.

    Install/upgrade:

    uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git
    uv tool upgrade conan-utils
    
    Downloads
  • v0.1.0 baba4e0205

    v0.1.0 Stable

    olemd released this 2026-08-25 16:14:31 +02:00 | 30 commits to main since this release

    conan-utils v0.1.0

    First release. Small utilities for Conan 1.x (targets 1.66).

    conandeps

    Given a conanfile.py, reports:

    • Dependencies – direct and indirect, sorted by level of indirection, with a via column showing every path a package is reached through.
    • Binary availability – for Release, Debug and RelWithDebInfo (configurable), evaluated for your exact profile through Conan's own graph analysis. Every cell names the remote that has the binary; binaries that exist only in your local cache are reported as not available.
    • Overrides – explicit override=True and implicit (a newer version required downstream), as a table and annotated on the dependency tree.
    • Colour-coded text output (--color auto|always|never, honours NO_COLOR) and a self-contained HTML report (--html).
    • Exit status 1 when any binary is missing, 2 on Conan errors – usable as a CI gate.

    Install

    uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git@v0.1.0
    conandeps path/to/conanfile.py -r myremote
    

    or install the attached wheel with uv tool install conan_utils-0.1.0-py3-none-any.whl. Python 3.8+.

    Assets

    • conan_utils-0.1.0-py3-none-any.whl – wheel
    • conan_utils-0.1.0.tar.gz – source distribution
    • SHA256SUMS

    🤖 Generated with Claude Code

    Downloads