{"id":15640505,"url":"https://github.com/jimporter/bfg9000","last_synced_at":"2025-03-31T11:00:20.544Z","repository":{"id":27808300,"uuid":"31297691","full_name":"jimporter/bfg9000","owner":"jimporter","description":"bfg9000 - build file generator","archived":false,"fork":false,"pushed_at":"2025-03-16T02:02:53.000Z","size":7662,"stargazers_count":77,"open_issues_count":16,"forks_count":21,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T09:36:42.532Z","etag":null,"topics":["build-system","c","c-plus-plus","make","msbuild","ninja-build","python"],"latest_commit_sha":null,"homepage":"https://jimporter.github.io/bfg9000","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimporter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-25T04:47:12.000Z","updated_at":"2025-03-16T02:02:57.000Z","dependencies_parsed_at":"2024-06-21T04:18:43.660Z","dependency_job_id":"711ac73f-6b6e-4aa1-8b07-d9a61aa11da0","html_url":"https://github.com/jimporter/bfg9000","commit_stats":{"total_commits":1415,"total_committers":5,"mean_commits":283.0,"dds":0.2720848056537103,"last_synced_commit":"4a88df48766e9a24d6fdb71ed942d2348c81d7ae"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimporter%2Fbfg9000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimporter%2Fbfg9000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimporter%2Fbfg9000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimporter%2Fbfg9000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimporter","download_url":"https://codeload.github.com/jimporter/bfg9000/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246457967,"owners_count":20780676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-system","c","c-plus-plus","make","msbuild","ninja-build","python"],"created_at":"2024-10-03T11:36:14.796Z","updated_at":"2025-03-31T11:00:20.508Z","avatar_url":"https://github.com/jimporter.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bfg9000 - build file generator\n\n[![PyPi version][pypi-image]][pypi-link]\n[![Documentation][documentation-image]][documentation-link]\n[![Github build status][gh-actions-image]][gh-actions-link]\n[![Appveyor build status][appveyor-image]][appveyor-link]\n[![Coverage status][codecov-image]][codecov-link]\n\n**bfg9000** is a cross-platform *build configuration system* with an emphasis on\nmaking it easy to define how to build your software. It converts a Python-based\nbuild script into the appropriate files for your underlying build system of\nchoice (Ninja, Make, or MSBuild).\n\n## Why bfg9000?\n\n#### Familiar syntax\n\n`build.bfg` files are just Python scripts with some new functions added, so you\nmay already know how to write them; and when your build gets complicated, you\ncan rely on the existing Python ecosystem to get you out of trouble.\n\n#### Fast builds\n\nbfg9000 ensures your builds are fast by relying on existing, mature build\nsystems like Make and Ninja to do the heavy lifting of building your software;\noften, incremental builds don't need to execute bfg9000 at all!\n\n#### Stay sane\n\nBuilding your code shouldn't be the hard part of developing your project. Above\nall else, bfg9000 strives to help you get your build right the *first* time with\nmany helpful [features][features].\n\n## A brief example\n\nYou can't get much simpler than the simplest `build.bfg` file:\n\n```python\nexecutable('simple', files=['simple.cpp'])\n```\n\nTo build this executable, we need to create the actual build files and then\nrun them:\n\n```sh\n$ cd /path/to/src/\n$ 9k build/\n$ cd build/\n$ ninja\n```\n\nFrom there, you can run your newly-created executable: `./simple`. Hooray!\n\nFor further examples, please see the [`examples/`][examples] subdirectory.\n\n## Installation\n\nbfg9000 uses [setuptools][setuptools], so installation is much the same as any\nother Python package:\n\n```sh\n$ pip install bfg9000\n```\n\nFrom there, you can start using bfg to build your software! (If you're using\nUbuntu, you can also install bfg9000 from the following PPA:\n[ppa:jimporter/stable][ppa]). For more information about how to install bfg9000,\nsee the [documentation][getting-started].\n\n## License\n\nThis project is licensed under the [BSD 3-clause license](LICENSE).\n\n[pypi-image]: https://img.shields.io/pypi/v/bfg9000.svg\n[pypi-link]: https://pypi.python.org/pypi/bfg9000\n[documentation-image]: https://img.shields.io/badge/docs-bfg9000-blue.svg\n[documentation-link]: https://jimporter.github.io/bfg9000/\n[gh-actions-image]: https://github.com/jimporter/bfg9000/actions/workflows/build.yml/badge.svg\n[gh-actions-link]: https://github.com/jimporter/bfg9000/actions/workflows/build.yml?query=branch%3Amaster\n[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxvbggf6exq8i2k6/branch/master?svg=true\n[appveyor-link]: https://ci.appveyor.com/project/jimporter/bfg9000/branch/master\n[codecov-image]: https://codecov.io/gh/jimporter/bfg9000/branch/master/graph/badge.svg\n[codecov-link]: https://codecov.io/gh/jimporter/bfg9000\n\n[features]: https://jimporter.github.io/bfg9000/latest/user/features\n[examples]: https://github.com/jimporter/bfg9000/tree/master/examples\n[setuptools]: https://pythonhosted.org/setuptools/\n[ppa]: https://launchpad.net/~jimporter/+archive/ubuntu/stable\n[getting-started]: https://jimporter.github.io/bfg9000/latest/getting-started\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimporter%2Fbfg9000","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimporter%2Fbfg9000","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimporter%2Fbfg9000/lists"}