Skip to main content

logo of great-ai GreatAI

Prepare your prototype AI code for production deployment.

PyPI version Downloads Container image Check

Applying AI is becoming increasingly more accessible, but many case studies have shown that these applications are often deployed poorly. This may lead to suboptimal performance and to introducing unintended biases. GreatAI helps prepare prototype AI code for deployment with tracing, model versioning, and API scaffolding. These engineering features support oversight; they do not establish a model's accuracy, fairness, or trustworthiness, which require evaluation for the intended use case.

Example

With uv installed, create and activate a Python environment:

uv venv --python 3.13
source .venv/bin/activate
uv pip install great-ai

Create a new file called demo.py

from great_ai import GreatAI

@GreatAI.create
def greeter(name: str) -> str:
    return f"Hello {name}!"

Start it by executing great-ai demo.py, and find the dashboard at http://localhost:6060.

demo screen capture

That's it. Your GreatAI service is nearly ready for production use. Many of the SE4ML best practices are configured and implemented automatically (of course, these can be customised as well).

Before production, replace the default local TinyDB tracing database with a production-suitable backend, configure storage and deployment infrastructure, and review the remaining best practices for your use case.

Published documentation: Read the rendered guides, API reference, and notebooks. The files under docs/ use MkDocs features that repository previews may not render.

Why is this GREAT?

scope of GreatAI

GreatAI fits between the prototype and deployment phases of your AI development lifecycle. This is highlighted in blue in the diagram. Here, several best practices can be automatically implemented, aiming to achieve the following attributes:

  • General: use any Python library without restriction
  • Robust: have error-handling and well-tested utilities out-of-the-box
  • End-to-end: utilise end-to-end feedback as a built-in, first-class concept
  • Automated: focus only on what actually requires your attention
  • Trustworthy: support model assessment and oversight with traces and feedback; trustworthiness requires use-case-specific evaluation

Why GreatAI?

There are other existing solutions aiming to facilitate this phase. Amazon SageMaker and Seldon Core provide the most comprehensive suite of features. If you have the opportunity to use them, do that because they're great.

However, research indicates that professionals rarely use them. This may be due to their inherent setup and operational complexity. GreatAI is designed to be as simple to use as possible. Its straightforward, high-level API and sensible default configuration make it easy to start using. Despite its relative simplicity over Seldon Core, it still implements many of the SE4ML best practices, and thus, can meaningfully improve your deployment without requiring prohibitively great effort.

Learn more

Check out the full documentation here.

Find great-ai on PyPI

Requires Python 3.12 or later, including Python 3.13. With uv installed and your virtual environment active:

uv pip install great-ai

Find great-ai on Forgejo

docker run -p6060:6060 git.schmelczer.dev/andras/great-ai:latest

Contribute

Contributions are welcome.

Install for development

uv venv --seed --python 3.13 .env
source .env/bin/activate
uv pip install --editable '.[dev]'

Develop

scripts/format-python.sh great_ai docs tests

Format code.

python3 -m pytest --doctest-modules --asyncio-mode=strict .

Run tests.

mkdocs serve

Serve documentation.

Release

With git, python3, and uv installed, run from a clean main checkout:

scripts/release.sh 0.2.0

This bumps the version, builds, commits, tags, and pushes main and the tag atomically. The tag triggers the PyPI and Forgejo container publishing workflows, which require PYPI_TOKEN and DOCKER_PACKAGE_TOKEN in Forgejo Actions secrets. DOCKER_PACKAGE_TOKEN must belong to the repository owner and have write:package permission.

Container images are published only to git.schmelczer.dev/andras/great-ai for Linux AMD64 and ARM64. Stable release tags publish both vX.Y.Z and X.Y.Z, and update latest. Running the container workflow manually on main also updates latest.

Metadata

Release files for great-ai 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for great-ai 0.2.1
File Size Uploaded Provenance Actions
great_ai-0.2.1.tar.gz 275.5 kB Without provenance Details for great_ai-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for great-ai 0.2.1
File Interpreter ABI Platform Actions
great_ai-0.2.1-py3-none-any.whl Python 3 none any Details for great_ai-0.2.1-py3-none-any.whl

Total release size: 599.8 kB

Release files / great_ai-0.2.1.tar.gz

Download URL great_ai-0.2.1.tar.gz
Size 275.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6ebff84d023eb9da43df4d688a5e7eaaf76171b9189dd6aa2d0229c9f85799d0
BLAKE2b-256 checksum
How to use checksums
6e695b5a74f413cfb41eaa8b991de474f08786238e1f12c89e13e01775f9932c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.34.2

Release files / great_ai-0.2.1-py3-none-any.whl

Download URL great_ai-0.2.1-py3-none-any.whl
Size 324.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a376315ff120e023a3108e22937b2c055cf3fafbbe24d2f5db0cfe1f8c4838a
BLAKE2b-256 checksum
How to use checksums
121d452ab772cb1f1b1e3ef7dfa4403b963eb87fb1fb2a7dbeb6c4327d33130f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.34.2

Security for great-ai 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page