Skip to main content

Unofficial Python client for Immich

Reason this release was yanked:

Project renamed to immichpy. Use pip install immichpy. This package is deprecated.

Project description

Immich API Client

Unofficial Python client for the Immich API.

Status

  • Unofficial: This project is not affiliated with or endorsed by the Immich project.
  • Auto-sync with Immich: The client is kept in automatic sync with the latest Immich release (generated/updated as upstream changes land).

Installation

You need Python 3.10–3.14 installed to be able to use this library.

Install the latest stable version from PyPI:

pip install immich

If you want the latest version (which may be a pre-release):

pip install --pre immich

Structure

This SDK is available as an asynchronous Python client:

  • AsyncClient — for async/await usage
from immich import AsyncClient

Authentication

Immich supports API keys. Create an API key in your Immich server, then pass it to the client via api_key=....

Basic usage

Asynchronous client

Recommended (context manager):

from immich import AsyncClient

async def main():
    async with AsyncClient(api_key="your-immich-api-key", base_url="http://localhost:2283/api") as client:
        # Call generated API methods here
        ...

Without a context manager:

import asyncio
from immich import AsyncClient

async def main():
    client = AsyncClient(api_key="your-immich-api-key", base_url="http://localhost:2283/api")
    try:
        ...
    finally:
        await client.close()

asyncio.run(main())

Session management

  • The async client can manage a shared aiohttp.ClientSession internally, or you can inject your own aiohttp.ClientSession via http_client=... (you then own its lifecycle).

Versioning

This package follows Semantic Versioning (SemVer).

  • Package version does NOT imply the supported Immich version: immich package X.Y.Z is the client’s own version, not an encoded Immich server version.
  • Upstream breaking changes ⇒ major bump: Breaking Immich API/upstream changes that require breaking client changes will result in a new major version of this package.
  • Supported Immich server version: IMMICH-VERSION (at the repository root) tracks the upstream Immich server version the generated client is built against.
    • If you run an older Immich server version, you can install an older immich package release where IMMICH-VERSION matches your server.
    • This client supports Immich v2.4.1 and above.

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

immich-1.0.0.tar.gz (182.5 kB view details)

Uploaded Source

Built Distribution

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

immich-1.0.0-py3-none-any.whl (574.6 kB view details)

Uploaded Python 3

File details

Details for the file immich-1.0.0.tar.gz.

File metadata

  • Download URL: immich-1.0.0.tar.gz
  • Upload date:
  • Size: 182.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for immich-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c54dce9f7f8f2be2ce2d099dc6fc8ab96ed7728c8e259a3121348b0cd737c97f
MD5 6d884e7044011848a20702a1125d6153
BLAKE2b-256 f3fe7d3752836e10409b4f6ff65d1407f153ab7b766c61fde1e1126720a7f17f

See more details on using hashes here.

Provenance

The following attestation bundles were made for immich-1.0.0.tar.gz:

Publisher: release.yml on timonrieger/immich-python-client

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

File details

Details for the file immich-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: immich-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 574.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for immich-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 734c3746ac1f8a4c595438ccf2124de53aaf13ca3804b8406dab113044c7619c
MD5 ec18e39e9d5e7108c783295d922d71dd
BLAKE2b-256 a7cede0ed09f58b8c02cecb41a99167e6cc3072acfc2455b0084e5317b6c768b

See more details on using hashes here.

Provenance

The following attestation bundles were made for immich-1.0.0-py3-none-any.whl:

Publisher: release.yml on timonrieger/immich-python-client

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