{"id":26985,"library":"fbuild","title":"fbuild","description":"A platform-agnostic embedded build tool compatible with PlatformIO projects. Version 2.2.3 is the latest stable release. The project is actively maintained with a Rust core and Python CLI. Release cadence is irregular; check GitHub for updates.","status":"active","version":"2.2.3","language":"python","source_language":"en","source_url":"https://github.com/fmitchell/fbuild","tags":["embedded","build-system","platformio","rust","cli"],"install":[{"cmd":"pip install fbuild","lang":"bash","label":"pip install from PyPI"}],"dependencies":[{"reason":"Required for PlatformIO project compatibility when using fbuild with PlatformIO platforms","package":"platformio","optional":true}],"imports":[{"wrong":"from fbuild import FBuild","symbol":"Daemon","correct":"from fbuild import Daemon"},{"symbol":"connect_daemon","correct":"from fbuild import connect_daemon"},{"symbol":"AsyncDaemon","correct":"from fbuild import AsyncDaemon"}],"quickstart":{"code":"from fbuild import FBuild, FBuildConfig\n\nconfig = FBuildConfig(\n    project_dir='./my_project',\n    board='arduino_uno',\n    platform='atmelavr'\n)\n\nbuilder = FBuild(config)\nresult = builder.build()\nprint('Build succeeded:', result.success)","lang":"python","description":"Basic usage: configure and run an embedded build. Adjust board and platform to match your project."},"warnings":[{"fix":"Upgrade Python to 3.10 or later.","message":"Python 3.11+ requirement: fbuild 2.x requires Python >=3.10. Earlier Python versions (3.8, 3.9) are not supported.","severity":"breaking","affected_versions":"2.0.0 and later"},{"fix":"Use the standard platform: `win` or `linux` with appropriate config. Or switch to a different build system for freestanding targets.","message":"The `win_freestanding` and `linux_freestanding` platforms have been removed from fbuild 2.x. They were previously used for generating freestanding binaries.","severity":"deprecated","affected_versions":"2.0.0+"},{"fix":"Install a compiler (e.g., MinGW or MSVC) and ensure it's accessible.","message":"When using fbuild on Windows, make sure your build tools (like GCC or MSVC) are available in PATH. fbuild does not install compilers automatically.","severity":"gotcha","affected_versions":"all"},{"fix":"Port any necessary extra_script logic to fbuild's configuration or pre/post build hooks.","message":"If your PlatformIO project has custom `extra_scripts`, they might not run under fbuild. fbuild uses its own build process and may ignore PlatformIO's extra scripts.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `fbuild` instead of `fb` in scripts and documentation.","message":"The command-line tool `fbuild` was renamed from `fb` in version 2.0.0. The old `fb` command is no longer available.","severity":"deprecated","affected_versions":"2.0.0+"}],"env_vars":null,"search_vec":"'2.2.3':14 'activ':23 'agnost':5 'build':7,42 'build-system':41 'cadenc':33 'check':36 'cli':31,46 'compat':9 'core':28 'embed':6,40 'fbuild':1 'github':37 'irregular':35 'latest':17 'maintain':24 'platform':4 'platform-agnost':3 'platformio':11,44 'project':12,21 'python':30 'releas':19,32 'rust':27,45 'stabl':18 'system':43 'tool':8 'updat':39 'version':13","created_at":"2026-05-01T17:43:55.012380+00:00","updated_at":"2026-05-01T17:43:55.012380+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"fbuild","cli_version":"fbuild 2.2.3","type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/fbuild/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}