bfg9000


Namebfg9000 JSON
Version 0.7.1 PyPI version JSON
download
home_pagehttps://jimporter.github.io/bfg9000/
SummaryA cross-platform build file generator
upload_time2023-05-26 23:27:13
maintainer
docs_urlNone
authorJim Porter
requires_python>=3.6
licenseBSD-3-Clause
keywords build file generator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # bfg9000 - build file generator
**bfg9000** is a cross-platform *build configuration system* with an emphasis on
making it easy to define how to build your software. It converts a Python-based
build script into the appropriate files for your underlying build system of
choice (Ninja, Make, or MSBuild).

## Why bfg9000?

#### Familiar syntax

`build.bfg` files are just Python scripts with some new functions added, so you
may already know how to write them; and when your build gets complicated, you
can rely on the existing Python ecosystem to get you out of trouble.

#### Fast builds

bfg9000 ensures your builds are fast by relying on existing, mature build
systems like Make and Ninja to do the heavy lifting of building your software;
often, incremental builds don't need to execute bfg9000 at all!

#### Stay sane

Building your code shouldn't be the hard part of developing your project. Above
all else, bfg9000 strives to help you get your build right the *first* time with
many helpful [features][features].

## A brief example

You can't get much simpler than the simplest `build.bfg` file:

```python
executable('simple', files=['simple.cpp'])
```

To build this executable, we need to create the actual build files and then
run them:

```sh
$ cd /path/to/src/
$ 9k build/
$ cd build/
$ ninja
```

From there, you can run your newly-created executable: `./simple`. Hooray!

For further examples, please see the [`examples/`][examples] subdirectory.

## Installation

bfg9000 uses [setuptools][setuptools], so installation is much the same as any
other Python package:

```sh
$ pip install bfg9000
```

From there, you can start using bfg to build your software! (If you're using
Ubuntu, you can also install bfg9000 from the following PPA:
[ppa:jimporter/stable][ppa]). For more information about how to install bfg9000,
see the [documentation][getting-started].

## License

This project is licensed under the [BSD 3-clause license](LICENSE).

[pypi-image]: https://img.shields.io/pypi/v/bfg9000.svg
[pypi-link]: https://pypi.python.org/pypi/bfg9000
[documentation-image]: https://img.shields.io/badge/docs-bfg9000-blue.svg
[documentation-link]: https://jimporter.github.io/bfg9000/
[gh-actions-image]: https://github.com/jimporter/bfg9000/workflows/build/badge.svg
[gh-actions-link]: https://github.com/jimporter/bfg9000/actions?query=branch%3Amaster+workflow%3Abuild
[appveyor-image]: https://ci.appveyor.com/api/projects/status/hxvbggf6exq8i2k6/branch/master?svg=true
[appveyor-link]: https://ci.appveyor.com/project/jimporter/bfg9000/branch/master
[codecov-image]: https://codecov.io/gh/jimporter/bfg9000/branch/master/graph/badge.svg
[codecov-link]: https://codecov.io/gh/jimporter/bfg9000

[features]: https://jimporter.github.io/bfg9000/latest/user/features
[examples]: https://github.com/jimporter/bfg9000/tree/master/examples
[setuptools]: https://pythonhosted.org/setuptools/
[ppa]: https://launchpad.net/~jimporter/+archive/ubuntu/stable
[getting-started]: https://jimporter.github.io/bfg9000/latest/getting-started



            

Raw data

            {
    "_id": null,
    "home_page": "https://jimporter.github.io/bfg9000/",
    "name": "bfg9000",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "build file generator",
    "author": "Jim Porter",
    "author_email": "itsjimporter@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/66/72/16e6864e2f239cb322ce79ac10159936869a6b6874727e47640937e9a3e6/bfg9000-0.7.1.tar.gz",
    "platform": null,
    "description": "# bfg9000 - build file generator\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/workflows/build/badge.svg\n[gh-actions-link]: https://github.com/jimporter/bfg9000/actions?query=branch%3Amaster+workflow%3Abuild\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\n\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "A cross-platform build file generator",
    "version": "0.7.1",
    "project_urls": {
        "Homepage": "https://jimporter.github.io/bfg9000/"
    },
    "split_keywords": [
        "build",
        "file",
        "generator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e9c538d772e07c831a54a53a1619acbf10ac444945f7323c907164c6fd7f4ac4",
                "md5": "78b7cee6f142a53190013a9e045d180b",
                "sha256": "3c6eedb56c0c800dc8e003e64f83fd1e65e367f800b50dc0b0d7a8a039231acc"
            },
            "downloads": -1,
            "filename": "bfg9000-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "78b7cee6f142a53190013a9e045d180b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 159322,
            "upload_time": "2023-05-26T23:27:10",
            "upload_time_iso_8601": "2023-05-26T23:27:10.474471Z",
            "url": "https://files.pythonhosted.org/packages/e9/c5/38d772e07c831a54a53a1619acbf10ac444945f7323c907164c6fd7f4ac4/bfg9000-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "667216e6864e2f239cb322ce79ac10159936869a6b6874727e47640937e9a3e6",
                "md5": "b13916ff8d28b59f98dcfa992a93c095",
                "sha256": "d10597806bdb3565a141afdd7a9ed34c749fde27aa9b52868c65655f06c69b26"
            },
            "downloads": -1,
            "filename": "bfg9000-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b13916ff8d28b59f98dcfa992a93c095",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 126269,
            "upload_time": "2023-05-26T23:27:13",
            "upload_time_iso_8601": "2023-05-26T23:27:13.061999Z",
            "url": "https://files.pythonhosted.org/packages/66/72/16e6864e2f239cb322ce79ac10159936869a6b6874727e47640937e9a3e6/bfg9000-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-26 23:27:13",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "bfg9000"
}
        
Elapsed time: 0.08784s