Skip to main content

A python API for making requests to DUPLA (Dataudvekslingsplatformen)

Project description

Project description

A Python API for DUPLA (Dataudvekslingsplatformen)

A list of the services available can be found here

Setup

For development python -m venv .venv

source .venv/bin/activate

pip install ".[test]"

Run tests: pytest tests/

Getting Started

Using pre-defined API endpoints

This package defines some endpoints which has some (limited) knowledge of the API schema used by SKAT. The classes are:

  • dupla.payload.KtrPayload
  • dupla.payload.LigPayload
  • dupla.payload.MomsPayload
  • dupla.payload.KtrObsPayload
  • dupla.payload.LonsumPayload
  • dupla.payload.SelskabSambeskatningPayload
  • dupla.payload.SelskabSelvangivelsePayload

Please c.f. the docs of the respective classes for more information on what each endpoint is for. Each payload model is a Pydantic model, so inputs are validated.

Using the base API

The base api access class can be used as following. In this example, we access the VAT (Moms in Danish) endpoint.

from datetime import date, timedelta
from uuid import uuid4
import dupla
from dupla import DuplaApiKeys

api = dupla.DuplaAccess(
    transaction_id=str(uuid4()),
    agreement_id="your-aftale-id-goes-here",
    pkcs12_filename="path-to-cert-file",
    pkcs12_password="goodpassword",
    billetautomat_url="https://oces.billetautomat.skat.dk/auth/realms/oces/certificates/cert",
    jwt_token_expiration_overlap=5
)

# lets see if this company (se_number 98765432) has done any VAT the last year
kwargs = {DuplaApiKeys.SE: ["98765432"],
          DuplaApiKeys.AFREGNING_START: date.today() - timedelta(days=365),
          DuplaApiKeys.AFREGNING_SLUT: date.today()}
payload = dupla.payload.MomsPayload(**kwargs)

data = api.get_data(payload)

print(data)

© ERST 2023

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

dupla-0.1.1.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

dupla-0.1.1-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file dupla-0.1.1.tar.gz.

File metadata

  • Download URL: dupla-0.1.1.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for dupla-0.1.1.tar.gz
Algorithm Hash digest
SHA256 141b9139b9033da67fa79bf97cde30284c6827f416d4d81c44b78e7fef1566a1
MD5 fe3870c664eff2f8d6bbf9a057a8855a
BLAKE2b-256 dde9cabfcfb00a87b05123bb2d1e4c892a29434a8b57de82fc3c69ab59f45811

See more details on using hashes here.

File details

Details for the file dupla-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dupla-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for dupla-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9d4e5271b85c3d63faeface891a302821699a0db9220cf910d4d0399f313c39d
MD5 408e839d6d5fb7ed674e016c7ae584aa
BLAKE2b-256 dcddb45e5cea61b5b2be1e76cb3b08a48436f6507359486931c59d45d98e95f5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page