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.0.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.0-py3-none-any.whl (549.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: criipto_signatures-1.35.0.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.0.tar.gz
Algorithm Hash digest
SHA256 9be6f3ba70dbe9cf4d84bff066652691a7fd840dbf658db8522393143163ab5a
MD5 b0986ffc93445def173f3da64a7e345d
BLAKE2b-256 983e395099c2eb81da111d0e757842bac1774438747ef9c88632327050f10c01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for criipto_signatures-1.35.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f974413bdea605a1a887221253869863e0acbecfdbbd105c022ac2b3b57eea9a
MD5 398904826b13b8ffcc71e9c5aa3335f5
BLAKE2b-256 c279430da4394b264dd99ea2295a21ace24a34a8243abad965d155c90c1c4fd6

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