Skip to main content

A parser and toolkit for the opening_hours in OpenStreetMap written in Rust.

Project description

Python bindings for OSM Opening Hours

PyPI Doc

Usage

The package is published for Python 3.7 and above, but you might be able to install it with older version of Python if you install the Rust toolchain.

Install opening-hours-py from PyPI, for example using pip:

pip install --user opening-hours-py

Then, the main object that you will interact with will be OpeningHours:

from opening_hours import OpeningHours

oh = OpeningHours("Mo-Fr 10:00-18:00; Sa-Su 10:00-12:00")
print("Current status is", oh.state())
print("This will change at", oh.next_change())

The API is very similar to Rust API but you can find a Python specific documentation here.

Developpement

To build the library by yourself you will require a recent version of Rust, rustup is usually the recommanded tool to manage the installation.

Then you can use poetry to install Python dependancies and run maturin (the building tool used to create the binding) from a virtualenv.

git clone https://github.com/remi-dupre/opening-hours-rs.git
cd opening-hours-rs

# Install Python dependancies
poetry install

# Enter the virtualenv
poetry shell

# Build developpement bindings, add `--release` for an optimized version
maturin develop

# Now the library is available as long as you don't leave the virtualenv
python
>>> from opening_hours import OpeningHours
>>> oh = OpeningHours("24/7")
>>> oh.state()
"open"

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

opening_hours_py-0.6.18.tar.gz (926.6 kB view hashes)

Uploaded Source

Built Distributions

opening_hours_py-0.6.18-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-pp37-pypy37_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-pp37-pypy37_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-pp37-pypy37_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp312-none-win_amd64.whl (279.3 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

opening_hours_py-0.6.18-cp312-none-win32.whl (258.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

opening_hours_py-0.6.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp312-cp312-macosx_11_0_arm64.whl (421.2 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp312-cp312-macosx_10_7_x86_64.whl (438.5 kB view hashes)

Uploaded CPython 3.12 macOS 10.7+ x86-64

opening_hours_py-0.6.18-cp311-none-win_amd64.whl (279.8 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

opening_hours_py-0.6.18-cp311-none-win32.whl (258.0 kB view hashes)

Uploaded CPython 3.11 Windows x86

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp311-cp311-macosx_11_0_arm64.whl (422.5 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp311-cp311-macosx_10_7_x86_64.whl (441.1 kB view hashes)

Uploaded CPython 3.11 macOS 10.7+ x86-64

opening_hours_py-0.6.18-cp310-none-win_amd64.whl (279.8 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

opening_hours_py-0.6.18-cp310-none-win32.whl (258.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp310-cp310-macosx_11_0_arm64.whl (422.5 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp310-cp310-macosx_10_7_x86_64.whl (441.2 kB view hashes)

Uploaded CPython 3.10 macOS 10.7+ x86-64

opening_hours_py-0.6.18-cp39-none-win_amd64.whl (280.2 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

opening_hours_py-0.6.18-cp39-none-win32.whl (259.7 kB view hashes)

Uploaded CPython 3.9 Windows x86

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp39-cp39-macosx_11_0_arm64.whl (422.3 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp39-cp39-macosx_10_7_x86_64.whl (440.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.7+ x86-64

opening_hours_py-0.6.18-cp38-none-win_amd64.whl (279.8 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

opening_hours_py-0.6.18-cp38-none-win32.whl (258.0 kB view hashes)

Uploaded CPython 3.8 Windows x86

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp38-cp38-macosx_11_0_arm64.whl (422.8 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp38-cp38-macosx_10_7_x86_64.whl (441.5 kB view hashes)

Uploaded CPython 3.8 macOS 10.7+ x86-64

opening_hours_py-0.6.18-cp37-none-win_amd64.whl (279.6 kB view hashes)

Uploaded CPython 3.7 Windows x86-64

opening_hours_py-0.6.18-cp37-none-win32.whl (258.0 kB view hashes)

Uploaded CPython 3.7 Windows x86

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.7 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARMv7l

opening_hours_py-0.6.18-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.5 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

opening_hours_py-0.6.18-cp37-cp37m-macosx_11_0_arm64.whl (422.9 kB view hashes)

Uploaded CPython 3.7m macOS 11.0+ ARM64

opening_hours_py-0.6.18-cp37-cp37m-macosx_10_7_x86_64.whl (441.6 kB view hashes)

Uploaded CPython 3.7m macOS 10.7+ x86-64

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