Skip to content

Die wichtigsten APIs Deutschlands in einem Python Paket.

License

Notifications You must be signed in to change notification settings

lukaspanni/deutschland

 
 

Repository files navigation

PyPI version deutschland GitHub license

Lint Publish Python 🐍 distributions 📦 to PyPI and TestPyPI Run Python 🐍 tests

Deutschland

A python package that gives you easy access to the most valuable datasets of Germany.

Installation

pip install deutschland

Development

For development poetry version >=1.2.0 is required.

Geographic data

Fetch information about streets, house numbers, building outlines, …

from deutschland.geo import Geo
geo = Geo()
# top_right and bottom_left coordinates
data = geo.fetch([52.530116236589244, 13.426532801586827],
                 [52.50876180448243, 13.359631043007212])
print(data.keys())
# dict_keys(['Adresse', 'Barrierenlinie', 'Bauwerksflaeche', 'Bauwerkslinie', 'Bauwerkspunkt', 'Besondere_Flaeche', 'Besondere_Linie', 'Besonderer_Punkt', 'Gebaeudeflaeche', 'Gebaeudepunkt', 'Gewaesserflaeche', 'Gewaesserlinie', 'Grenze_Linie', 'Historischer_Punkt', 'Siedlungsflaeche', 'Vegetationslinie', 'Verkehrsflaeche', 'Verkehrslinie', 'Verkehrspunkt', 'Hintergrund'])

print(data["Adresse"][0])
# {'geometry': {'type': 'Point', 'coordinates': (13.422642946243286, 52.51500157651358)}, 'properties': {'postleitzahl': '10179', 'ort': 'Berlin', 'ortsteil': 'Mitte', 'strasse': 'Holzmarktstraße', 'hausnummer': '55'}, 'id': 0, 'type': 'Feature'}

For the detailed documentation of this API see here

The data is provided by the AdV SmartMapping. The team consists of participants from the German state surveying offices, the Federal Agency for Cartography and Geodesy (BKG), the German Federal Armed Forces (Bundeswehr ZGeoBW) and third parties from research and education.

Company Data

Bundesanzeiger

Get financial reports for all german companies that are reporting to Bundesanzeiger. More

from deutschland.bundesanzeiger import Bundesanzeiger
ba = Bundesanzeiger()
# search term
data = ba.get_reports("Deutsche Bahn AG")
# returns a dictionary with all reports found as fulltext reports
print(data.keys())
# dict_keys(['Jahresabschluss zum Geschäftsjahr vom 01.01.2020 bis zum 31.12.2020', 'Konzernabschluss zum Geschäftsjahr vom 01.01.2020 bis zum 31.12.2020\nErgänzung der Veröffentlichung vom 04.06.2021',

Big thanks to Nico Duldhardt and Friedrich Schöne, who supported this implementation with their machine learning model.

Handelsregister

Fetch general company information about any company in the Handelsregister.

from deutschland.handelsregister import Handelsregister
hr = Handelsregister()
# search by keywords, see documentation for all available params
hr.search(keywords="Deutsche Bahn Aktiengesellschaft")
print(hr)

Consumer Protection Data

Lebensmittelwarnung

Get current product warnings provided by the german federal portal lebensmittelwarnung.de.

from deutschland.lebensmittelwarnung import Lebensmittelwarnung
lw = Lebensmittelwarnung()
# search by content type and region, see documetation for all available params
data = lw.get("lebensmittel", "berlin")
print(data)
# [{'id': 19601, 'guid': 'https://www.lebensmittelwarnung.de/bvl-lmw-de/detail/lebensmittel/19601', 'pubDate': 'Fri, 10 Feb 2017 12:28:45 +0000', 'imgSrc': 'https://www.lebensmittelwarnung.de/bvl-lmw-de/opensaga/attachment/979f8cd3-969e-4a6c-9a8e-4bdd61586cd4/data.jpg', 'title': 'Sidroga Bio Säuglings- und Kindertee', 'manufacturer': 'Lebensmittel', 'warning': 'Pyrrolizidinalkaloide', 'affectedStates': ['Baden-Württemberg', '...']}]

Federal Job Openings

NRW

VERENA

Get open substitute teaching positions in NRW from https://www.schulministerium.nrw.de/BiPo/Verena/angebote

from deutschland.verena import Verena
v = Verena()
data = v.get()
print(data)
# a full example data can be found at deutschland/verena/example.md
# [{ "school_id": "99999", "desc": "Eine Schule\nSchule der Sekundarstufe II\ndes Landkreis Schuling\n9999 Schulingen", "replacement_job_title": "Lehrkraft", "subjects": [ "Fach 1", "Fach 2" ], "comments": "Bemerkung zur Stelle: Testbemerkung", "duration": "01.01.2021 - 01.01.2022", ...} ...]

Autobahn

Get data from the Autobahn.

from deutschland import autobahn
from deutschland.autobahn.api import default_api

from pprint import pprint

autobahn_api_instance = default_api.DefaultApi()

try:
    # Auflistung aller Autobahnen
    api_response = autobahn_api_instance.list_autobahnen()
    pprint(api_response)

    # Details zu einer Ladestation
    station_id = "RUxFQ1RSSUNfQ0hBUkdJTkdfU1RBVElPTl9fMTczMzM="  # str |
    api_response = autobahn_api_instance.get_charging_station(station_id)
    pprint(api_response)

except autobahn.ApiException as e:
    print("Exception when calling DefaultApi->get_charging_station: %s\n" % e)

For the detailed documentation of this API see here

Presseportal

For further information see: https://github.com/tcmetzger/pypresseportal

from deutschland.presseportal import PresseportalApi

presseportal = PresseportalApi("YOUR_KEY_HERE")

stories = presseportal.get_stories()

Auto-Generated API-Clients

bundesrat

For the detailed documentation of this API see here

bundestag

For the detailed documentation of this API see here

destatis

For the detailed documentation of this API see here

dwd

For the detailed documentation of this API see here

interpol

For the detailed documentation of this API see here

jobsuche

For the detailed documentation of this API see here

ladestationen

For the detailed documentation of this API see here

mudab

For the detailed documentation of this API see here

nina

For the detailed documentation of this API see here

polizei_brandenburg

For the detailed documentation of this API see here

risikogebiete

For the detailed documentation of this API see here

smard

For the detailed documentation of this API see here

strahlenschutz

For the detailed documentation of this API see here

travelwarning

For the detailed documentation of this API see here

zoll

For the detailed documentation of this API see here

About

Die wichtigsten APIs Deutschlands in einem Python Paket.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Other 0.8%