Skip to main content

Python bindings and ORM for the Tweede Kamer OData API

Project description

tkapi

PyPI version CI/CD status
Python ORM and bindings for the Tweede Kamer Open Data Portaal OData API.

A pure Python interface for the Tweede Kamer API with type annotations for easy data model discovery.

Requires Python 3.5+.

Please create an issue if you have any problems, questions or suggestions.

Installation

pip install tkapi

Data model

See Open Kamer Data Model documentation for the data model that is mapped to Python classes.

Usage

A simple first example,

import tkapi

api = tkapi.TKApi()
personen = api.get_personen(max_items=100)
for persoon in personen:
    print(persoon.achternaam)

For more examples see the examples and tests.

Entities

See Tweede Kamer documentation for details.

Algemeen Persoon Fractie Commissie
Activiteit Persoon Fractie Commissie
ActiviteitActor PersoonContactinformatie FractieZetel CommissieContactinformatie
Agendapunt PersoonFunctie FractieZetelPersoon CommissieZetel
Besluit PersoonGeschenk FractieZetelVacature CommissieZetelVastPersoon
Document PersoonLoopbaan FractieZetelVacature CommissieZetelVastVacature
DocumentActor PersoonNevenfunctie CommissieZetelVervangerPersoon
DocumentVersie PersoonNevenfunctieInkomsten CommissieZetelVervangerVacature
Kamerstukdossier PersoonOnderwijs
Reservering PersoonReis
Stemming
Vergadering
Verslag
Zaak
ZaakActor
Zaal

Development

Tests

Run all tests,

pytest

Coverage report

Run all tests,

coverage run -m unittest discover

Create coverage report,

coverage html

Then visit htmlcov/index.html in your browser.

Publishing

This project uses Python packaging with pyproject.toml. To publish a new version to PyPI:

  1. Install build tools (if not already installed):

    pip install build twine
    
  2. Update the version in pyproject.toml:

    version = "X.Y.Z"
    
  3. Build the package:

    python -m build
    

    This will create distribution files in the dist/ directory.

  4. Test the build locally (optional but recommended):

    pip install dist/tkapi-X.Y.Z-py3-none-any.whl
    
  5. Upload to Test PyPI (optional, for testing):

    twine upload --repository-url https://test.pypi.org/legacy/ dist/*
    
  6. Upload to PyPI:

    twine upload dist/*
    

    You'll need PyPI credentials (username and password/token). You can create an API token at https://pypi.org/manage/account/token/

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

tkapi-0.9.10.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

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

tkapi-0.9.10-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file tkapi-0.9.10.tar.gz.

File metadata

  • Download URL: tkapi-0.9.10.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tkapi-0.9.10.tar.gz
Algorithm Hash digest
SHA256 8a1bf229e9baa16bd29bc6c41c03017ed1b7a88b165de6988a9a75b6bc7e4e41
MD5 57052e6f4d987c41df943e8403dc3fbf
BLAKE2b-256 5b4228c947141b642370632a6db833213e716bc81ecd9af68e3641d45fe8cefb

See more details on using hashes here.

File details

Details for the file tkapi-0.9.10-py3-none-any.whl.

File metadata

  • Download URL: tkapi-0.9.10-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tkapi-0.9.10-py3-none-any.whl
Algorithm Hash digest
SHA256 913a2408d9c065cab1314a5ede9201b111702a8d5eda7cfbb6f5eec666062f7b
MD5 acdb820cc88d697d209d38b760eab808
BLAKE2b-256 42ee7411b956d0b163a6edaaefc3c798f54bdc75ce8c063f9172fe38c4b38ddc

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