Skip to main content

Identify locations and tag them with UN-LOCODEs and ISO-3166-2 subdivisions.

Project description

berlin-rs

A Python/Rust microservice to identify locations and tag them with UN-LOCODEs and ISO-3166-2 subdivisions.

Getting started

To test the Rust API locally:

  make run

This will make an API available on port 3001. It serves simple requests of the form:

curl 'http://localhost:3001/berlin/search?q=house+prices+in+londo&state=gb' | jq

replacing localhost with the local endpoint (jq used for formatting).

This will return results of the form:

{
  "time": "32.46ms",
  "query": {
    "raw": "house prices in londo",
    "normalized": "house prices in londo",
    "stop_words": [
      "in"
    ],
    "codes": [],
    "exact_matches": [
      "house"
    ],
    "not_exact_matches": [
      "house prices",
      "prices in",
      "prices",
      "in londo",
      "londo"
    ],
    "state_filter": "gb",
    "limit": 1,
    "levenshtein_distance": 2
  },
  "results": [
    {
      "loc": {
        "encoding": "UN-LOCODE",
        "id": "gb:lon",
        "key": "UN-LOCODE-gb:lon",
        "names": [
          "london"
        ],
        "codes": [
          "lon"
        ],
        "state": [
          "gb",
          "united kingdom of great britain and northern ireland"
        ],
        "subdiv": [
          "lnd",
          "london, city of"
        ]
      },
      "score": 1346,
      "offset": {
        "start": 16,
        "end": 21
      }
    }
  ]
}

A Python wheel can also be built, using

  make wheels
  pip install build/wheels/berlin-0.1.0-xyz.whl

where xyz is your architecture.

Afterwards berlin should be functional inside a python shell/script. Example:

import berlin

db = berlin.load('../data')
loc = db.query('manchester population', 'gb', 1)[0];
print("location:", loc.words)

Description

Berlin is a location search engine which works on an in-memory collection of all UN Locodes, subdivisions and states (countries). Here are the main architectural highlights: On startup Berlin does a basic linguistic analysis of the locations: split names into words, remove diacritics, transliterate non-ASCII symbols to ASCII. For example, this allows us to find “Las Vegas” when searching for “vegas”. It employs string interning in order to both optimise memory usage and allow direct lookups for exact matches. If we can resolve (parts of) the search term to an existing interned string, it means that we have a location with this name in the database.

When the user submits the search term, Berlin first does a preliminary analysis of the search term: 1) split into words and pairs of words 2) try to identify the former as existing locations (can be resolved to existing interned strings) and tag them as “exact matches”. This creates many search terms from the original phrase. Pre-filtering step. Here we do three things 1) resolve exact matches by direct lookup in the names and codes tables 2) do a prefix search via a finite-state transducer 3) do a fuzzy search via a Levenshtein distance enabled finite-state transducer. The pre-filtered results are passed through a string-similarity evaluation algorithm and sorted by score. The results below a threshold are truncated. A graph is built from the locations found during the previous step in order to link them together hierarchically if possible. This further boosts some locations. For example, if the user searches for “new york UK” it will boost the location in Lincolnshire and it will show up higher than New York city in the USA. It is also possible to request search only in a specific country (which is enabled by default for the UK)

Berlin is able to find locations with a high degree of semantic accuracy. Speed is roughly equal to 10-15 ms per every non-matching word (or typo) + 1 ms for every exact match. A complex query of 8 words usually takes less than 100 ms and all of the realistic queries in our test suite take less than 50 ms, while the median is under 30 ms. Short queries containing an exact match (case insensitive) are faster than 10 ms.

The architecture would allow to easily implement as-you-type search suggestions in under 10 milliseconds if deemed desirable.

License

