Skip to main content

Diavgeia API Client

A Python wrapper for the Diavgeia Open Data API

Table of Contents

Features

Makes easy to:

  • Fetch:
    1. decisions (and their version log)
    2. organizations (with their respective:
      1. units like "ΓΡΑΦΕΙΟ ΑΝΤΙΔΗΜΑΡΧΟΥ",
      2. positions, like "Προϊστάμενος Διεύθυνσης", "Δήμαρχος", etc.
      3. specific signers
    3. types (of government actions, like "ΠΡΑΞΕΙΣ ΚΑΝΟΝΙΣΤΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ", "ΠΡΑΞΕΙΣ ΟΙΚΟΝΟΜΙΚΟΥ ΠΕΡΙΕΧΟΜΕΝΟΥ", etc.),
    4. dictionaries where various unique id's are explained, for example:
      1. "uid": "FEKTYPES" --> "label": "Τύποι τευχών ΦΕΚ"
  • Search decisions using advanced criteria (like issue date - Ημερομηνία έκδοσης- or signer - Κωδικός υπογράφοντα -) and their combinations (both a specific signer and a specific date range)

Installation

pip install diavgeia-api

Usage

Overview

As is described in an example, right now there are these methods:

Available methods:
- get_a_decision: Return a specific decision's details.
- get_a_decisions_specific_version: Returns details of a specific version of a decision.
- get_a_decisions_version_log: Returns details of a specific version of a decision.
- get_a_types_details: Returns details of a type.
- get_a_types_summary: Returns a summary of a specific type.
- get_all_types: Returns all existing types.
- get_dictionaries: Return the list of available dictionaries.
- get_dictionary: Return all items for a specific dictionary.
- get_organization: Returns details of a specific organization.
- get_organization_positions: Returns positions of a specific organization.
- get_organization_signers: Returns signers of a specific organization.
- get_organization_units: Returns units of a specific organization.
- get_organizations: Returns a list of registered organizations.
- search_advanced: Search for decisions with advanced query syntax.
- search_decisions: Search for decisions with simple parameters.

Examples

This package includes several examples to help you get started:

You can find all examples in the examples folder.

Decisions

from diavgeia_api import DiavgeiaClient

# Initialize client
client = DiavgeiaClient()

decision = client.get_a_decision("Ψ11446ΜΓΨ7-ΠΚΛ")
print(f"Subject: {decision.subject}")
print(f"Organization: {decision.organization.label}")
print(f"Decision date: {decision.issue_date}")

Organizations

# Organizations example
organizations = client.get_organizations()
for org in organizations.organizations[:5]:
    print(f"{org.label} ({org.uid})")

Types

# Types example
types = client.get_all_types()
for type_item in types.types[:5]:
    print(f"{type_item.label} ({type_item.uid})")

# Get details for a specific type
type_details = client.get_a_types_details("Β.1.3")
print(f"Type: {type_details.label}")
print(f"Description: {type_details.description}")

Dictionaries

# Dictionaries example
dictionaries = client.get_dictionaries()
print("Available dictionaries:")
for dictionary in dictionaries.dictionaries[:5]:
    print(f"- {dictionary.label} (ID: {dictionary.uid})")

# Get items from a specific dictionary
org_category_dict = client.get_dictionary("ORG_CATEGORY")
print("\nOrganization categories:")
for item in org_category_dict.items[:5]:
    print(f"- {item.label} (ID: {item.uid})")

Search

# Simple search example
search_results = client.search_decisions(
    term="προμήθεια υπολογιστών",
    date_from="2023-01-01",
    date_to="2023-12-31"
)

print(f"Found {search_results.info.total} decisions")
for decision in search_results.decisions[:3]:
    print(f"- {decision.subject[:50]}... (ΑΔΑ: {decision.ada})")

# Advanced search example
advanced_search = client.search_advanced(
    q="subject:(προμήθεια υπολογιστών) AND issueDate:[2023-01-01 TO 2023-12-31] AND organizationUid:6321",
    sort="issueDate:desc"
)

print(f"\nAdvanced search found {advanced_search.info.total} decisions")
for decision in advanced_search.decisions[:3]:
    print(f"- {decision.subject[:50]}... (ΑΔΑ: {decision.ada})")
    

Testing

This project uses pytest for testing. To run the tests:

# Install development dependencies
poetry install --with dev

# Run the tests
poetry run pytest

# Run with coverage report
poetry run pytest --cov=diavgeia_api

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Release files for diavgeia-api 0.0.4

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

Source distribution (sdist)

Source distribution for diavgeia-api 0.0.4
File Size Uploaded
diavgeia_api-0.0.4.tar.gz 12.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for diavgeia-api 0.0.4
File Interpreter ABI Platform
diavgeia_api-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 27.9 kB

Release files / diavgeia_api-0.0.4.tar.gz

Download URL diavgeia_api-0.0.4.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
60982c033e8de023720b154096ad0010046bd31668c27218d7be8f75faa3804d
BLAKE2b-256 checksum
How to use checksums
d06c7992d1f66ff9443b92ee3a20d87c4b6afbf38d27a7b140bc465b90e34c09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Windows/11

Release files / diavgeia_api-0.0.4-py3-none-any.whl

Download URL diavgeia_api-0.0.4-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d07ecfa7d3aa783b3042d755c9205a56283e37bdd2daa90637c06d406cac92c1
BLAKE2b-256 checksum
How to use checksums
30cc143f2443d861fc4d314b31347ef12c6222088b40e46319556cc68a8f4f79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.8 Windows/11

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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