twenty/packages/twenty-tinybird
Ana Sofia Marin Alexandre 8ef4efa0f5
add twenty-tinybird package (#8030)
https://github.com/twentyhq/private-issues/issues/75

**TLDR**

Add twenty-server package, wich contains the last tinybird datasources
and pipes used in analytics.

This new version of the API endpoints, pipes and datasources are
inspired by the implementation of dub.co
(https://github.com/dubinc/dub/blob/main/packages/tinybird/).

It contains the webhooks analytics, serverless functions duration and
serverless functions error count analytics. As well as


**In order to test**

- Follow the instructions in the README.md on twenty-tinybird using your
admin token from twenty_analytics_playground if you want to modify them.
- For a better experience add the extension Tinybird support for VsCode 
- If you want more info about datasources and pipes please read the
tinybird docs.

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-10-29 10:31:05 +01:00
..
datasources add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
includes add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
pipes add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
scripts add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
tests add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
.gitignore add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
.tinyenv add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
README.md add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00
requirements.txt add twenty-tinybird package (#8030) 2024-10-29 10:31:05 +01:00

How to use

Create a virtual enviroment and install tinybird

python3 -m venv .venv
source .venv/bin/activate
pip install tinybird-cli

Authenticate using your admin token from your workspace (twenty_analytics_cli_playground)

tb auth -i

** List of available regions:
[1] us-east4 (gcp) (https://app.us-east.tinybird.co)
[2] europe-west3 (gcp) (https://app.tinybird.co/gcp/europe-west3)
[3] us-east-1 (aws) (https://app.tinybird.co/aws/us-east-1)
[4] us-west-2 (aws) (https://app.tinybird.co/aws/us-west-2)
[5] eu-central-1 (aws) (https://app.tinybird.co/aws/eu-central-1) <- this
[0] Cancel

Use region [5]:
Copy the "admin your@email" token from from https://app.tinybird.co/tokens and paste it here: <pasted Token>
** Auth successful!
** Configuration written to .tinyb file, consider adding it to .gitignore

To sync your changes to Tinybird use:

tb push --force --push-deps

To pull data from Tinybird use:

tb pull

Things I learned:

  • When creating Materialied Views think about populating it first using the files from the fixtures
  • When pushing your pipes prefer to push one by one so you can have more coherent error messages
  • The Include files will be nodes that will be added at the start of your node in Tinybird UI
  • It's best to stick only with only the CLI or the UI when developping in Tinybird
  • If you want to format the data us the tb fmt command, perhaps we can add it to the linter in a next pull request.