Prepared by Flax & Teal Limited for ONS Alpha project. Copyright © 2022, Office for National Statistics (https://www.ons.gov.uk)

Released under MIT license, see LICENSE for details.

License

Prepared by Flax & Teal Limited for ONS Alpha project. Copyright © 2022, Office for National Statistics (https://www.ons.gov.uk)

Released under MIT license, see LICENSE for details.

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

berlin-0.3.7.tar.gz (18.8 kB view details)

Uploaded Source

Built Distributions

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ s390x

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

berlin-0.3.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

berlin-0.3.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

berlin-0.3.7-cp311-none-win_amd64.whl (850.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

berlin-0.3.7-cp311-none-win32.whl (838.2 kB view details)

Uploaded CPython 3.11 Windows x86

berlin-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

berlin-0.3.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

berlin-0.3.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

berlin-0.3.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

berlin-0.3.7-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

berlin-0.3.7-cp311-cp311-macosx_10_7_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 macOS 10.7+ x86-64

berlin-0.3.7-cp310-none-win_amd64.whl (850.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

berlin-0.3.7-cp310-none-win32.whl (838.2 kB view details)

Uploaded CPython 3.10 Windows x86

berlin-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

berlin-0.3.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

berlin-0.3.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

berlin-0.3.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

berlin-0.3.7-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

berlin-0.3.7-cp310-cp310-macosx_10_7_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 macOS 10.7+ x86-64

berlin-0.3.7-cp39-none-win_amd64.whl (850.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

berlin-0.3.7-cp39-none-win32.whl (838.5 kB view details)

Uploaded CPython 3.9 Windows x86

berlin-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

berlin-0.3.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

berlin-0.3.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

berlin-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

berlin-0.3.7-cp38-none-win_amd64.whl (850.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

berlin-0.3.7-cp38-none-win32.whl (838.4 kB view details)

Uploaded CPython 3.8 Windows x86

berlin-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

berlin-0.3.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

berlin-0.3.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

berlin-0.3.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

berlin-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

berlin-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (2.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

File details

Details for the file berlin-0.3.7.tar.gz.

File metadata

  • Download URL: berlin-0.3.7.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7.tar.gz
Algorithm Hash digest
SHA256 1d2af7a6716f66880dd9bbaaddf501da69a41d698a46aef8a42f0cd96fafd469
MD5 ace38f5699c4fec7a2800bb318fcabba
BLAKE2b-256 3528e2c1faacd4319754125aee32ed18d7e803766cb5c7670a953358d4c40c3b

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0f7675316729c03ddb5f39ec553c0104e22b28c703ccf5109d0c6ef9f28abe4
MD5 5e64367ab981f5f0cd525c3d87855d50
BLAKE2b-256 9218b2db5815b5d02daa4cd8bc15a0de4bb2c4b597c2e4aecf6821c0d40596f9

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 71836147f97b56f4f5c2cda166f9c91b518be42a236ea429abe1e56d80c8d0d5
MD5 e808043f58768a44c83d6f080bd92b5e
BLAKE2b-256 11e78f8ef5a41ea212c46e4d4cf14483db8f85e3c2a4ad1e3edc2595a4de331d

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5d67a7c691042aa73412019cfc9ac1ebc10484ad5607856e24b7fbd28b18f8c2
MD5 2625bec028a3527c0a27ab6e3dfaa8f1
BLAKE2b-256 f27ac4acb5683d36ad816a2607301e99aac8f82f52b34881f52f4f7013dfac89

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7bf834e7cdcc0141868067ce9d06fd34a62624be3801461cec5e04cf684346c5
MD5 9cc0a49bb3607375703ccfce39490fb9
BLAKE2b-256 71a6905ab23ce85e7dc0d70632f0aa7e2226a94ed40c24cabd9273c563d41977

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cbc5cc4d1f6ffa33ddbb3ae365e4ea88537cc418278beb672520ef3cbd40c168
MD5 6f047c524d8e0e9ce1625c6b03f325fe
BLAKE2b-256 f1414b65dfb4582d649780a4e685712c5d70f586ec0e703b1824a39f96e87235

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 0273ef067a8a6af6150a63a963a64be3f69fa46cbb294d0cb5779378da82d458
MD5 4c8006cc867501029143b3c79444d221
BLAKE2b-256 fbb395a73056ed7675c00e3dda552793b87648362598f64546d1f1df60aa2142

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1482a3a08ef4b4efc28735a56e42c247f2ac7e5964bd3b9a46290874d051bc36
MD5 c7401f2cc838dea0d8fe45d0725413bb
BLAKE2b-256 04aeecbdf11663d3e9e4f775c272f4e0f408a746209d37afab48d139e6176b8c

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 22e1dfb1176c756607e23a30b99f3af6e5cbe416846e4072146e86624d26b6d4
MD5 88a6536fb6bf219344d28b991a4f06a9
BLAKE2b-256 f5a2bfd8f72a806a0175b0f5b6c5003917a4fb4b7cd00c69a1e06ab5d3b284d8

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 53d823a95d6995d3300fd6f894beea2adc3f6a17b890397e93933f2877b60e07
MD5 cee53e6c11e8dd0a2050873d6e454fda
BLAKE2b-256 0877b108a2db5263e753588bc3e372cd32f8d5e8b3cfd9b24ab47ab195e742cb

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c7af7e839bfce3ed655d41819ebd100351f6046f5257c215f6411af0bad59082
MD5 1b8ce7a84831d8c53504eb2f85f681a8
BLAKE2b-256 c2af18176bf4f866af7dd8dd2e54e7ad8fec517502746e96601e0fbfead1a660

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2100b890a782b12a4419502aa8380e066b33ff6d4b0bb8c352f418447b130d3d
MD5 c54ec677903a270cfa7a32b58f2364b2
BLAKE2b-256 919fb4cd7d9602beae7a370ed53e71ab0b90aa464150e33fedab21a73cfdf0ca

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4e22368945953d080aad481d05c268c87a54558ad31af769f43c15cd5c0d62bc
MD5 6ab55665229cb465c59f12aaef3c095f
BLAKE2b-256 1ced30bc8bfcb96f9015e8d6ad493bd3cb7e45986dfe61853fcb5d495960b128

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2875eb596bf69ecd3ca5872b50286cf4bb2c96b7eee269a4b071c9cf519facd5
MD5 4b69ec92b610040ab66b0afec93d8381
BLAKE2b-256 cad7758264a4999f6d7836b29732777e7a5015a213bf86cf205f82414df5d085

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a56f435d576de2d399d823196242cd02137826c2fd4e9751f5ebd359c24c9b50
MD5 cee1598aeda9acba758121ed7a3107a2
BLAKE2b-256 12def823feb8fb5634f4818bf65037d565b52af242c415bdc75b53d674d42af3

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 780fe2518a9b844770aaf7a12cfb9b5e2cc71db9cb3ee6d3e20820f7e11af78d
MD5 21829e7941294ca12606227a8d036ee6
BLAKE2b-256 f53890d9fb487ae8600f3e93a3927f12178248784b849d733294f246299e9f45

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-none-win_amd64.whl.

File metadata

  • Download URL: berlin-0.3.7-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 850.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 b799c6173ae9368c8cd82ea6668b22c114f70e00a20d791be82c79c20a5591eb
MD5 e2cb529f67853c71d58082efd1875d8d
BLAKE2b-256 c8cab2ad404ee18323a4190a0574d99b7bc9c7eb28d98c85970880bfd9cbeb3f

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-none-win32.whl.

File metadata

  • Download URL: berlin-0.3.7-cp311-none-win32.whl
  • Upload date:
  • Size: 838.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp311-none-win32.whl
Algorithm Hash digest
SHA256 04807a07e6e3054740159eef70a8524776489648be09125c713d09cacb92a52a
MD5 03bf2ad14309a89e7aeddb1a5bdd2fff
BLAKE2b-256 d9099fb8e8477ce33b93b442745ef7a15648759f41ae8c418a95b705588027cc

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89db8d449b053ac980b4eabbae0a78047af7bc6214566714a2d7ccf09c0d3152
MD5 f8d2e37c50b06fd8b667082ad570d589
BLAKE2b-256 eaca82fafb77b226bc448d530c881613b5341778d0ce1ab99de3a3aba91d4404

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 16f22af1f4e5007f0931a614d688b2d434e4a32a013c0ae6c564554430f8d149
MD5 b13adf512178d759c734bc258b69c0b4
BLAKE2b-256 92ca3c626d77816e4caee3ee18e40b4b0140ab2edebf3175508ab2752f9d1224

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5cdec9590986586fcf3d7fbf3e0856771894e55d34aeae96f3b46fe43112abe1
MD5 81fba9671f9bd9f921936811ea0f9c48
BLAKE2b-256 530c8f84d57a9bb3d178d0e3c118470216f931c18e1cc761d34ba705b80a04c4

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 41360a06f3a03d81212544d24080e698c4175a0edab137dfba0542b0454ba408
MD5 f9dc742c6b1111b5e28d4214d725e880
BLAKE2b-256 0799183cad734769761f1fbe4353d754fe2b9dedacef26e3e05ed63be6038f83

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 729a3f8aa744f9dcd42ae388856c0767c6435a46157ff8b5b3858d1466bda83a
MD5 ab5138e34678392917e04565aa9fa97f
BLAKE2b-256 690e050e0e7bca1d5577a220f2a3a805725324c1bc2a35e1f4c1a8fa0f8cb89f

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 72f2f8a815515162ec7dd2f8ccf18dbcea42950e0df5248979d3aeac6d7f921f
MD5 300bd4e7ab7ec26f2710e2a9a80c75f0
BLAKE2b-256 0dda72151678fb202d85fe7b4c9c3381bf9f6d25cc66ac499e5d98309474f10b

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 011cf5287c944d0a3d8d61db226996b231fdad6c4a3489ee26be099bd087f21c
MD5 6005d7ddaf7bf6db5751dbce7077a2c5
BLAKE2b-256 19af80e8240ed55ed0c169aa7315cd6cdd4c6cbc3bdc200d892b1d574819b35d

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp311-cp311-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 693b233f7e6088bd7f61c384c769ee10790a67505c7dc32f32fd7d56e151a844
MD5 69800afcb2ff6012d39677ff09c7add1
BLAKE2b-256 d8d12657f8f9258573e3a4bb0b3f8275efae6bd11791f1fff44e333a0ebf2d92

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-none-win_amd64.whl.

File metadata

  • Download URL: berlin-0.3.7-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 850.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 45ea37f51686d6e8ef340ce946c5dd78b0930206d4ebfc80902eebe151dcebf7
MD5 e1f9f23010c10dafc8d045b4cd5d238f
BLAKE2b-256 40e323e1919c947820c0649cda158b3cc1143aafb110fdd5a348bd48b9d10810

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-none-win32.whl.

File metadata

  • Download URL: berlin-0.3.7-cp310-none-win32.whl
  • Upload date:
  • Size: 838.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp310-none-win32.whl
Algorithm Hash digest
SHA256 e007d56c4717c32afdb8342f4187ef6599ffb41576205eef683df14c43998977
MD5 7be1b0384eaf1e4e7090618d92a1936f
BLAKE2b-256 0200431b1cbeb1dc6ba32bb7f7d53d949317c19aa56de2badecb5609c73cf4c1

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d322d4110c27bb3285e4a35c8f9a79bc68314cc995abe759f86641a6a6887e1
MD5 7b373a689d3e97e94973fbea62d667cb
BLAKE2b-256 01f984cc13f451be1467285d16cd4b1c0126fe560ce02047effd5a96a6a77daa

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 ecf52ea38fd4f79fa38985e2da89012b2197e45bb45440ddb13612ad0234d71d
MD5 4a7e4c7dda4b5e7c1f54f03b3b173106
BLAKE2b-256 59d91cf0b8388d698cb1290c6acec50a74cb845296efc41b5e7aa095d8f098cc

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 67e881c17da50544c744acbece8460b5042db934ee3bee26d92c56648bed9c8d
MD5 b6cecfb771121ebd9aba7260b11d8375
BLAKE2b-256 c1b9efa3f3474dac37fe15b4a07686ab215485be0ff0946bcf9d46177a611111

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b40d3de24582c5c6a096e49543f3e5c394cca54b32713100f1dca9a5ea816335
MD5 b5313830c57da827d83adf0c3c4347bd
BLAKE2b-256 705730cc72450389cb9f966514861c12c0ceab6c80bf13ce856e766892da3c0b

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c97afd1518519f2eaadd075bc96af93a688be4c4894409ec10987802df61e103
MD5 28cc36ea85ed58bd6d4b219da4e91e1b
BLAKE2b-256 587d049ab2f3cdf25e1992020918dadc650ce1dd0c0188020169d18f1ef07b3c

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f30ba60dd9db14d56169e3d753f0182c6ebdb3b5d5d825172cfccb79aa95419e
MD5 be00a11279976440cab82c1143efd11b
BLAKE2b-256 3f9e477d51cdafb91e03bb0097266fe59acea1c3366f0e99926d4d4104e91c04

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7431e02883eb40c39485a502c933d70b79df1577002f38ccfc669fadfe7ba98
MD5 cfb85aae24df1c8cfdae429a48699f1c
BLAKE2b-256 66392e683a4463c7eb1d1907616a7c48834bc61a08aa34a229eb198756c87c75

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp310-cp310-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 bc32766ad8e42553d773a36434f7bf5c744302200d2b3128714db69a1908209d
MD5 e85f7d6e5e12a4a69594d6ab2ad9565a
BLAKE2b-256 a095de8648d6d5acec4e1d8531f860bfbc074b5b87f4a652f7830343cd1e5fb7

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-none-win_amd64.whl.

File metadata

  • Download URL: berlin-0.3.7-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 850.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 f4a2d0879b75f640a833ff49cd678d18427dd970c11913d9d4e8b626e6d3067b
MD5 e3536f1c26fdea63b1889d65680cea35
BLAKE2b-256 484e1f3520ce4cc19d3ed47a48837f9aff6d64c33ccca75a02e1af3f2084e562

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-none-win32.whl.

File metadata

  • Download URL: berlin-0.3.7-cp39-none-win32.whl
  • Upload date:
  • Size: 838.5 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp39-none-win32.whl
Algorithm Hash digest
SHA256 d3a236f3072c2598fe8dfd55d95776fd1792bc13162208ba5f4471ba0277b82b
MD5 07114a70fe33bcc38d0c6e162aad97ac
BLAKE2b-256 fb8bc40f4fc9980c26bf3b870d3207d036cb5fe575cfedcba761c7bd47e6d5a0

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 171e88c6dcd9b992078332625766ef4219af291fdd4346243103f58e22b96d47
MD5 951a0c01f1bc4ca971d41c902c4d14f5
BLAKE2b-256 ea5406e515dd780d322b6373b020399053038829ed78e8f10dff6e2eceec051e

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 635ddcf7f879b43c59a3401ee99820f2b491b5361d8404e2b535ff32fca1dc6e
MD5 60efd5b1216e4eabb0c8e46292c2e7e3
BLAKE2b-256 aee49ddc54ec31dacd82fd4023ced45557d03e642f931d35e33b4bd26bb573fb

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 20039cd3865bf6028ceb56526ab52efba0e959714f28d7c993ed09f4c42dacc5
MD5 ea4ba8f69dc383e1bc02f4040a3973df
BLAKE2b-256 ae8c18102752c4486150dcd8091ebacc75164d8aa4beec5501857ce549394c91

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 ed1ad0a987bbce6d869c8941183f01ed3c799f292d21a3e07ea79c585df2d95d
MD5 a6e2fdc08b2b41f2f2bac019b5a4f39d
BLAKE2b-256 0b28f758014515b6ee66e8f2e99fe5294510fe10b8dccaefe20d6135c9db607f

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 708daeb0906b43c0279f63eb76cc3e024f30195f4b62ded6db3dab342dab3a96
MD5 26511711b579dc55541d9bb053984032
BLAKE2b-256 7aa5646e510c938db55dd79b7759dc63891ba83a95db5fd3373000fef1d31fa6

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b0f7bd3ec698e87a3c89def2466e3c26ceccbbd3a789c86644af9d80f4875d15
MD5 9c2c8c3b0121eb7b61bd51421456b774
BLAKE2b-256 67c4177a97ee50179e241f5891b9d949fae6d095dc3cb33d0731aa3be86a021a

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-none-win_amd64.whl.

File metadata

  • Download URL: berlin-0.3.7-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 850.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 6a0095a775dc2e5c831ac86a4acb0b4e44aaf39e9d5517c225c6dc457585f380
MD5 21ad78fb5431ca00ae99a9f484145157
BLAKE2b-256 10bd9256c25082a66e871e7f5e1b9d8da9b13804f10161de97db9b2fdc6a6786

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-none-win32.whl.

File metadata

  • Download URL: berlin-0.3.7-cp38-none-win32.whl
  • Upload date:
  • Size: 838.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.15.2

File hashes

Hashes for berlin-0.3.7-cp38-none-win32.whl
Algorithm Hash digest
SHA256 1d45283517230df9467e8f3de01b597ad214f36f1b305562a665546c63c91b70
MD5 9771b27d9933ac6a5ab41ab741a6540b
BLAKE2b-256 ff41aa898cf2fd30b59a90853f7b4acb68d8cc183bb79fb1cf3d7a9f98d496f1

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 389b1335a0f2395d40a7291e753ac63a8e5c789e59936202d368617575bca0d2
MD5 a66322a5be6a4bd86aee67839038d0f1
BLAKE2b-256 e975d3c5bc4405c9332ea23d9e629b3ae05806930da33df261da9319d6fc94c2

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 164536b0af3da30d6c393b732decd824193ddc4941af57084089e4f1c586aed1
MD5 3b26492c670eaca39e005de187c85cb5
BLAKE2b-256 ff96f79eede31059fdef213d6c8bc9289d8b10f8bd527fbd5273c575c59dbdbf

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9eecf49ea433abf8748f26fc28087825637173eddc5d229315b88df6429d69f0
MD5 5420c0d15432adb2a40461bae214ac01
BLAKE2b-256 1da54994f13268434b3793f1cebb3e5100f0a2b8d4ae6023289610d64f3435a2

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d6ed21b08361b91df14e954eecf1b5c12134cd6367b329d1dc9a3aad5d2bf831
MD5 ef140532d85976de510430365ae54bc9
BLAKE2b-256 2aef42eeeeee41f0cf1565bf20a3c53c224ef25c33978b81d693b426b4512ea2

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b6e08c684a5a3313768e28def32f2f6656b86e14c13ab372223857eb00b7a0eb
MD5 6ff422522d33478635fb9711a1ed2151
BLAKE2b-256 13da2b277fcb938fc1586bad5c6335a7036019993ee76cbe3336f80e38db25fa

See more details on using hashes here.

File details

Details for the file berlin-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for berlin-0.3.7-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 b1d7bcdbc2402570cabfa20310267a9bc218ee377925c0c98951cfc6d8d61870
MD5 a123da4c1ff3c53255ac72bf23324686
BLAKE2b-256 76a376f7584bdef53bf867c7bfef4e97fe6cf0a770bd2ff1b66b8e2469b0819e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page