Skip to main content

Atlus

GitHub License GitHub last commit PyPI - Version Pepy Total Downlods

This Python project translates raw address, phone number, and opening hours strings into the OpenStreetMap (OSM) tagging scheme. The package only supports US (and to some extent Canadian) addresses and phone numbers. The opening hours function only supports strings in English. You can try out the package without installing it at the Atlus website.

[!NOTE] Use of this package does not absolve you from following OSM's import guidelines.

Table of Contents

Features

  • Expand common street and name abbreviations.
  • Parse address parts correctly and reliably.
  • Get rid of address junk that is not needed for OpenStreetMap tagging.
  • Parse US and Canadian phone numbers into the standard format.
  • Parse raw opening hours strings into the OSM opening_hours format, including the special PH (public holiday) indicator and the dawn/dusk/sunrise/sunset solar time keywords.
  • Parse raw point-in-time strings (e.g. collection_times, service_times) into the matching OSM format, dropping any "closed" days rather than erroring (since point-in-time tags have no "closed" concept of their own).
  • Raise a clear error instead of guessing when opening hours/point-in-time input references calendar/date-based rules (month names, specific dates, named holidays, or OSM's Th[4]-style nth-weekday notation), which aren't supported.

Usage

This package is meant to work with GeoJSON files containing raw address data, including those produced by the All the Places project or Overture maps.

pip install atlus
>>> import atlus
>>> atlus.abbrs("St. Francis")
"Saint Francis"
>>> atlus.get_address("789 Oak Dr, Smallville California, 98765")[0]
{"addr:housenumber": "789", "addr:street": "Oak Drive", "addr:city": "Smallville", "addr:state": "CA", "addr:postcode": "98765"}
>>> atlus.get_phone("(202) 900-9019")
"+1-202-900-9019"
>>> atlus.get_hours("Monday to Friday 9am-5pm, Saturday 9am-12pm")
"Mo-Fr 09:00-17:00; Sa 09:00-12:00"
>>> atlus.get_times("Mo-Fr 15:00,18:00,19:00,23:00; Sa 15:00; Su 10:30,23:00")
"Mo-Fr 15:00,18:00,19:00,23:00; Sa 15:00; Su 10:30,23:00"
>>> atlus.get_hours("Mo-Fr sunrise-sunset")
"Mo-Fr sunrise-sunset"

Changes

See the changelog for details on recent updates.

Docs

The documentation for our package is available online at our documentation page. We would greatly appreciate your contributions to help improve the auto-generated docs; please submit any updates or corrections via pull requests.

License

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

See also

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atlus-1.2.0.tar.gz (83.8 kB view details)

Uploaded Source

Built Distribution

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

atlus-1.2.0-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file atlus-1.2.0.tar.gz.

File metadata

  • Download URL: atlus-1.2.0.tar.gz
  • Upload date:
  • Size: 83.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.0

File hashes

Hashes for atlus-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d5d42909a6039d2871a21f5a499090aa55493e46349040d8990b409beac89e3d
MD5 c612a2f64eb4a352409e3652babcda98
BLAKE2b-256 06b767ba86b34b621a2cc11028a4691e0794220bade72fb51a7a766045225041

See more details on using hashes here.

File details

Details for the file atlus-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: atlus-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.0

File hashes

Hashes for atlus-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d7b6ae5cb752bb035bcc0e4490704e164ef991300816d476d8262a70f72ebda
MD5 9065b03ead9f9f7e040aeb1b9513a9f4
BLAKE2b-256 285273fd261ddeb1e355cf2254b87a3bf58b3a6cb069352cde6a14a6f7285afd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.2.3

2 files

0.2.2

2 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