Skip to main content

A library for interacting with the Criipto signatures GraphQL API.

Project description

criipto-signatures

A python SDK for Criipto Signatures.

Sign PAdeS-LTA documents using MitID, BankID or any other eID supported by Criipto.

Examples

Getting started

Requirements

This library supports python 3.13 and later.

Installation

The SDK is available on PYPI:

python3 -m pip install criipto-signatures

Configure the SDK

The SDK is available in both a sync and an async version

from criipto_signatures import (
  CriiptoSignaturesSDKAsync,
  CriiptoSignaturesSDKSync,
)
asyncClient = CriiptoSignaturesSDKAsync(
    '{YOUR_CRIIPTO_CLIENT_ID}',
    '{YOUR_CRIIPTO_CLIENT_SECRET}'
)
syncClient = CriiptoSignaturesSDKSync(
    '{YOUR_CRIIPTO_CLIENT_ID}',
    '{YOUR_CRIIPTO_CLIENT_SECRET}'
)

Overriding the GraphQL endpoint

By default the SDK targets https://signatures.idura.app/v1/graphql. You can override the endpoint by passing an endpoint argument to either client:

from criipto_signatures import CriiptoSignaturesSDKAsync

client = CriiptoSignaturesSDKAsync(
    '{YOUR_CRIIPTO_CLIENT_ID}',
    '{YOUR_CRIIPTO_CLIENT_SECRET}',
    endpoint='https://signatures.idura.app/v1/graphql',
)

Basic example

from criipto_signatures import CriiptoSignaturesSDKAsync
from criipto_signatures.models import (
    CreateSignatureOrderInput,
    DocumentInput,
    PadesDocumentInput,
    DocumentStorageMode,
    AddSignatoryInput,
    CloseSignatureOrderInput,
)

client = CriiptoSignaturesSDKAsync(
    '{YOUR_CRIIPTO_CLIENT_ID}',
    '{YOUR_CRIIPTO_CLIENT_SECRET}'
)

# Create signature order
signatureOrder = await client.createSignatureOrder(
    CreateSignatureOrderInput(
        documents=[
            DocumentInput(
                pdf=PadesDocumentInput(
                    title="My document",
                    blob=data, # bytes object, or a base64 encoded string
                    storageMode=DocumentStorageMode.Temporary,
                )
            )
        ]
    )
)

# Add signatory to signature order
signatory = await client.addSignatory(
    AddSignatoryInput(
        signatureOrderId=signatureOrder.id
    )
)
print(signatory.href)

# ... Wait for the signatory to sign

# And close the order
await client.closeSignatureOrder(
    CloseSignatureOrderInput(
        signatureOrderId=signatureOrder.id,
        retainDocumentsForDays=1
    )
)

For a more complete example, see the example project

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

criipto_signatures-1.35.1.tar.gz (546.1 kB view details)

Uploaded Source

Built Distribution

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

criipto_signatures-1.35.1-py3-none-any.whl (549.1 kB view details)

Uploaded Python 3

File details

Details for the file criipto_signatures-1.35.1.tar.gz.

File metadata

  • Download URL: criipto_signatures-1.35.1.tar.gz
  • Upload date:
  • Size: 546.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.5

File hashes

Hashes for criipto_signatures-1.35.1.tar.gz
Algorithm Hash digest
SHA256 07282dc6818fbdc2f987b5ffa67b0310f156dc3787fd29d7ee9e71ed28f3c642
MD5 b75c12c2cd4f69a4434e291fe51347d3
BLAKE2b-256 d2f718bebda8e796a4c198af5af7dc80e6a9655d3d3e2a8cac61d6ae54340495

See more details on using hashes here.

File details

Details for the file criipto_signatures-1.35.1-py3-none-any.whl.

File metadata

File hashes

Hashes for criipto_signatures-1.35.1-py3-none-any.whl
Algorithm Hash digest
SHA256 18c2e19c03170cdc0237fecf1d87e23519e7d95bac9980772b77dcc2649a986d
MD5 6637134ba2d3dba4be480c643c069d97
BLAKE2b-256 1c03bfd1f4e1e2559b9b3237705d5fd46d715b7924e02711e79898a98166b90f

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