Skip to main content

Python API client for MiViA (Microstructure Analysis)

Project description

MiViA Python Client

Python API client for MiViA (Microstructure Analysis).

Installation

pip install -e .

Configuration

Set your API key as environment variable:

export MIVIA_API_KEY="your-api-key"
export MIVIA_BASE_URL="https://app.mivia.ai/api"  # optional, default

Usage

Async Client

import asyncio
from mivia import MiviaClient

async def main():
    async with MiviaClient() as client:
        # List models
        models = await client.list_models()
        print(f"Models: {[m.display_name for m in models]}")

        # High-level: analyze images
        jobs = await client.analyze(
            file_paths=["image1.png", "image2.png"],
            model_id=models[0].id,
            wait=True,
        )

        for job in jobs:
            print(f"Job {job.id}: {job.status}")

        # Download report
        await client.download_pdf(
            job_ids=[j.id for j in jobs],
            output_path="report.pdf",
        )

asyncio.run(main())

Sync Client

from mivia import SyncMiviaClient

client = SyncMiviaClient()

# List models
models = client.list_models()

# Get customizations for a model
customizations = client.get_model_customizations(models[0].id)

# Upload and analyze with customization
jobs = client.analyze(
    file_paths=["image.png"],
    model_id=models[0].id,
    customization_id=customizations[0].id if customizations else None,
)

# Download report
client.download_csv(
    job_ids=[j.id for j in jobs],
    output_path="report.zip",
)

CLI

# List models
mivia models

# List customizations for a model
mivia customizations MODEL_UUID

# Upload images
mivia upload image1.png image2.png

# Analyze (upload + run + wait)
mivia analyze image.png --model MODEL_UUID

# Analyze with customization (by name or UUID)
mivia analyze image.png --model MODEL_UUID --customization "Template Name"

# List available customizations for analyze
mivia analyze --model MODEL_UUID --list-customizations

# List jobs
mivia jobs list

# Get job details
mivia jobs get JOB_UUID

# Wait for jobs
mivia jobs wait JOB_UUID1 JOB_UUID2

# Download PDF report
mivia report pdf JOB_UUID -o report.pdf

# Download CSV report
mivia report csv JOB_UUID -o report.zip --no-images

# Show config
mivia config

API Reference

MiviaClient

Method Description
upload_image(path) Upload single image
upload_images(paths) Upload multiple images
list_images() List uploaded images
delete_image(id) Delete image
list_models() List available models
get_model_customizations(id) Get model customizations
create_jobs(image_ids, model_id) Create computation jobs
get_job(id) Get job details with results
list_jobs() List jobs with pagination
wait_for_job(id) Poll until job completes
wait_for_jobs(ids) Wait for multiple jobs
download_pdf(job_ids, path) Download PDF report
download_csv(job_ids, path) Download CSV report
analyze(paths, model_id) High-level: upload + run + wait

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

mivia-0.1.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

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

mivia-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file mivia-0.1.0.tar.gz.

File metadata

  • Download URL: mivia-0.1.0.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mivia-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7bc5ff7e1bfbe055d13fdf0780413b94bdd6c633216571dc3dec2d4b4321be67
MD5 f1db2f81931559ce44c2598b3bcf7b68
BLAKE2b-256 79bf25bbc5929df8b347b338d6503c744c64be29c72122e0dd46a18c56cbe704

See more details on using hashes here.

File details

Details for the file mivia-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mivia-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mivia-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 406b49830dbe20d0b56e15bbac5f9ff9edcec380d0d977153b4eb929a482d6da
MD5 04ccd4ed7b91c3488533d5e822d09027
BLAKE2b-256 23f58dc82c47fdabaf5e30023d74658d52d323ee4518f35427bbc8bf26494f25

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