Skip to main content

Python client for Louie.ai (Graphistry's AI investigation platform)

Project description

LouieAI Python Client

CI PyPI Version License

AI-powered investigation platform for natural language data analysis.

https://github.com/user-attachments/assets/de73f7b3-2862-4298-b9d8-2d38426ab255

Video: Louie <> Graphistry - Python edition!

🚀 Get Started in 30 Seconds

# 1. Install
# pip install louieai

# 2. Authenticate with your PyGraphistry server
import graphistry
graphistry.register(
    api=3,
    server="hub.graphistry.com",  # or your enterprise server
    username="bob@company.com",   # your actual username
    password="<your-password>"    # your actual password
)

# 3. Start analyzing with natural language
from louieai.notebook import lui
lui("Show me all suspicious transactions from the last week")

# 4. Access the results
print(lui.text)  # Natural language explanation
df = lui.df      # Pandas DataFrame with the data

Install & Authenticate

pip install louieai

Authentication

LouieAI uses PyGraphistry for authentication. You'll need a free account:

  1. Get PyGraphistry credentials at hub.graphistry.com (free signup)
  2. Set environment variables or authenticate in code:
# Option 1: Environment variables (recommended for notebooks/scripts)
export GRAPHISTRY_USERNAME="sarah@analytics.com"
export GRAPHISTRY_PASSWORD="Analytics2024!"
export GRAPHISTRY_SERVER="hub.graphistry.com"  # or "my-company.graphistry.com"

# Optional: Custom Louie endpoint (defaults to https://louie.ai)
export LOUIE_URL="https://louie-enterprise.company.com"
# Option 2: Authenticate in code
import graphistry
graphistry.register(
    api=3, 
    server="hub.graphistry.com",  # or your enterprise server
    username="mike@investigations.org", 
    password="password123"  # example password
)

# Optional: Use custom Louie server
from louieai import LouieClient
client = LouieClient(
    server_url="https://louie.ai",  # Louie service endpoint (default)
    server="hub.graphistry.com"      # PyGraphistry server (default)
)

Quick Start

# First, authenticate with your PyGraphistry server
import graphistry
graphistry.register(
    api=3,
    server="hub.graphistry.com",  # or your private server
    username="alice@example.com",
    password="password123"  # example password
)

# Now import and use LouieAI (two options)

# Option 1: New clean import (recommended)
import louieai
lui = louieai()  # Automatically uses PyGraphistry auth

# Option 2: Traditional import
from louieai.notebook import lui

# Ask questions in natural language  
lui("Find accounts sharing payment methods or shipping addresses")

# Get fraud insights instantly
print(lui.text)
# Output: "Found 23 suspicious account clusters sharing payment/shipping details:
# 
# **Payment Card Sharing**:
# • Card ending 4789: Used by 8 different accounts in 3 days
# • Card ending 2156: 5 accounts, all created within same hour
# 
# **Address Clustering**:
# • 123 Oak St: 12 accounts using same shipping address
# • suspicious_email@temp.com: 7 accounts with similar email patterns
# 
# **Risk Assessment**: 67% likely promotional abuse, 23% payment fraud"

# Access the connection data
clusters_df = lui.df
if clusters_df is not None:
    print(clusters_df.head())
    #     account_id shared_payment shared_address  cluster_size  risk_score
    # 0   user_1234      card_4789    123_oak_st            12        7.2
    # 1   user_5678      card_4789    456_elm_ave            8        6.8  
    # 2   user_9012      card_2156    123_oak_st            5        8.1

Documentation

Links

Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

For developers: Check out DEVELOP.md for technical setup and development workflow.

License

Apache 2.0 - see LICENSE

Project details


Download files

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

Source Distribution

louieai-0.6.0.tar.gz (498.3 kB view details)

Uploaded Source

Built Distribution

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

louieai-0.6.0-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file louieai-0.6.0.tar.gz.

File metadata

  • Download URL: louieai-0.6.0.tar.gz
  • Upload date:
  • Size: 498.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for louieai-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a4e6571de649547cc2878ef24e8cc96b317df15be2b438629f44840e9f75334f
MD5 f573c4e6bb225776e4b0772b05264283
BLAKE2b-256 fa96c7e3ef125e14912108ff9fd046507fb4933c0ca5ef3335f79082304fe905

See more details on using hashes here.

Provenance

The following attestation bundles were made for louieai-0.6.0.tar.gz:

Publisher: publish.yml on graphistry/louie-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file louieai-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: louieai-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 45.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for louieai-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb4f5f4a5884a1432e608637159c61d1c4be48e15e4fb9214a29ddb2794a1e9f
MD5 026f170118f92fdea2366534aa9e8a34
BLAKE2b-256 7af2496dbed684446dff873e6f9b8c5cbe132d7c9dae148603457d2587efe2df

See more details on using hashes here.

Provenance

The following attestation bundles were made for louieai-0.6.0-py3-none-any.whl:

Publisher: publish.yml on graphistry/louie-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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