Skip to main content

Software Development Kit to interact with Globant Enterprise AI.

Project description

PyGEAI - SDK for Globant Enterprise AI

PyGEAI is a Software Development Kit (SDK) for interacting with Globant Enterprise AI. It comprises libraries, tools, code samples, and documentation to simplify your experience with the platform.

Terms and conditions

By using the Python SDK to interact with Globant Enterprise AI, you agree with the following Terms and Conditions:

Terms and Conditions

Compatibility

This package is compatible with the Globant Enterprise AI release from February 2026.

Configuration

The SDK supports two authentication methods: API Key authentication and OAuth 2.0 authentication.

API Key Authentication

Before using the SDK with API Key authentication, you need to define GEAI_API_KEY and GEAI_API_BASE_URL. You can achieve this in three ways:

  • Environment variables: Set GEAI_API_KEY and GEAI_API_BASE_URL as environment variables in your operating system.
  • Credentials file: Create a file named credentials in the .geai directory within your user home directory ($USER_HOME/.geai/credentials) and define GEAI_API_KEY and GEAI_API_BASE_URL within this file.
  • Client instantiation: Specify the api_key and base_url parameters directly when creating an instance of a client class.

OAuth 2.0 Authentication

For OAuth 2.0 authentication, you need to define:

  • GEAI_OAUTH_ACCESS_TOKEN - Your OAuth 2.0 access token
  • GEAI_PROJECT_ID - Your project ID (required with OAuth)
  • GEAI_API_BASE_URL - Base URL for the API
  • GEAI_ORGANIZATION_ID - (Optional) Your organization ID

These can be configured via environment variables, credentials file, or client instantiation.

Note: If you plan to use the Evaluation Module, you must also define GEAI_API_EVAL_URL

Credentials file

The credentials file is organized via profiles (aliases), so one can interact with different instances of Globant Enterprise AI by just referencing which profile one wishes to use. This also applies to different levels of permissions.

The structure of the credentials file is as follows:

API Key Authentication:

[default]
geai_api_key = <API_TOKEN>
geai_api_base_url = <GEAI_BASE_URL>
geai_api_eval_url = <GEAI_EVALUATION_MODULE_URL>

[production]
geai_api_key = <API_TOKEN>
geai_api_base_url = <GEAI_BASE_URL>

OAuth 2.0 Authentication:

[oauth-profile]
geai_oauth_access_token = <OAUTH_ACCESS_TOKEN>
geai_project_id = <PROJECT_ID>
geai_api_base_url = <GEAI_BASE_URL>
geai_organization_id = <ORGANIZATION_ID>  # Optional

Advanced Configuration

Custom SSL Certificates (Advanced Users):

For enterprise environments with self-signed certificates or custom Certificate Authorities, you can configure a custom SSL certificate path per profile:

[corporate]
geai_api_key = <API_TOKEN>
geai_api_base_url = <GEAI_BASE_URL>
geai_ssl_cert_path = /etc/ssl/certs/company-ca.pem

You can also set this via the CLI:

geai configure --profile-alias corporate --ssl-cert-path /etc/ssl/certs/company-ca.pem

Or via environment variable for the default profile:

export GEAI_SSL_CERT_PATH=/etc/ssl/certs/company-ca.pem

Note: This setting provides a custom CA bundle for SSL verification. It does NOT disable SSL verification - it validates using your custom certificate instead of system defaults.

Using Profiles

After setting the profiles, one can use them with the --alias option, for example:

geai --alias test llm list-providers

Modules

The SDK consists of several modules, all accessible through a single package pygeai:

Usage

Install PyGEAI

Use pip to install the package from PyPI:

(venv) ~$ pip install pygeai

To install pre-release versions, you can run:

(venv) ~$ pip install --pre pygeai

Verify installation

To check the installed PyGEAI version, run:

(venv) ~$ geai v

View help

To access the general help menu:

(venv) ~$ geai h

To view help for a specific command:

(venv) ~$ geai <command> h

Getting Started with Templates

PyGEAI includes a powerful template system for generating production-ready AI projects. Generate complete applications with best practices built-in:

# List available templates
(venv) ~$ geai generate list

