Skip to main content

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

Metadata

Release files for criipto-signatures 2.0.0

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

Source distribution (sdist)

Source distribution for criipto-signatures 2.0.0
File Size Uploaded Provenance
criipto_signatures-2.0.0.tar.gz 546.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for criipto-signatures 2.0.0
File Interpreter ABI Platform
criipto_signatures-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / criipto_signatures-2.0.0.tar.gz

Download URL criipto_signatures-2.0.0.tar.gz
Size 546.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cc68373034b61b0110bfd54976332cacd7663a600f699a58da012f1ca44d63ac
BLAKE2b-256 checksum
How to use checksums
576160e342a2d0dcf6a9032669ecd9e182e53394d094f7124926d3e0d7859ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.8.5

Release files / criipto_signatures-2.0.0-py3-none-any.whl

Download URL criipto_signatures-2.0.0-py3-none-any.whl
Size 549.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
973cef9fd748715e1cd23a2ea5372638a0820e00132e36ab21163bb1b3c003cb
BLAKE2b-256 checksum
How to use checksums
65ff8abd09f70f5a31a35f23d5fd01c08a5a6ae868f3f6ba856bf91058fd428f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.8.5

Security for criipto-signatures 2.0.0

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