BuildStream


NameBuildStream JSON
Version 2.2.0 PyPI version JSON
download
home_pagehttps://buildstream.build
SummaryA framework for modelling build pipelines in YAML
upload_time2024-04-22 16:05:00
maintainerNone
docs_urlNone
authorThe Apache Software Foundation
requires_python~=3.7
licenseApache License Version 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ..
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

About
-----

.. image:: https://docs.buildstream.build/master/_static/release.svg
   :target: https://docs.buildstream.build/master/_static/release.html

.. image:: https://img.shields.io/github/workflow/status/apache/buildstream/Merge%20actions
   :alt: GitHub Workflow Status
   :target: https://github.com/apache/buildstream/actions/workflows/merge.yml

.. image:: https://img.shields.io/pypi/v/BuildStream.svg
   :target: https://pypi.org/project/BuildStream


What is BuildStream?
====================
`BuildStream <https://buildstream.build>`_ is a powerful software integration tool that allows
developers to automate the integration of software components including operating systems, and to
streamline the software development and production process.

Some key capabilities of BuildStream include:

* Defining software stacks in a declarative format: BuildStream allows users to define the steps
  required to build and integrate software components, including fetching source code and building
  dependencies.
* Integrating with version control systems: BuildStream can be configured to fetch source code from
  popular source code management solutions such as GitLab, GitHub, BitBucket as well as a range of
  non-git technologies.
* Supporting a wide range of build technologies: BuildStream supports a wide range of technologies,
  including key programming languages like C, C++, Python, Rust and Java, as well as many build tools
  including Make, CMake, Meson, distutils, pip and others.
* Ability to create outputs in a range of formats: e.g. debian packages, flatpak runtimes, sysroots,
  system images, for multiple platforms and chipsets.
* Flexible architecture: BuildStream is designed to be flexible and extensible, allowing users to
  customize their build and integration processes to meet their specific needs and tooling.
* Enabling fast and reliable software delivery: By extensibly use of sandboxing techniques and by
  its capability to distribute the build, BuildStream helps teams deliver high-quality software faster.


Why should I use BuildStream?
=============================
BuildStream offers the following advantages:

* **Declarative build instructions/definitions**

  BuildStream provides a flexible and extensible framework for the modelling
  of software build pipelines in a declarative YAML format, which allows you to
  manipulate filesystem data in a controlled, reproducible sandboxed environment.

* **Support for developer and integrator workflows**

  BuildStream provides traceability and reproducibility for integrators handling
  stacks of hundreds/thousands of components, as well as workspace features and
  shortcuts to minimise cycle-time for developers.

* **Fast and predictable**

  BuildStream can cache previous builds and track changes to source file content
  and build/config commands. BuildStream only rebuilds the things that have changed.

* **Extensible**

  You can extend BuildStream to support your favourite build-system.

* **Bootstrap toolchains and bootable systems**

  BuildStream can create full systems and complete toolchains from scratch, for
  a range of ISAs including x86_32, x86_64, ARMv7, ARMv8, MIPS.


How do I use BuildStream?
=========================
Please refer to the `documentation <https://docs.buildstream.build>`_
for  information about installing BuildStream, and about the BuildStream YAML format
and plugin options.


How does BuildStream work?
==========================
BuildStream operates on a set of YAML files (.bst files), as follows:

* Loads the YAML files which describe the target(s) and all dependencies.
* Evaluates the version information and build instructions to calculate a build
  graph for the target(s) and all dependencies and unique cache-keys for each
  element.
* Retrieves previously built elements (artifacts) from a local/remote cache, or
  builds the elements in a sandboxed environment using the instructions declared
  in the .bst files.
* Transforms/configures and/or deploys the resulting target(s) based on the
  instructions declared in the .bst files.


How can I get started?
======================
To get started, first `install BuildStream by following the installation guide
<https://buildstream.build/install.html>`_
and then follow our tutorial in the
`user guide <https://docs.buildstream.build/master/main_using.html>`_.

We also recommend exploring some existing BuildStream projects:

* https://gitlab.gnome.org/GNOME/gnome-build-meta/
* https://gitlab.com/freedesktop-sdk/freedesktop-sdk
* https://gitlab.com/baserock/definitions

If you have any questions please ask on our `#buildstream <irc://irc.gnome.org/buildstream>`_ channel in `irc.gnome.org <irc://irc.gnome.org>`_

            

