Skip to main content

Translate ohsome API filter to SQL WHERE clause ready to be used with ohsomeDB

Project description

ohsome filter to SQL

Build Status Sonarcloud Status PyPI - Version LICENSE status: active

Try it out

# USAGE:
#   after running ohsome-filter-to-sql type in ohsome filter and hit enter
$ uvx ohsome-filter-to-sql
natural = tree and leaftype = broadleaf
('tags @> $1 AND tags @> $2', ('{"natural": "tree"}', '{"leaftype": "broadleaf"}'))

Installation

uv add ohsome-filter-to-sql

Usage

Python Library

from ohsome_filter_to_sql.main import ohsome_filter_to_sql

query, query_args = ohsome_filter_to_sql("natural = tree")

Command Line Interface (CLI)

uv run ohsome-filter-to-sql

Development Setup

uv run pre-commit install
uv run pytest

To develop new features you will need a local instance of the ohsomeDB.

How to play around with the grammar?

Execute antlr4-parse, type in an ohsome filter and press ctlr+d.

antlr4-parse OFL.g4 root -tree
buildings=yes
(root:1 (expression:8 (tagMatch:1 (string:1 buildings) = (string:1 yes))) <EOF>)

ANTLR Lab can also be used to try out the grammar.

How to generating parser code?

When the grammar file has change generate new Python code with antlr4 and move genrated files to ohsome_filter_to_sql/.

uv run antlr4 -Dlanguage=Python3 OFL.g4 && mv *.py ohsome_filter_to_sql/

Release

This project uses SemVer.

To make a new release run ./scripts/release.sh <version number>.

Resources

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

ohsome_filter_to_sql-0.7.0.tar.gz (37.8 kB view details)

Uploaded Source

Built Distribution

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

ohsome_filter_to_sql-0.7.0-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file ohsome_filter_to_sql-0.7.0.tar.gz.

File metadata

  • Download URL: ohsome_filter_to_sql-0.7.0.tar.gz
  • Upload date:
  • Size: 37.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ohsome_filter_to_sql-0.7.0.tar.gz
Algorithm Hash digest
SHA256 fe0b6e7b2f0d54349df4116faa9c0cd43574b8d0c8114930e8a192f54792906b
MD5 5eb810a74ca20101ea588464719d2586
BLAKE2b-256 b24a9f5d6ae3d20a3e90daa17da01be1c49f86dde42119f931af4364ba5743f7

See more details on using hashes here.

File details

Details for the file ohsome_filter_to_sql-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: ohsome_filter_to_sql-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ohsome_filter_to_sql-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94a8f6e616c5ec0bb9d6bdd2f1afead3ca0d05d9505fb1984e130d5eb9582a1d
MD5 20e51eab257371750edb653021738fd3
BLAKE2b-256 dbe94d0a60d818a20130d792819966b6d1e503e20a370b8fbe172b5d0f2f2bb6

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