Metadata-Version: 2.4
Name: buildgrid
Version: 0.2.36
Summary: A remote execution service
License: Apache License, Version 2.0
Project-URL: Homepage, https://buildgrid.build
Project-URL: Documentation, https://buildgrid.build
Project-URL: Repository, https://gitlab.com/BuildGrid/buildgrid
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: boto3
Requires-Dist: botocore
Requires-Dist: dnspython
Requires-Dist: grpcio-reflection>=1.62.0
Requires-Dist: grpcio-health-checking>=1.62.0
Requires-Dist: grpcio>=1.62.0
Requires-Dist: importlib-resources
Requires-Dist: janus>=0.6.2
Requires-Dist: jinja2
Requires-Dist: protobuf
Requires-Dist: alembic
Requires-Dist: Click
Requires-Dist: SQLAlchemy[mypy]>=2.0.44
Requires-Dist: pydantic>2.0
Requires-Dist: PyYAML>=6.0.1
Requires-Dist: jsonschema>=3.0.0
Requires-Dist: lark-parser
Requires-Dist: pycurl>=7.45.3
Requires-Dist: buildgrid-metering-client>=0.0.4
Requires-Dist: mmh3
Requires-Dist: cryptography
Requires-Dist: PyJWT
Requires-Dist: requests
Requires-Dist: sentry-sdk
Provides-Extra: database
Requires-Dist: psycopg2-binary; extra == "database"
Requires-Dist: psycopg>=3.2.10; extra == "database"
Provides-Extra: redis
Requires-Dist: fakeredis>=2.10.1; extra == "redis"
Requires-Dist: redis>=4.5.1; extra == "redis"
Requires-Dist: hiredis; extra == "redis"
Provides-Extra: docs
Requires-Dist: Sphinx; extra == "docs"
Requires-Dist: sphinx-click; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Requires-Dist: sphinxcontrib-apidoc; extra == "docs"
Provides-Extra: tests
Requires-Dist: coverage; extra == "tests"
Requires-Dist: cryptography>=38.0.0; extra == "tests"
Requires-Dist: flaky; extra == "tests"
Requires-Dist: flask; extra == "tests"
Requires-Dist: flask-cors; extra == "tests"
Requires-Dist: jwcrypto; extra == "tests"
Requires-Dist: moto<4.1.12; extra == "tests"
Requires-Dist: psutil; extra == "tests"
Requires-Dist: pycodestyle; extra == "tests"
Requires-Dist: pyopenssl>=22.0.0; extra == "tests"
Requires-Dist: pytest; extra == "tests"
Requires-Dist: pytest-cov; extra == "tests"
Requires-Dist: pytest-forked; extra == "tests"
Requires-Dist: pytest-pycodestyle; extra == "tests"
Requires-Dist: pytest-xdist; extra == "tests"
Requires-Dist: fakeredis>=2.10.1; extra == "tests"
Requires-Dist: redis>=4.5.1; extra == "tests"
Requires-Dist: pytest-postgresql>=7.0.2; extra == "tests"
Requires-Dist: psycopg2-binary; extra == "tests"
Requires-Dist: psycopg>=3.2.10; extra == "tests"
Provides-Extra: dev
Requires-Dist: flake8; extra == "dev"
Requires-Dist: pycodestyle; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-forked; extra == "dev"
Requires-Dist: pytest-pycodestyle; extra == "dev"
Requires-Dist: pytest-xdist; extra == "dev"
Requires-Dist: pip-tools; extra == "dev"
Requires-Dist: memray; extra == "dev"
Provides-Extra: mypy
Requires-Dist: mypy; extra == "mypy"
Requires-Dist: grpc-stubs>=1.53; extra == "mypy"
Requires-Dist: boto3-stubs; extra == "mypy"
Requires-Dist: mypy-boto3-s3; extra == "mypy"
Requires-Dist: types-aiofiles; extra == "mypy"
Requires-Dist: types-cachetools; extra == "mypy"
Requires-Dist: types-docutils; extra == "mypy"
Requires-Dist: types-jsonschema; extra == "mypy"
Requires-Dist: types-protobuf; extra == "mypy"
Requires-Dist: types-psycopg2; extra == "mypy"
Requires-Dist: psycopg>=3.2.10; extra == "mypy"
Requires-Dist: types-pycurl>=7.45.3.20240421; extra == "mypy"
Requires-Dist: types-Pygments; extra == "mypy"
Requires-Dist: types-pyOpenSSL; extra == "mypy"
Requires-Dist: types-python-dateutil; extra == "mypy"
Requires-Dist: types-pyyaml; extra == "mypy"
Requires-Dist: types-redis; extra == "mypy"
Requires-Dist: types-requests; extra == "mypy"
Requires-Dist: types-setuptools; extra == "mypy"
Requires-Dist: types-urllib3; extra == "mypy"
Provides-Extra: all
Requires-Dist: buildgrid[database,dev,docs,mypy,redis,tests]; extra == "all"
Dynamic: license-file