Raw data

            {
    "_id": null,
    "home_page": "https://buildstream.build",
    "name": "BuildStream",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "The Apache Software Foundation",
    "author_email": "dev@buildstream.apache.org",
    "download_url": "https://files.pythonhosted.org/packages/59/72/f2e8ec91f4773b0fc01f7cec03b1ac0297347f45cfe2799479353d697272/buildstream-2.2.0.tar.gz",
    "platform": null,
    "description": "..\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\nAbout\n-----\n\n.. image:: https://docs.buildstream.build/master/_static/release.svg\n   :target: https://docs.buildstream.build/master/_static/release.html\n\n.. image:: https://img.shields.io/github/workflow/status/apache/buildstream/Merge%20actions\n   :alt: GitHub Workflow Status\n   :target: https://github.com/apache/buildstream/actions/workflows/merge.yml\n\n.. image:: https://img.shields.io/pypi/v/BuildStream.svg\n   :target: https://pypi.org/project/BuildStream\n\n\nWhat is BuildStream?\n====================\n`BuildStream <https://buildstream.build>`_ is a powerful software integration tool that allows\ndevelopers to automate the integration of software components including operating systems, and to\nstreamline the software development and production process.\n\nSome key capabilities of BuildStream include:\n\n* Defining software stacks in a declarative format: BuildStream allows users to define the steps\n  required to build and integrate software components, including fetching source code and building\n  dependencies.\n* Integrating with version control systems: BuildStream can be configured to fetch source code from\n  popular source code management solutions such as GitLab, GitHub, BitBucket as well as a range of\n  non-git technologies.\n* Supporting a wide range of build technologies: BuildStream supports a wide range of technologies,\n  including key programming languages like C, C++, Python, Rust and Java, as well as many build tools\n  including Make, CMake, Meson, distutils, pip and others.\n* Ability to create outputs in a range of formats: e.g. debian packages, flatpak runtimes, sysroots,\n  system images, for multiple platforms and chipsets.\n* Flexible architecture: BuildStream is designed to be flexible and extensible, allowing users to\n  customize their build and integration processes to meet their specific needs and tooling.\n* Enabling fast and reliable software delivery: By extensibly use of sandboxing techniques and by\n  its capability to distribute the build, BuildStream helps teams deliver high-quality software faster.\n\n\nWhy should I use BuildStream?\n=============================\nBuildStream offers the following advantages:\n\n* **Declarative build instructions/definitions**\n\n  BuildStream provides a flexible and extensible framework for the modelling\n  of software build pipelines in a declarative YAML format, which allows you to\n  manipulate filesystem data in a controlled, reproducible sandboxed environment.\n\n* **Support for developer and integrator workflows**\n\n  BuildStream provides traceability and reproducibility for integrators handling\n  stacks of hundreds/thousands of components, as well as workspace features and\n  shortcuts to minimise cycle-time for developers.\n\n* **Fast and predictable**\n\n  BuildStream can cache previous builds and track changes to source file content\n  and build/config commands. BuildStream only rebuilds the things that have changed.\n\n* **Extensible**\n\n  You can extend BuildStream to support your favourite build-system.\n\n* **Bootstrap toolchains and bootable systems**\n\n  BuildStream can create full systems and complete toolchains from scratch, for\n  a range of ISAs including x86_32, x86_64, ARMv7, ARMv8, MIPS.\n\n\nHow do I use BuildStream?\n=========================\nPlease refer to the `documentation <https://docs.buildstream.build>`_\nfor  information about installing BuildStream, and about the BuildStream YAML format\nand plugin options.\n\n\nHow does BuildStream work?\n==========================\nBuildStream operates on a set of YAML files (.bst files), as follows:\n\n* Loads the YAML files which describe the target(s) and all dependencies.\n* Evaluates the version information and build instructions to calculate a build\n  graph for the target(s) and all dependencies and unique cache-keys for each\n  element.\n* Retrieves previously built elements (artifacts) from a local/remote cache, or\n  builds the elements in a sandboxed environment using the instructions declared\n  in the .bst files.\n* Transforms/configures and/or deploys the resulting target(s) based on the\n  instructions declared in the .bst files.\n\n\nHow can I get started?\n======================\nTo get started, first `install BuildStream by following the installation guide\n<https://buildstream.build/install.html>`_\nand then follow our tutorial in the\n`user guide <https://docs.buildstream.build/master/main_using.html>`_.\n\nWe also recommend exploring some existing BuildStream projects:\n\n* https://gitlab.gnome.org/GNOME/gnome-build-meta/\n* https://gitlab.com/freedesktop-sdk/freedesktop-sdk\n* https://gitlab.com/baserock/definitions\n\nIf you have any questions please ask on our `#buildstream <irc://irc.gnome.org/buildstream>`_ channel in `irc.gnome.org <irc://irc.gnome.org>`_\n",
    "bugtrack_url": null,
    "license": "Apache License Version 2.0",
    "summary": "A framework for modelling build pipelines in YAML",
    "version": "2.2.0",
    "project_urls": {
        "Documentation": "https://docs.buildstream.build",
        "Homepage": "https://buildstream.build",
        "Mailing List": "https://lists.apache.org/list.html?dev@buildstream.apache.org",
        "Source": "https://github.com/apache/buildstream",
        "Tracker": "https://github.com/apache/buildstream/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "691f15e52b423117853fa9fb918d02e7ddeac7e652019782e10a81dddf623067",
                "md5": "3beec5b12464eb7bf40d391c7cba860f",
                "sha256": "712f18a56c95a0adc30c2e33c5dc12827f2860160f35ab84da5a32bd61e77136"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3beec5b12464eb7bf40d391c7cba860f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "~=3.7",
            "size": 22813841,
            "upload_time": "2024-04-22T16:04:41",
            "upload_time_iso_8601": "2024-04-22T16:04:41.115646Z",
            "url": "https://files.pythonhosted.org/packages/69/1f/15e52b423117853fa9fb918d02e7ddeac7e652019782e10a81dddf623067/BuildStream-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9304cb402095633eaa19d0ef0b15267eae87ec597960fa5fda86425eebfc5419",
                "md5": "a3d4ebc9b21f185a8d7596ee044cdb86",
                "sha256": "553a20a2883ed8468153c2554729e48efebcffb41046acb9e89525ff4040cd51"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a3d4ebc9b21f185a8d7596ee044cdb86",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "~=3.7",
            "size": 23051193,
            "upload_time": "2024-04-22T16:04:44",
            "upload_time_iso_8601": "2024-04-22T16:04:44.641630Z",
            "url": "https://files.pythonhosted.org/packages/93/04/cb402095633eaa19d0ef0b15267eae87ec597960fa5fda86425eebfc5419/BuildStream-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "42152cffb13b341c5a1a5ba209fb580b697d97351076a30e5f9d6683bcf42098",
                "md5": "2c52d3218e33e0e08b469705ac73e278",
                "sha256": "20e5e57fb57265dc621f7e81588e45e8b9eaabd62b93375a730f69c4e7b5e354"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2c52d3218e33e0e08b469705ac73e278",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "~=3.7",
            "size": 22973309,
            "upload_time": "2024-04-22T16:04:47",
            "upload_time_iso_8601": "2024-04-22T16:04:47.687965Z",
            "url": "https://files.pythonhosted.org/packages/42/15/2cffb13b341c5a1a5ba209fb580b697d97351076a30e5f9d6683bcf42098/BuildStream-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99607941ba4c072f5f1ed374778ee862e7ec037ae3000b1aebe7f43059e9c170",
                "md5": "a18ee464265594e47e037654054b96fc",
                "sha256": "3cdaa510fa67de65bea08f803d4094b6681b7270bd2b91d508219996ba42cf0d"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a18ee464265594e47e037654054b96fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": "~=3.7",
            "size": 22618985,
            "upload_time": "2024-04-22T16:04:50",
            "upload_time_iso_8601": "2024-04-22T16:04:50.807521Z",
            "url": "https://files.pythonhosted.org/packages/99/60/7941ba4c072f5f1ed374778ee862e7ec037ae3000b1aebe7f43059e9c170/BuildStream-2.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29213146b8ed038a84c35810c878f5328aadf14d59b3e86ed71362b170463bfd",
                "md5": "0c1755ebee6ea7d29517003da1d4c9fc",
                "sha256": "0c65ad6ebad6d7e1bc87610ecfd8ed6c3997caa098840aa23f2b097c0743b136"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0c1755ebee6ea7d29517003da1d4c9fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "~=3.7",
            "size": 22902074,
            "upload_time": "2024-04-22T16:04:54",
            "upload_time_iso_8601": "2024-04-22T16:04:54.250057Z",
            "url": "https://files.pythonhosted.org/packages/29/21/3146b8ed038a84c35810c878f5328aadf14d59b3e86ed71362b170463bfd/BuildStream-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6c7b793c04902bd86c811e716a026b11656b73812e84286f09616052a76df9a",
                "md5": "c13fbee58e2844428fcde6a3f024a1d5",
                "sha256": "d068736df18e3bf88c22cc7bab3455f6028e26d4c8fc766fa825bf86738dcdd7"
            },
            "downloads": -1,
            "filename": "BuildStream-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c13fbee58e2844428fcde6a3f024a1d5",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "~=3.7",
            "size": 22821083,
            "upload_time": "2024-04-22T16:04:57",
            "upload_time_iso_8601": "2024-04-22T16:04:57.260864Z",
            "url": "https://files.pythonhosted.org/packages/e6/c7/b793c04902bd86c811e716a026b11656b73812e84286f09616052a76df9a/BuildStream-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5972f2e8ec91f4773b0fc01f7cec03b1ac0297347f45cfe2799479353d697272",
                "md5": "6f2d6a2bedb7d3fcd637fa90659e81d3",
                "sha256": "75bbf1e9a5600a479f13dd2056c3621fc62f32f7f4b75ae7690a059c5527e1e6"
            },
            "downloads": -1,
            "filename": "buildstream-2.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6f2d6a2bedb7d3fcd637fa90659e81d3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.7",
            "size": 2316129,
            "upload_time": "2024-04-22T16:05:00",
            "upload_time_iso_8601": "2024-04-22T16:05:00.140327Z",
            "url": "https://files.pythonhosted.org/packages/59/72/f2e8ec91f4773b0fc01f7cec03b1ac0297347f45cfe2799479353d697272/buildstream-2.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-22 16:05:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "apache",
    "github_project": "buildstream",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "buildstream"
}
        
Elapsed time: 0.27449s