Skip to content

Releases: unytics/bigfunctions

v0.22

03 Mar 22:35
21cc6f0
Compare
Choose a tag to compare
v0.22 Pre-release
Pre-release

bigfun test creates necessary folder if not exists

v0.21

03 Mar 21:46
Compare
Choose a tag to compare
replace setup.py by pyproject.toml

v0.20

03 Mar 20:01
Compare
Choose a tag to compare

Added github action for automatic publish on pypi and release creation

v0.19

03 Mar 10:57
Compare
Choose a tag to compare

Improvements:

  • create_temp_dataset in python functions will give dataEditor role to function caller instead of custom bigfunctions role so that anyone can deploy it (useful for load_saas_data, etc)

v0.18

03 Mar 09:53
Compare
Choose a tag to compare

Fix

  • fix quota management when only one of param is defined.

Features

  • when you put yaml type in function argument for a python function, it will be automatically parsed from string to object before the function code is executed

v0.17

03 Mar 08:15
Compare
Choose a tag to compare

Default Dockerfile fix

Use pip when uv is not available to install python dependencies

v0.16

28 Feb 16:10
Compare
Choose a tag to compare

Features

This release brings two important features:

Secret encryption/decryption in function arguments

In order not to pass secrets in plain text in function arguments,
bigfunctions provides a mechanism to encrypt a secret on the documentation page of a function (for example here).
Only the given function will be able to decrypt it for the given users.

For this to work you need to:

  1. Generate a key pair for encryption / decryption by running bigfun config generate-key-pair-for-secrets.
    • The public key (used for encryption on the website) will be stored in your config.yaml and used when you generate your website.
    • The private key (used for decryption by the function) will be printed on the console
  2. Store the private key in a secret named bigfunctions_private_key in the Google Secret Manager{ target="_blank" } of the project where you deploy the function.
  3. Give to the service account of the function Secret Accessor role to the private key.

The deployed function will automatically download the private key and decrypt any encrypted secret in arguments tagged as secrets (and check secrets were encrypted for this function and for the user who calls it).

This documentation is available in FAQ of Framework page

Persistent cache

It is now possible to use a persistent cache (backed by firestore in datastore mode) in any function.

Usage is as simple as:

cache.get(key)
cache.set(key, value)

You can see an example in exchange_rate function code

v0.15

25 Feb 09:57
Compare
Choose a tag to compare

Secrets in function arguments

  • encryption system was added in the framework to encrypt function arguments when needed.
  • secrets are encrypted by user in the documentation website. Only the correspondig function can decrypt the secret for given users.
  • documentation on this will come in v0.16.

Fixes

  • fix to handle windows filenames paths

default docker image of python functions

  • default docker image is uv python image.
  • uv is used to install python dependencies instead of pip

Default cloud run params

  • max instances 20 instead of 10

yaml format

  • added hide_in_doc field in yaml to hide a function in documentation website (in search and page listing functions)
  • When you add {SECRET_ENCRYPTER} in yaml description, it will be replaced by documentation to encrypt secrets.

docs

  • people.yaml in docs folder
  • remove unytics/bigfunctions website overrides from bigfun to put them in docs folder to avoid pollluting the framework with documentation only needed in unytics/bigfunctions website.
  • do not use repo readme as website home page anymore but docs/index.md

v0.14: Doc Generation Revisited

08 Nov 10:00
Compare
Choose a tag to compare

BREAKING CHANGES

The documentations generation mecanism CHANGED for the page listing bigfunctions.

BEFORE

  • We used to define bigfunctions categories in each bigfunction yaml file
  • The categories to show in the page listing bigfunctions were loaded from mkdocs.yml config.

NOW

  • There is no category field in bigfunction yaml file anymore
  • The bigfunctions yaml files can be put in subfolders.
  • These subfolders are like the old categories, they enable to group functions
  • By default, all subfolders are included in the page listing bigfunctions
  • You can configure this in the front matter of bigfunctions/README.md.

v0.13

06 Nov 15:30
Compare
Choose a tag to compare

Enabled the possiblity to put functions in subfolders