# Create a RAG assistant project
(venv) ~$ geai generate create --template rag-basic --name my_rag

# Create a Lab agent with tools
(venv) ~$ geai generate create --template lab-agent-tools --name my_agent

# Create a multi-agent system
(venv) ~$ geai generate create --template lab-multi-agent --name content_team

# Create a REST API server
(venv) ~$ geai generate create --template api-server --name my_api

# Create a Gradio web UI
(venv) ~$ geai generate create --template web-ui-gradio --name my_ui

Available Templates:

  • rag-basic - RAG assistant with document knowledge
  • chat-rag-streaming - Interactive streaming chat for RAG
  • lab-agent-basic - Basic AI Lab agent
  • lab-agent-tools - Lab agent with custom tools
  • chat-agent-streaming - Interactive agent chat
  • chat-flow-streaming - Interactive process/flow chat
  • lab-process-basic - Agentic workflow process
  • lab-multi-agent - Multi-agent orchestration system
  • api-server - FastAPI REST server
  • web-ui-gradio - Gradio web interface

Each generated project includes complete documentation, example code, and follow-up instructions. See the Templates Documentation for detailed usage guides.

Debugger

The pygeai-dbg package provides a command-line debugger (geai-dbg) for troubleshooting and inspecting the geai CLI. It pauses execution at breakpoints, allowing you to inspect variables, execute Python code, and control program flow interactively.

To debug a geai command, replace geai with geai-dbg. For example:

(venv) ~$ geai-dbg ail lrs

This pauses at the main function in pygeai.cli.geai, displaying an interactive prompt (geai-dbg). You can then use commands like continue (resume), run (run without pauses), quit (exit), or help (list commands).

Man Pages Documentation

The package includes Unix manual pages (man pages) for detailed command-line documentation.

To install man pages locally:

geai-install-man

To install man pages system-wide:

sudo geai-install-man --system

To access the man pages:

man geai

Setting up Man Pages Access

If you're using a virtual environment, you'll need to configure your system to find the man pages. Add the following to your shell configuration file (.bashrc, .zshrc, etc.):

# For macOS
if [ -n "$VIRTUAL_ENV" ]; then
    export MANPATH="$VIRTUAL_ENV/share/man:$MANPATH"
fi

# For Linux
if [ -n "$VIRTUAL_ENV" ]; then
    export MANPATH="$VIRTUAL_ENV/man:$MANPATH"
fi

After adding this configuration:

  1. Reload your shell configuration: source ~/.bashrc or source ~/.zshrc
  2. The man pages will be available when your virtual environment is active

Bugs and suggestions

To report any bug, request features or make any suggestions, the following email is available:

geai-sdk@globant.com

Authors

Copyright 2025, Globant. All rights reserved

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygeai-0.7.0b21.tar.gz (843.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygeai-0.7.0b21-py3-none-any.whl (990.4 kB view details)

Uploaded Python 3

File details

Details for the file pygeai-0.7.0b21.tar.gz.

File metadata

  • Download URL: pygeai-0.7.0b21.tar.gz
  • Upload date:
  • Size: 843.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pygeai-0.7.0b21.tar.gz
Algorithm Hash digest
SHA256 4d89a2d4bad3b09b79be0ee668e602eda988cc0d2a9de2df99dfb8cb9939b6e7
MD5 c9b7cb381e6bbdaab6e364c481d83aa9
BLAKE2b-256 fd9657dc6cb27189012a3b6c2f3edac817a8b78f808a5b6cec1f92f21b8f0e3b

See more details on using hashes here.

File details

Details for the file pygeai-0.7.0b21-py3-none-any.whl.

File metadata

  • Download URL: pygeai-0.7.0b21-py3-none-any.whl
  • Upload date:
  • Size: 990.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pygeai-0.7.0b21-py3-none-any.whl
Algorithm Hash digest
SHA256 1515db37bbee7ad700d3be6e3ec0213e6f168e5f52fea19ea1b7aec4cd499589
MD5 fc6046d1e63892031074193e3b7084aa
BLAKE2b-256 8aeae9341e11e7898d048306c0047853f4971d9b004fbbca6a33fe233bf27c98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page