{"id":26792,"library":"barectf","title":"barectf","description":"barectf is a generator of ANSI C tracers that output CTF (Common Trace Format) data streams. It takes a YAML configuration file describing trace events and generates a standalone C tracer suitable for embedded systems. Current version: 3.1.2, released 2023-12. Release cadence: irregular, with major versions every few years.","status":"active","version":"3.1.2","language":"python","source_language":"en","source_url":"https://github.com/efficios/barectf","tags":["tracing","ctf","embedded","c-code-generator","yaml"],"install":[{"cmd":"pip install barectf","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"used to parse YAML configuration files","package":"PyYAML","optional":false},{"reason":"used to validate the configuration schema","package":"jsonschema","optional":false}],"imports":[],"quickstart":{"code":"# barectf is a command-line tool, not a Python library.\n# After installation, run:\n# barectf --help\n# To generate a tracer from a YAML config:\n# barectf config.yaml -o output_dir","lang":"python","description":"barectf is used as a CLI tool. No Python import is needed."},"warnings":[{"fix":"Refer to the migration guide: https://barectf.readthedocs.io/en/latest/migration.html","message":"Version 3.x uses a new configuration schema incompatible with 2.x. Old configs will fail.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Do not import barectf. Use it from the command line or via subprocess.","message":"barectf is not a runtime library; it generates C source code. Users often try to import it in Python, which is incorrect.","severity":"gotcha","affected_versions":"all"},{"fix":"Watch for announcements. For now, both pip and binary releases are supported.","message":"The 'barectf' Python package may be deprecated in favor of the standalone binary distribution in future versions.","severity":"deprecated","affected_versions":">=3.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Do not import barectf. Run 'barectf --help' from the terminal.","cause":"User tries to import barectf as a Python module, but it's a CLI tool.","error":"ImportError: No module named barectf"},{"fix":"Update the config file to use the new schema. See https://barectf.readthedocs.io/en/latest/config-schema.html","cause":"The YAML configuration schema changed in version 3.x.","error":"couldn't load YAML config: top-level keys 'trace' and 'events' required"},{"fix":"Install barectf via pip to automatically install dependencies, or run 'pip install PyYAML jsonschema'.","cause":"Missing dependencies when running barectf as a script.","error":"PyYAML or jsonschema not found; barectf requires these dependencies"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}