.. image:: https://gitlab.com/BuildGrid/buildgrid/badges/master/pipeline.svg
    :target: https://gitlab.com/BuildGrid/buildgrid/-/commits/master
    :alt: pipeline status

.. image:: https://gitlab.com/BuildGrid/buildgrid/badges/master/coverage.svg
    :target: https://gitlab.com/BuildGrid/buildgrid/-/commits/master
    :alt: coverage report

.. image:: https://gitlab.com/BuildGrid/buildgrid/-/badges/release.svg
    :target: https://gitlab.com/BuildGrid/buildgrid/-/releases
    :alt: coverage report


.. _about:

About
=====

.. _what-is-it:

What is BuildGrid?
------------------

BuildGrid is a Python remote execution service which implements Google's
`Remote Execution API`_ and the `Remote Workers API`_. The project's goal is to
be able to execute build jobs remotely on a grid of computers in order to
massively speed up build times. Workers on the grid should be able to run with
different environments. It works with clients such as `Bazel`_,
`BuildStream`_ and `RECC`_, and is designed to be able to work with any client
that conforms to the above API protocols.

BuildGrid is designed to work with any worker conforming to the `Remote Workers API`_
specification. Workers actually execute the jobs on the backend while BuildGrid does
the scheduling and storage. The `BuildBox`_ ecosystem provides a suite of workers and
sandboxing tools that work with the Workers API and can be used with BuildGrid.

.. _Remote Execution API: https://github.com/bazelbuild/remote-apis
.. _Remote Workers API: https://docs.google.com/document/d/1s_AzRRD2mdyktKUj2HWBn99rMg_3tcPvdjx3MPbFidU/edit#heading=h.1u2taqr2h940
.. _BuildStream: https://wiki.gnome.org/Projects/BuildStream
.. _Bazel: https://bazel.build
.. _RECC: https://gitlab.com/BuildGrid/buildbox/buildbox/-/tree/master/recc
.. _Trexe: https://gitlab.com/BuildGrid/buildbox/buildbox/-/tree/master/trexe
.. _BuildBox: https://buildgrid.gitlab.io/buildbox/buildbox-home/


.. _readme-getting-started:

Getting started
---------------

Please refer to the `documentation`_ for `installation`_ and `usage`_
instructions, plus guidelines for `contributing`_ to the project.

.. _contributing: https://buildgrid.build/developer/contributing.html
.. _documentation: https://buildgrid.build/
.. _installation: https://buildgrid.build/user/installation.html
.. _usage: https://buildgrid.build/user/using.html


.. _about-resources:

Resources
---------

- `Homepage`_
- `GitLab repository`_
- `Bug tracking`_
- `Slack channel`_ [`invite link`_]
- `FAQ`_

.. _Homepage: https://buildgrid.build/
.. _GitLab repository: https://gitlab.com/BuildGrid/buildgrid
.. _Bug tracking: https://gitlab.com/BuildGrid/buildgrid/boards
.. _Slack channel: https://buildteamworld.slack.com/messages/CC9MKC203
.. _invite link: https://join.slack.com/t/buildteamworld/shared_invite/zt-3gsdqj3z6-YTwI9ZWZxvE522Nl1TU8sw
.. _FAQ: https://buildgrid.build/user/faq.html
