bigfunctions is a free, open source data warehousing & processing project written in Python and released under MIT. It has 759 GitHub stars, 70 forks and 31 open issues, and was last pushed 27 days ago. On this registry it ranks #10 of 11 tracked projects in Data Warehousing & Processing, with 5 head-to-head comparisons available.

What is bigfunctions?

BigFunctions is an open-source Python framework, released under the MIT licence, for building a governed catalog of BigQuery functions — packaged with a community library of more than 150 functions that can be called directly or redeployed — and it is aimed at data engineers, analysts, and teams working inside Google BigQuery.

What it is

BigFunctions is a framework for building a governed catalog of BigQuery functions to supercharge BigQuery. Alongside the framework, the project ships more than 150 functions built by the community, which can either be called directly without any installation or redeployed into a catalog of your own. The repository is written in Python, carries the MIT licence, and sits in the data and analytics space under data warehousing and processing; the project page lives at unytics.io/bigfunctions, and the repository holds 759 stars, 70 forks, and 31 open issues.

The concrete problem it addresses is the gap between what SQL can express natively in BigQuery and the advanced work data teams need to do. BigFunctions allows any advanced data task — load, transform, or take actions — to be performed by running SQL commands in BigQuery, rather than by maintaining logic outside the warehouse. Every function is described by a YAML file in the bigfunctions folder, so the catalog is explicit, versioned, and deployable instead of being an informal collection of definitions scattered across projects. All BigFunctions represented by a YAML file in that folder are deployed in public datasets, which means the same definitions that document a function are also the artefact that puts it into service.

Key capabilities

  • A governed catalog of BigQuery functions, defined one file per function as YAML, for example bigfunctions/my_bigfunction.yaml.
  • More than 150 community-built functions, callable directly with no install from public datasets.
  • Public invocation from your own GCP project without deployment, for example select bigfunctions.eu.faker("name", "it_IT").
  • Deployment of any individual function into your own GCP project with the bigfun command: bigfun deploy my_bigfunction.
  • Support for advanced data tasks — load, transform, and take actions — performed by running SQL commands in BigQuery.
  • Redeployment of community functions into your own catalog rather than a shared one.
  • Community contribution paths: a new-bigfunction issue template, general issue templates, pull requests against the contributing instructions, and a project Slack.

Who uses it and how

  • BigQuery users on a GCP project who want advanced capability immediately call the public datasets directly, with no install step and no deployment.
  • Teams that need control over ownership and governance deploy individual functions into their own GCP project, so the function definitions live in their catalog.
  • Data engineers and analysts who want load, transform, and action steps expressed as SQL in BigQuery rather than as separate processing outside the warehouse.
  • Contributors add functions upstream through the dedicated new-function issue template and pull requests, extending the shared public set for everyone else.

Getting started

The README offers two paths: call a public function straight from your GCP project, for example select bigfunctions.eu.faker("name", "it_IT"), or deploy a function defined in bigfunctions/my_bigfunction.yaml into your own project by running bigfun deploy my_bigfunction.

How it compares

The facts provided name no comparable or competing tools, and no list of paid products that this project replaces, so BigFunctions stands alone in this registry as the only entry of its kind. It should be judged on its own terms: an MIT-licensed, self-deployed catalog framework for BigQuery functions rather than a hosted service or a closed vendor product.

When to use it — and when not to

Choose it when your data platform is Google BigQuery and you want reusable, governed functions deployed into your own GCP project, or when you want to reach for community functions without deploying anything at all. A team self-hosting its catalog takes on the work of writing and maintaining the YAML definitions and of deploying them into a GCP project, and there is no hosted or managed option described here. It is not a fit for warehouses other than BigQuery, and anyone needing extensive documentation up front should note that the README excerpt is brief, that the deeper guidance sits on the project site, and that the repository currently carries 31 open issues.

project readme (upstream, from github) — read inline

logo_and_name

Supercharge BigQuery with BigFunctions



🔍️ 1. Supercharge BigQuery with BigFunctions

  1. BigFunctions is a framework to build a governed catalog of BigQuery functions to supercharge BigQuery.
  2. It also comes with 150+ functions built by the community that you can call directly (no install) or redeploy in YOUR catalog.
  3. You can now perform any advanced data task, be it load, transform or take actions by running SQL commands in BigQuery.

Learn more >


👀 2. Call public BigFunctions without install from your GCP project

All BigFunctions represented by a 'yaml' file in bigfunctions folder are deployed in public datasets. You can then call them directly without install from your BigQuery project.

Give it a try! Execute this SQL query from your GCP Project 👀:

select bigfunctions.eu.faker("name", "it_IT")

Explore open BigFunctions >


🚀 3. Deploy BigFunctions in your GCP project

You can also deploy any bigfunction in your project! To deploy my_bigfunction defined in bigfunctions/my_bigfunction.yaml file, simply call:

bigfun deploy my_bigfunction

Discover the framework >


👋 4. Contribute

BigFunctions is fully open-source. Any contribution is more than welcome 🤗!


Contributors

Frequently asked questions

Is bigfunctions free to use?

bigfunctions is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does bigfunctions do?

Supercharge BigQuery with BigFunctions

What is bigfunctions written in?

bigfunctions is primarily written in Python. Its source is publicly available at https://github.com/unytics/bigfunctions, and it has 759 GitHub stars.