🔄Installation & requirements

Supported python versions, AWS credentials and more...

Currently babylog only supports streaming the data to AWS. If you are using GCP or another provider please get in touch with us at founders@babylonai.dev and we'll make sure to add it into the development pipeline.

Supported python versions

The babylog Python library is compatible with Python version 3.8 and above. It is recommended to use the latest version of Python for best performance and stability. If you are using an older version of Python, you may need to upgrade your Python installation in order to use babylog. You can check your Python version by running the command python --version in your command prompt or terminal.

Installation

To install babylog, simply run:

pip install babylog

Configuring AWS credentials

If you have the IAM credentials for your bucket ready, continue to Populating your config file. Otherwise follow the steps below.

To get your access key ID and secret access key

  1. Open the IAM console at https://console.aws.amazon.com/iam/

  2. On the navigation menu, choose Users.

  3. Choose your IAM user name (not the check box).

  4. Open the Security credentials tab, and then choose Create access key.

  5. To see the new access key, choose Show. Your credentials resemble the following:

    • Access key ID: AKIAIOSFODNN7EXAMPLE

    • Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Get your bucket name and region

You also need the name of your bucket and a slug of the region. Either create a new bucket or find the values for an existing bucket in your S3 console: https://s3.console.aws.amazon.com/s3/buckets

Make sure your IAM user has write access to the bucket, otherwise you will not be able to stream the data.

Populating your config file

You can set your AWS credentials in a babylog.config.yaml file to use them with the babylog library. Here is an example of how you might structure the file:

device:
  ip: 'DEVICE_IP'       # device ip to be used for tcp streaming (e.g. '127.0.0.1')
  port: DEVICE_PORT     # port number(int) for tcp streaming
  name: 'DEVICE_NAME'   # device name (e.g. 'device-1b2a')
  group: 'GROUP_NAME'   # group name (e.g. 'group-222X)'
data:
  interval: 3000        # ms between captures
  max_workers: 4        # max number of threads to be used for logging
S3_storage:
  aws_access_key_id: 'YOUR_ACCESS_KEY'
  aws_secret_access_key: 'YOUR_SECRET_KEY'
  bucket_name: 'YOUR_BUCKET_NAME'
  bucket_region: 'YOUR_BUCKET_REGION'

You can replace YOUR_ACCESS_KEY and YOUR_SECRET_KEY with the actual values of your credentials. Currently you need one file per streaming device. If you want to add more granularity, please consider opening a github issue.

We recommend keeping the config files locally for security purposes. Consider adding the file to your .gitignore.

YOUR_ACCESS_KEY, YOUR_SECRET_KEY are variables that contain your access key, and secret key. Note that the examples above do not have hard coded credentials. We do not recommend hard coding credentials in your source code.

Last updated