Metadata-Version: 2.4
Name: intellign-growth
Version: 0.2.0
Summary: Official Python SDK for Intellign Growth — connect meaningful product and business signals to Growth.
Author: Intellign LLC
License: Intellign Growth Python SDK
        Copyright © 2026 Intellign LLC. All rights reserved.
        
        This software and associated documentation are proprietary to Intellign LLC.
        
        Permission is granted to install and use this package solely for the purpose of integrating software with Intellign Growth, subject to any applicable Intellign terms, service terms, agreements, and usage policies.
        
        Except where expressly authorized in writing by Intellign LLC, you may not sell, sublicense, redistribute, republish, or offer this software as a standalone product or competing service; remove or alter proprietary notices; or represent that public availability of this package constitutes an open-source license.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, TO THE MAXIMUM EXTENT PERMITTED BY LAW.
        
        For Intellign Growth product information, visit https://growth.intellign.us.
        
Project-URL: Homepage, https://growth.intellign.us
Project-URL: Documentation, https://growth.intellign.us/docs/
Project-URL: Repository, https://github.com/intellign/intellign-growth
Project-URL: Examples, https://github.com/intellign/intellign_growth_examples
Project-URL: Issues, https://github.com/intellign/intellign-growth/issues
Keywords: intellign,growth,analytics,product-analytics,product-growth,events,customer-journey,conversion,python,kivy,sdk
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31
Dynamic: license-file

# intellign-growth

Official Python SDK for **Intellign Growth**.

> **Let your business tell you what it needs.**
>
> Connect meaningful product and business signals from Python servers, services, workers, and Kivy applications to the same Growth learning loop.

## Install

```bash
python3 -m pip install intellign-growth
```

## Python server quick start

Use a **server credential (`ig_sk_live_...`)** only from trusted server-side infrastructure.

```python
from intellign_growth import Growth

growth = Growth("ig_sk_live_...")

growth.track("purchase", {
    "product": "Studio Lamp",
    "value": 79,
    "currency": "USD"
})
```

## Kivy / distributed app quick start

Kivy applications are distributed clients. Use an **app-scoped client credential (`ig_ck_live_...`)**, not a server secret.

```python
from intellign_growth import Growth

growth = Growth(
    "ig_ck_live_...",
    app_id="com.yourcompany.app"
)

growth.track("product_view", {
    "product": "Studio Lamp",
    "value": 79
})
```

The `app_id` must match the application ID allowed by the client credential in Growth.

## Track business moments, not noise

A useful Growth integration describes meaningful movement through the product:

```text
product_view → add_to_cart → signup → purchase
```

```python
growth.track("add_to_cart", {
    "productId": "lamp_001",
    "value": 79,
    "currency": "USD"
})
```

Keep passwords, authentication tokens, payment credentials, private messages, and other sensitive content out of event properties.

## Identity

Every `Growth` instance has an anonymous ID. You may provide one explicitly when your application already maintains a stable anonymous identity:

```python
growth = Growth(
    "ig_sk_live_...",
    anonymous_id="visitor_123"
)
```

When the person becomes known:

```python
growth.identify("customer_123")
growth.track("signup", {"method": "email"})
```

Clear the known user association when appropriate:

```python
growth.reset()
```

`reset()` clears the identified user. It does not replace the instance's anonymous ID.

## `track()`

```python
result = growth.track("checkout_started", {
    "cartValue": 158,
    "itemCount": 2,
    "currency": "USD"
})
```

The SDK builds the Growth event envelope, adds SDK/version metadata, applies request timeouts, and performs bounded retries for retryable failures.

If delivery ultimately fails, `track()` raises `GrowthError` rather than pretending the event was accepted.

```python
from intellign_growth import Growth, GrowthError

try:
    growth.track("purchase", {"value": 79})
except GrowthError as error:
    print(f"Growth delivery failed: {error}")
```

Growth telemetry should complement your product. Do not make a customer's primary action depend on an analytics event succeeding.

## Configuration

```python
growth = Growth(
    key="ig_sk_live_...",
    endpoint="https://growth.intellign.us/api/events",
    anonymous_id="visitor_123",
    timeout=8,
    retries=2
)
```

For a distributed client, also provide `app_id` and use an `ig_ck_...` credential.

## Credentials

| Credential | Use | Safe location |
| --- | --- | --- |
| `ig_pk_live_...` | Web / JavaScript | Approved browser origins |
| `ig_ck_live_...` | Kivy / distributed clients | App/bundle/package-scoped clients |
| `ig_sk_live_...` | Trusted Python servers | Server-side secrets only |

**Never ship an `ig_sk_...` server credential inside a Kivy app, mobile/desktop binary, browser bundle, public repository, screenshot, or client-side environment file.**

## Frameworks and services

The server SDK can be used from trusted Python environments such as Django, Flask, FastAPI, background workers, jobs, and internal services. Keep one principle constant: server credentials stay on infrastructure you control.

For Kivy and other distributed Python applications, use an app-scoped client credential.

## Other platforms

The same Growth project can receive signals from Web/JavaScript, Flutter, Python/Kivy, trusted servers, and the REST API. They all feed the same Growth project and learning loop.

## Examples

Runnable examples for Python servers, Kivy, React, Flutter, Web, and REST:

https://github.com/intellign/intellign_growth_examples

## Product

Use the full Growth experience at:

https://growth.intellign.us

Growth discovers opportunity, learns from real product behavior, and helps a business understand what it needs next.

## License

Proprietary software. Copyright © 2026 Intellign LLC. All rights reserved. See `LICENSE` for the current package terms. Public availability on PyPI does not make this package open source.

Made in New York by **Intellign LLC**.
