berlin


Nameberlin JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryIdentify locations and tag them with UN-LOCODEs and ISO-3166-2 subdivisions.
upload_time2024-04-17 11:52:48
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords geospatial nlp search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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:

```shell
  make run
```

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

```shell
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:

```json
{
  "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

```shell
  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:

```python
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](LICENSE.md) 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](LICENSE.md) for details.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "berlin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "geospatial, nlp, search",
    "author": null,
    "author_email": "Metin Akat <metin.akat@flaxandteal.co.uk>, Phil Weir <phil.weir@flaxandteal.co.uk>",
    "download_url": "https://files.pythonhosted.org/packages/03/b6/0ddf3d5871c23c1aa52e9fe53174c78cf47e0448b47a28ddb607653d6eba/berlin-1.0.0.tar.gz",
    "platform": null,
    "description": "# berlin-rs\n\nA Python/Rust microservice to identify locations and tag them with UN-LOCODEs and\nISO-3166-2 subdivisions.\n\n\n### Getting started\n\nTo test the Rust API locally:\n\n```shell\n  make run\n```\n\nThis will make an API available on port 3001. It serves simple requests of the\nform:\n\n```shell\ncurl 'http://localhost:3001/berlin/search?q=house+prices+in+londo&state=gb' | jq\n```\n\nreplacing `localhost` with the local endpoint (`jq` used for formatting).\n\nThis will return results of the form:\n\n```json\n{\n  \"time\": \"32.46ms\",\n  \"query\": {\n    \"raw\": \"house prices in londo\",\n    \"normalized\": \"house prices in londo\",\n    \"stop_words\": [\n      \"in\"\n    ],\n    \"codes\": [],\n    \"exact_matches\": [\n      \"house\"\n    ],\n    \"not_exact_matches\": [\n      \"house prices\",\n      \"prices in\",\n      \"prices\",\n      \"in londo\",\n      \"londo\"\n    ],\n    \"state_filter\": \"gb\",\n    \"limit\": 1,\n    \"levenshtein_distance\": 2\n  },\n  \"results\": [\n    {\n      \"loc\": {\n        \"encoding\": \"UN-LOCODE\",\n        \"id\": \"gb:lon\",\n        \"key\": \"UN-LOCODE-gb:lon\",\n        \"names\": [\n          \"london\"\n        ],\n        \"codes\": [\n          \"lon\"\n        ],\n        \"state\": [\n          \"gb\",\n          \"united kingdom of great britain and northern ireland\"\n        ],\n        \"subdiv\": [\n          \"lnd\",\n          \"london, city of\"\n        ]\n      },\n      \"score\": 1346,\n      \"offset\": {\n        \"start\": 16,\n        \"end\": 21\n      }\n    }\n  ]\n}\n```\n\nA Python wheel can also be built, using\n\n```shell\n  make wheels\n  pip install build/wheels/berlin-0.1.0-xyz.whl\n```\n\nwhere `xyz` is your architecture.\n\nAfterwards berlin should be functional inside a python shell/script. Example:\n\n```python\nimport berlin\n\ndb = berlin.load('../data')\nloc = db.query('manchester population', 'gb', 1)[0];\nprint(\"location:\", loc.words)\n```\n\n### Description\n\nBerlin is a location search engine which  works on an in-memory collection of\nall UN Locodes, subdivisions and states (countries). Here are the main\narchitectural highlights: On startup Berlin does a basic linguistic analysis of\nthe locations: split names into words, remove diacritics, transliterate\nnon-ASCII symbols to ASCII. For example,  this allows us to find  \u201cLas Vegas\u201d\nwhen searching for \u201cvegas\u201d.  It employs string interning in order to both\noptimise memory usage and allow direct lookups for exact matches. If we can\nresolve (parts of) the search term to an existing interned string, it means\nthat we have a location with this name in the database.\n\nWhen the user submits the search term, Berlin first does a preliminary analysis\nof the search term: 1) split into words and pairs of words 2) try to identify\nthe former as existing locations (can be resolved to existing interned strings)\nand tag them as \u201cexact matches\u201d. This creates many search terms from the\noriginal phrase.  Pre-filtering step. Here we do three things 1) resolve exact\nmatches by direct lookup in the names and codes tables 2) do a prefix search\nvia a finite-state transducer 3) do a fuzzy search via a Levenshtein distance\nenabled finite-state transducer.  The pre-filtered results are passed through a\nstring-similarity evaluation algorithm and sorted by score. The results below a\nthreshold are truncated.  A graph is built from the locations found during the\nprevious  step in order to link them together hierarchically if possible. This\nfurther boosts some locations. For example, if the user searches for \u201cnew york\nUK\u201d it will boost the location in Lincolnshire and it will show up higher than\nNew York city in the USA.  It is also possible to request search only in a\nspecific country (which is enabled by default for the UK)\n\nBerlin is able to find locations with a high degree of semantic accuracy. Speed\nis roughly equal to 10-15 ms per every non-matching word (or typo) + 1 ms for\nevery exact match. A complex query of 8 words usually takes less than 100 ms\nand all of the realistic queries in our test suite take less than 50 ms, while\nthe median is under 30 ms. Short queries containing  an exact match (case\ninsensitive) are faster than 10 ms.\n\nThe architecture would allow to easily implement as-you-type search suggestions\nin under 10 milliseconds if deemed desirable.\n\n\n### License\n\nPrepared by Flax & Teal Limited for ONS Alpha project.\nCopyright \u00a9 2022, Office for National Statistics (https://www.ons.gov.uk)\n\nReleased under MIT license, see [LICENSE](LICENSE.md) for details.\n\n### License\n\nPrepared by Flax & Teal Limited for ONS Alpha project.\nCopyright \u00a9 2022, Office for National Statistics (https://www.ons.gov.uk)\n\nReleased under MIT license, see [LICENSE](LICENSE.md) for details.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Identify locations and tag them with UN-LOCODEs and ISO-3166-2 subdivisions.",
    "version": "1.0.0",
    "project_urls": {
        "Source Code": "https://github.com/flaxandteal/berlin-py"
    },
    "split_keywords": [
        "geospatial",
        " nlp",
        " search"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "32fce0fc520d397eab0fcb33fe337e790e47e0cdd42cb5c21355cf3aebb85b1a",
                "md5": "a93edbce257afcaa9c598c9463a2ad2c",
                "sha256": "d8588374680fe1a0382b2718d0349fdaf2ea9687e9d53bc4ac7e16a66e93dc7c"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a93edbce257afcaa9c598c9463a2ad2c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 854012,
            "upload_time": "2024-04-17T11:51:05",
            "upload_time_iso_8601": "2024-04-17T11:51:05.768557Z",
            "url": "https://files.pythonhosted.org/packages/32/fc/e0fc520d397eab0fcb33fe337e790e47e0cdd42cb5c21355cf3aebb85b1a/berlin-1.0.0-cp310-cp310-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "74fce81fee62a9c71e68b920a560b0ccd1d440e2f063ef2f8be734c7962f944b",
                "md5": "ac9b120a867e8b668bea025d6cd2f54b",
                "sha256": "7f6d43fa76e972318da7bf6132f8dc2bda88b0b3a27d8200a1638b73a7a60064"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ac9b120a867e8b668bea025d6cd2f54b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 839250,
            "upload_time": "2024-04-17T11:51:08",
            "upload_time_iso_8601": "2024-04-17T11:51:08.055463Z",
            "url": "https://files.pythonhosted.org/packages/74/fc/e81fee62a9c71e68b920a560b0ccd1d440e2f063ef2f8be734c7962f944b/berlin-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2b7e41224993d69c5ffbf7caa212a3b17778a4fa9077b9bf4d02e5049e211e2d",
                "md5": "1d281e3aa9696a8f2bba5499cdc6df4e",
                "sha256": "4b7e4bde252d94e91d0062ff4c04e726b563c08c9f280ac7caa763f4abf3d9b7"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "1d281e3aa9696a8f2bba5499cdc6df4e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1730526,
            "upload_time": "2024-04-17T11:51:10",
            "upload_time_iso_8601": "2024-04-17T11:51:10.215511Z",
            "url": "https://files.pythonhosted.org/packages/2b/7e/41224993d69c5ffbf7caa212a3b17778a4fa9077b9bf4d02e5049e211e2d/berlin-1.0.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "919b18351c7a228606224dccc205ab32df339b18b522fdddc32d17cef87a85f3",
                "md5": "36ee5d8cba0b73423d8d538e1870712b",
                "sha256": "3c2f8221cfa8b620a12153ad8dfda0a7503248f1ef959b35757bf71e03b73204"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "36ee5d8cba0b73423d8d538e1870712b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1657817,
            "upload_time": "2024-04-17T11:51:12",
            "upload_time_iso_8601": "2024-04-17T11:51:12.659471Z",
            "url": "https://files.pythonhosted.org/packages/91/9b/18351c7a228606224dccc205ab32df339b18b522fdddc32d17cef87a85f3/berlin-1.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa6e4a8c1790abdd4a8b7f1bad92bea33dc64e4753f2da85caeafbe89c9b5adc",
                "md5": "29c2f2ec0b77fc6354508270df9aefd3",
                "sha256": "1da6b427e91e3bc293f5e1a5cc026836929f7f853481ebfd655854e639cc2214"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "29c2f2ec0b77fc6354508270df9aefd3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1670782,
            "upload_time": "2024-04-17T11:51:14",
            "upload_time_iso_8601": "2024-04-17T11:51:14.000899Z",
            "url": "https://files.pythonhosted.org/packages/fa/6e/4a8c1790abdd4a8b7f1bad92bea33dc64e4753f2da85caeafbe89c9b5adc/berlin-1.0.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "83f6d952e298a37c39e7b44b137e2c5d04e0179c130b8c930e8ba182e80f2b87",
                "md5": "c34b8fda02fb5282618420fb6abce1de",
                "sha256": "e7f2985a541a24dd8cdb2bc42e54ea6646118760ac846ac118ece4da0f3e2f2a"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "c34b8fda02fb5282618420fb6abce1de",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1802251,
            "upload_time": "2024-04-17T11:51:15",
            "upload_time_iso_8601": "2024-04-17T11:51:15.763611Z",
            "url": "https://files.pythonhosted.org/packages/83/f6/d952e298a37c39e7b44b137e2c5d04e0179c130b8c930e8ba182e80f2b87/berlin-1.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c7523217f2dcb8a8b5ad89ac6b1a1b632dbe04a984bf39b4c00513f2ec78d4d",
                "md5": "522f43a2d92cfb8487411db295ac8511",
                "sha256": "70ad66e4b6f1cc4d16d4d592c3905d1e1982dd10216b90fd544b5a9904c493f2"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "522f43a2d92cfb8487411db295ac8511",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1864354,
            "upload_time": "2024-04-17T11:51:17",
            "upload_time_iso_8601": "2024-04-17T11:51:17.219249Z",
            "url": "https://files.pythonhosted.org/packages/5c/75/23217f2dcb8a8b5ad89ac6b1a1b632dbe04a984bf39b4c00513f2ec78d4d/berlin-1.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d84366e13377a08b74896d04c8f6c42f7cb4d058eee2cd7ce8ba3ea5fa17f1bd",
                "md5": "95de17b3cb833e1ebcf70d4955534e2a",
                "sha256": "2a0d541e77bb5daf898fe9a00a6f7d351efe3d578a7a6ecada2f562985185b64"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "95de17b3cb833e1ebcf70d4955534e2a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 1664305,
            "upload_time": "2024-04-17T11:51:19",
            "upload_time_iso_8601": "2024-04-17T11:51:19.270702Z",
            "url": "https://files.pythonhosted.org/packages/d8/43/66e13377a08b74896d04c8f6c42f7cb4d058eee2cd7ce8ba3ea5fa17f1bd/berlin-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "63be7fd67c8da6932273cb2fcdb6b0f220d5e0e7d06cbc5d589bf7308553b6c8",
                "md5": "4e23bf70575b61646e5ebba512ceeef9",
                "sha256": "80f39c381fa38ad3fb5e7a5b7641cbdea7faf107629dcdb51645d42b93e30575"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-none-win32.whl",
            "has_sig": false,
            "md5_digest": "4e23bf70575b61646e5ebba512ceeef9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 684333,
            "upload_time": "2024-04-17T11:51:21",
            "upload_time_iso_8601": "2024-04-17T11:51:21.202734Z",
            "url": "https://files.pythonhosted.org/packages/63/be/7fd67c8da6932273cb2fcdb6b0f220d5e0e7d06cbc5d589bf7308553b6c8/berlin-1.0.0-cp310-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b309b0097f1993bf6469baa9a5d2115d3ea6774147b70f803500c5b3b2d08d16",
                "md5": "75d1c0235bccb0702b3412fde61ab84d",
                "sha256": "94a64442307198ad492a7c540248c17a90d03ff342b18ff2369106b810d19371"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp310-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "75d1c0235bccb0702b3412fde61ab84d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 694605,
            "upload_time": "2024-04-17T11:51:23",
            "upload_time_iso_8601": "2024-04-17T11:51:23.170866Z",
            "url": "https://files.pythonhosted.org/packages/b3/09/b0097f1993bf6469baa9a5d2115d3ea6774147b70f803500c5b3b2d08d16/berlin-1.0.0-cp310-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "33348c787a38eb5814715677434326630aff1d52410100d0e91346f643611d33",
                "md5": "82da92bba96b84dcdad05b97ff856aea",
                "sha256": "314ad3a1d1fe9b674189e35075ec86127434a6274458d0df09622355b9d10c18"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "82da92bba96b84dcdad05b97ff856aea",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 854011,
            "upload_time": "2024-04-17T11:51:25",
            "upload_time_iso_8601": "2024-04-17T11:51:25.035531Z",
            "url": "https://files.pythonhosted.org/packages/33/34/8c787a38eb5814715677434326630aff1d52410100d0e91346f643611d33/berlin-1.0.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "384bb20f8ca2c5c41052ad76b972ebbe866b8a55b729e095408b7212fefde83f",
                "md5": "992b2765d65db9f94b92d88c78579eba",
                "sha256": "c5999827d54c75a9edebd58dbba4fbc915558acdc02f0d9a858273ffc9a8ede7"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "992b2765d65db9f94b92d88c78579eba",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 839250,
            "upload_time": "2024-04-17T11:51:26",
            "upload_time_iso_8601": "2024-04-17T11:51:26.924680Z",
            "url": "https://files.pythonhosted.org/packages/38/4b/b20f8ca2c5c41052ad76b972ebbe866b8a55b729e095408b7212fefde83f/berlin-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "05dce8362ff44d18ed32af8ce94b002ac44b6faafb7243e6431adc3b0e2687c8",
                "md5": "d004f51b60f0b3830cba930790c8432b",
                "sha256": "68ee83fd90eeebf015da00da54dcc5a6bc95ee660bfee35ed5ccf03355e89fb2"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "d004f51b60f0b3830cba930790c8432b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1730526,
            "upload_time": "2024-04-17T11:51:28",
            "upload_time_iso_8601": "2024-04-17T11:51:28.214379Z",
            "url": "https://files.pythonhosted.org/packages/05/dc/e8362ff44d18ed32af8ce94b002ac44b6faafb7243e6431adc3b0e2687c8/berlin-1.0.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d2e07242f14ea1c9ac77b19ac31d39b6ca463cdbb52b422a2c0a38da42f4cda2",
                "md5": "d21003c19d2c51aa43b5679ed443c999",
                "sha256": "b26c1205e11dba947b76f80a669715fac633f08c560ba7b87de8e853112528f0"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d21003c19d2c51aa43b5679ed443c999",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1657816,
            "upload_time": "2024-04-17T11:51:30",
            "upload_time_iso_8601": "2024-04-17T11:51:30.164456Z",
            "url": "https://files.pythonhosted.org/packages/d2/e0/7242f14ea1c9ac77b19ac31d39b6ca463cdbb52b422a2c0a38da42f4cda2/berlin-1.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8321bcd6b570218c21ba757c797b9f3ac7f7856a05078fb36a046ad3802d8786",
                "md5": "467a1023ca62ae9eee1f338d5dfa0bd1",
                "sha256": "264e077217ca71fcd2cffe5d874b48547ed3d176d300424e99683e4e83d8a121"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "467a1023ca62ae9eee1f338d5dfa0bd1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1670783,
            "upload_time": "2024-04-17T11:51:31",
            "upload_time_iso_8601": "2024-04-17T11:51:31.545426Z",
            "url": "https://files.pythonhosted.org/packages/83/21/bcd6b570218c21ba757c797b9f3ac7f7856a05078fb36a046ad3802d8786/berlin-1.0.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f8c7ff340f7550523dd639aee3f3f99591232be43c2d6ef7af87813eb929bc22",
                "md5": "ce2a4bf7a1807c82e7122505eac36824",
                "sha256": "ebce8af05de87fe9197a79728ee9e64dbba99312c6b3406117725621b2be0fef"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "ce2a4bf7a1807c82e7122505eac36824",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1802252,
            "upload_time": "2024-04-17T11:51:33",
            "upload_time_iso_8601": "2024-04-17T11:51:33.708885Z",
            "url": "https://files.pythonhosted.org/packages/f8/c7/ff340f7550523dd639aee3f3f99591232be43c2d6ef7af87813eb929bc22/berlin-1.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cd2f294d14a9c7336403f3eef317ce6ac382d4360a15b523c6abadaf37333843",
                "md5": "54ba7678ca05ad054ff21998e572f8a4",
                "sha256": "077710338670567242f3e62a89af1ea15eeb306fc87cd2f1a71e2eaff0f599fe"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "54ba7678ca05ad054ff21998e572f8a4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1864354,
            "upload_time": "2024-04-17T11:51:35",
            "upload_time_iso_8601": "2024-04-17T11:51:35.260090Z",
            "url": "https://files.pythonhosted.org/packages/cd/2f/294d14a9c7336403f3eef317ce6ac382d4360a15b523c6abadaf37333843/berlin-1.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08899d8c4e1e6628b50400ecc8cf3c36dd46c35731aa137fa6444cabccdaef07",
                "md5": "89732bd6b17720e26316d36181bc184b",
                "sha256": "05eaf24481d8e4b049f9b5b1ff63e54c269147777e90e7e5b9c3140fc897b58f"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "89732bd6b17720e26316d36181bc184b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 1664302,
            "upload_time": "2024-04-17T11:51:37",
            "upload_time_iso_8601": "2024-04-17T11:51:37.367945Z",
            "url": "https://files.pythonhosted.org/packages/08/89/9d8c4e1e6628b50400ecc8cf3c36dd46c35731aa137fa6444cabccdaef07/berlin-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3efe3cf818f588c47680a7166294a27b3a01d9d24465618fa1b0df55563c1ec1",
                "md5": "a5089b9aca180adb165b2c29fd1bc0ff",
                "sha256": "b66e5c2d6d16817886ad5bcf24f771bcd944245ea2dec98f697ef43d32f7ce47"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-none-win32.whl",
            "has_sig": false,
            "md5_digest": "a5089b9aca180adb165b2c29fd1bc0ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 684335,
            "upload_time": "2024-04-17T11:51:38",
            "upload_time_iso_8601": "2024-04-17T11:51:38.988471Z",
            "url": "https://files.pythonhosted.org/packages/3e/fe/3cf818f588c47680a7166294a27b3a01d9d24465618fa1b0df55563c1ec1/berlin-1.0.0-cp311-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f62b55ce22e6652f03bf9ad3d886e3255a960f1d5c7be27be89b1313c813a517",
                "md5": "8a85f900ece50f3eac3574651464d65a",
                "sha256": "7ed4c5f1a67d2275aed7aff28e9745e4f8ed8422f745990ba021d420ebd75e81"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp311-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8a85f900ece50f3eac3574651464d65a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 694612,
            "upload_time": "2024-04-17T11:51:40",
            "upload_time_iso_8601": "2024-04-17T11:51:40.327651Z",
            "url": "https://files.pythonhosted.org/packages/f6/2b/55ce22e6652f03bf9ad3d886e3255a960f1d5c7be27be89b1313c813a517/berlin-1.0.0-cp311-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "372b2f1cd0f23b5372d26ada007fce41206a5864b616aa4d19f01007b8eb55ac",
                "md5": "b1c73e3aa833fae3834465a962e692d0",
                "sha256": "b36a5b50ab03c90a75d45cfd29443975503b034cbaf024acb6475f44c5472f8e"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b1c73e3aa833fae3834465a962e692d0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 854100,
            "upload_time": "2024-04-17T11:51:41",
            "upload_time_iso_8601": "2024-04-17T11:51:41.502240Z",
            "url": "https://files.pythonhosted.org/packages/37/2b/2f1cd0f23b5372d26ada007fce41206a5864b616aa4d19f01007b8eb55ac/berlin-1.0.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6fe9f4e14208c749f1f2c6895c1ac82a00bc23d0931f04033024e261dfd47d32",
                "md5": "c59c6f5ece3a6e25b8e6e2bb3d3bed00",
                "sha256": "53e482089f778a674aaefaf1ce576db7f8f5459d66dcc3deafb2666800f1b056"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c59c6f5ece3a6e25b8e6e2bb3d3bed00",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 839244,
            "upload_time": "2024-04-17T11:51:43",
            "upload_time_iso_8601": "2024-04-17T11:51:43.467471Z",
            "url": "https://files.pythonhosted.org/packages/6f/e9/f4e14208c749f1f2c6895c1ac82a00bc23d0931f04033024e261dfd47d32/berlin-1.0.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "666f6e45d3bbd2d66238b272001932099a282f2c8f6366d3aca1ba4f785a068a",
                "md5": "1dd077f661344ee754983841e63c123e",
                "sha256": "bc1622681668a4781af6df807d82a37154db8a13af29bab0ff56703c28138f94"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "1dd077f661344ee754983841e63c123e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1731355,
            "upload_time": "2024-04-17T11:51:45",
            "upload_time_iso_8601": "2024-04-17T11:51:45.081297Z",
            "url": "https://files.pythonhosted.org/packages/66/6f/6e45d3bbd2d66238b272001932099a282f2c8f6366d3aca1ba4f785a068a/berlin-1.0.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fbd9864ca9758ba08c525ef5846ea9315bb7198c647eb321e29595a12b6f570",
                "md5": "892ff1cc0141d901885757f0e907a674",
                "sha256": "9f88f114951f498d9c090434e357345dc5c51f70a6d236151780449eba6d0bd0"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "892ff1cc0141d901885757f0e907a674",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1657883,
            "upload_time": "2024-04-17T11:51:46",
            "upload_time_iso_8601": "2024-04-17T11:51:46.766099Z",
            "url": "https://files.pythonhosted.org/packages/7f/bd/9864ca9758ba08c525ef5846ea9315bb7198c647eb321e29595a12b6f570/berlin-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "590b147431577e13a813201213a34f45374651799b10e4f921354a29a254cccb",
                "md5": "a5cd6a937b21345fb4e5c0eb2a10490d",
                "sha256": "9f7a3de8f312ea09d5afff02107c5f02cb1bb3154f2fa401c159103ce7419387"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "a5cd6a937b21345fb4e5c0eb2a10490d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1801942,
            "upload_time": "2024-04-17T11:51:48",
            "upload_time_iso_8601": "2024-04-17T11:51:48.935636Z",
            "url": "https://files.pythonhosted.org/packages/59/0b/147431577e13a813201213a34f45374651799b10e4f921354a29a254cccb/berlin-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cdc757ecaf6f6ac9bb8f353db62fdb29adffb3de61d21675ead004dccc830201",
                "md5": "237d98c615908700e897f823fe7a516d",
                "sha256": "86effcf2a4025692d276d5c79420d0b2d71cff3b97dd9791721bfcfaaba109b8"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "237d98c615908700e897f823fe7a516d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1865108,
            "upload_time": "2024-04-17T11:51:50",
            "upload_time_iso_8601": "2024-04-17T11:51:50.397867Z",
            "url": "https://files.pythonhosted.org/packages/cd/c7/57ecaf6f6ac9bb8f353db62fdb29adffb3de61d21675ead004dccc830201/berlin-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab6938dd928a95ab4888fcc7d08b104d6a52d0797b96a7021d1931327ed29eaa",
                "md5": "e28961ef0d9ef83478d5f9edc1f509bf",
                "sha256": "5d84fad9663627830d15ed61d971d48790af6a7ace4587a6504bb06a3598c7c4"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e28961ef0d9ef83478d5f9edc1f509bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 1664643,
            "upload_time": "2024-04-17T11:51:52",
            "upload_time_iso_8601": "2024-04-17T11:51:52.437797Z",
            "url": "https://files.pythonhosted.org/packages/ab/69/38dd928a95ab4888fcc7d08b104d6a52d0797b96a7021d1931327ed29eaa/berlin-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f0b3c8ecbd51e6581a0f1e473bd45c55da3bedf7cb185f78e2e6f737e46e0c35",
                "md5": "10e2c13da50f7ca44a3bb964dba9a770",
                "sha256": "a6d39636e9ce88aea802cd3da77ffa62b5c7f55ced8567c2542e4b91464a4198"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-none-win32.whl",
            "has_sig": false,
            "md5_digest": "10e2c13da50f7ca44a3bb964dba9a770",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 684435,
            "upload_time": "2024-04-17T11:51:53",
            "upload_time_iso_8601": "2024-04-17T11:51:53.737526Z",
            "url": "https://files.pythonhosted.org/packages/f0/b3/c8ecbd51e6581a0f1e473bd45c55da3bedf7cb185f78e2e6f737e46e0c35/berlin-1.0.0-cp312-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8af092dcd2d279f51b07fea25f45085ce6a4c8b1125e4dacb82bb38cf33022d2",
                "md5": "51c3b78688ddf07bc8319ed4c8b7d6a0",
                "sha256": "d341a994ffdb66ff2a7062660e9bb5a85fe97fb6b9d397f844942ac5280d2cf6"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp312-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "51c3b78688ddf07bc8319ed4c8b7d6a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 694591,
            "upload_time": "2024-04-17T11:51:55",
            "upload_time_iso_8601": "2024-04-17T11:51:55.054733Z",
            "url": "https://files.pythonhosted.org/packages/8a/f0/92dcd2d279f51b07fea25f45085ce6a4c8b1125e4dacb82bb38cf33022d2/berlin-1.0.0-cp312-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d57df5bb8994846ffaca09c8f526b03bd8469cf53026c7af66fa6d35f2fd5ac4",
                "md5": "41791a2987603b22e330f32d6c77756c",
                "sha256": "81ec4da9c2f0f31393431337c770721a087f33fbd374b1fdeae6186afb1705c0"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "41791a2987603b22e330f32d6c77756c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1730658,
            "upload_time": "2024-04-17T11:51:57",
            "upload_time_iso_8601": "2024-04-17T11:51:57.014070Z",
            "url": "https://files.pythonhosted.org/packages/d5/7d/f5bb8994846ffaca09c8f526b03bd8469cf53026c7af66fa6d35f2fd5ac4/berlin-1.0.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "858df517f9f619ff4d6fe66419ddd9781f82cfbeaa1e4764a0e709df92c34474",
                "md5": "19088ea303e89e909f5316b269b46143",
                "sha256": "4dcb1b22b105d9f36b01036565ded6c4fa0b1c840035085f30c9ebb3bd6d6182"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "19088ea303e89e909f5316b269b46143",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1658111,
            "upload_time": "2024-04-17T11:51:58",
            "upload_time_iso_8601": "2024-04-17T11:51:58.613167Z",
            "url": "https://files.pythonhosted.org/packages/85/8d/f517f9f619ff4d6fe66419ddd9781f82cfbeaa1e4764a0e709df92c34474/berlin-1.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "28adf3e1d721e5edd5dcb145c992091b20e9f23cff1ec66c00d8a278f45e624b",
                "md5": "b2baaeef90f2e8f3b8c0d915b559eeab",
                "sha256": "ea575839c1dbe6dd51fb37ca72b9f2d6c071329f62fb6dfbc2f8531eebef1b48"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "b2baaeef90f2e8f3b8c0d915b559eeab",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1672870,
            "upload_time": "2024-04-17T11:52:00",
            "upload_time_iso_8601": "2024-04-17T11:52:00.883463Z",
            "url": "https://files.pythonhosted.org/packages/28/ad/f3e1d721e5edd5dcb145c992091b20e9f23cff1ec66c00d8a278f45e624b/berlin-1.0.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c724e6cdbb944452b2b8147fdddeb17d94eed23d80fda9d80759fdc579a2c6d5",
                "md5": "99a09f10a7ade05c73951e05781eb598",
                "sha256": "505cbe20ec476f3668a1e3caf2f260cca27e9f46edf644ba661d9c545c6537de"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "99a09f10a7ade05c73951e05781eb598",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1802466,
            "upload_time": "2024-04-17T11:52:02",
            "upload_time_iso_8601": "2024-04-17T11:52:02.895357Z",
            "url": "https://files.pythonhosted.org/packages/c7/24/e6cdbb944452b2b8147fdddeb17d94eed23d80fda9d80759fdc579a2c6d5/berlin-1.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a7b4d2b838bef903845a5f8b4e14389a5c3d0fba0ac26829bd313f250c0f7700",
                "md5": "5490f4645bc86003b35e7bde3dfff2e3",
                "sha256": "8516d75868182ad59b43d8f7fd049700f8f60bdf6b33b2caeb5fac0c4e17489a"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "5490f4645bc86003b35e7bde3dfff2e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1865936,
            "upload_time": "2024-04-17T11:52:04",
            "upload_time_iso_8601": "2024-04-17T11:52:04.558690Z",
            "url": "https://files.pythonhosted.org/packages/a7/b4/d2b838bef903845a5f8b4e14389a5c3d0fba0ac26829bd313f250c0f7700/berlin-1.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6d4cc50a1267ae63d37a248da73e4c5f12cbecccd8849c0206e03461a738dc91",
                "md5": "2ca91e488dc72b8417a6db6ae6416ad3",
                "sha256": "ef8b386e7762a92c509a30b23f9afbc10d0f4c18579f5a83873e8c822b029194"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2ca91e488dc72b8417a6db6ae6416ad3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 1665855,
            "upload_time": "2024-04-17T11:52:06",
            "upload_time_iso_8601": "2024-04-17T11:52:06.251169Z",
            "url": "https://files.pythonhosted.org/packages/6d/4c/c50a1267ae63d37a248da73e4c5f12cbecccd8849c0206e03461a738dc91/berlin-1.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80b091d8d604fd55e58de9682ceb713cd575ed214e58a7ae0f2191ecc3ab9466",
                "md5": "f1fee57c976d24b98f47a0a7e28a3e0e",
                "sha256": "af46be80d258686600ab1fa6699d6ed3019bde1036330283496c97b1609ecaf6"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-none-win32.whl",
            "has_sig": false,
            "md5_digest": "f1fee57c976d24b98f47a0a7e28a3e0e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 684392,
            "upload_time": "2024-04-17T11:52:07",
            "upload_time_iso_8601": "2024-04-17T11:52:07.979947Z",
            "url": "https://files.pythonhosted.org/packages/80/b0/91d8d604fd55e58de9682ceb713cd575ed214e58a7ae0f2191ecc3ab9466/berlin-1.0.0-cp38-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0c297da2c72212b37ae31bc62f48eb1b4e94d3a5fd08b2cc26d80b6ab4996a91",
                "md5": "5a44a2e760b8f9329ae32143dadc6ae9",
                "sha256": "30f732bf2a61b0d891213c93e41ff63b547b884cfa88a6ab0f399593f92179ed"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp38-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5a44a2e760b8f9329ae32143dadc6ae9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 694587,
            "upload_time": "2024-04-17T11:52:09",
            "upload_time_iso_8601": "2024-04-17T11:52:09.854431Z",
            "url": "https://files.pythonhosted.org/packages/0c/29/7da2c72212b37ae31bc62f48eb1b4e94d3a5fd08b2cc26d80b6ab4996a91/berlin-1.0.0-cp38-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "18a4a2d964ba6cadf6efe12d278880f9da9d5b20eb5c653149436125d2428f07",
                "md5": "d42b19c3bc27a5876a69de2ce77e6d6f",
                "sha256": "c7551cda2e8670921906dcad2289b9fe792a1bbee141d9d3f9759487d468cc3a"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "d42b19c3bc27a5876a69de2ce77e6d6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1730776,
            "upload_time": "2024-04-17T11:52:11",
            "upload_time_iso_8601": "2024-04-17T11:52:11.174478Z",
            "url": "https://files.pythonhosted.org/packages/18/a4/a2d964ba6cadf6efe12d278880f9da9d5b20eb5c653149436125d2428f07/berlin-1.0.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a87853a05dbcf57afa15b0ff8c02b615c9b07196d506297216d68d0d5fda1f82",
                "md5": "1237e046cdab612951397c7373e812fa",
                "sha256": "5e9eff7bb989686efb29edcc8d03ce975dfafc84f0aad0aa9348d9385fa2aca7"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1237e046cdab612951397c7373e812fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1658383,
            "upload_time": "2024-04-17T11:52:12",
            "upload_time_iso_8601": "2024-04-17T11:52:12.711473Z",
            "url": "https://files.pythonhosted.org/packages/a8/78/53a05dbcf57afa15b0ff8c02b615c9b07196d506297216d68d0d5fda1f82/berlin-1.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b956466274ea9e54c26b5e77eaeb25b97c1fc6ef4737701aa4b989d4f97160f",
                "md5": "d2468899f8ef11a0bb550221a09a8b83",
                "sha256": "248405bdb285bcb6a408f287e1ee79fce2d9732690153dfa50d316036a257f35"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "d2468899f8ef11a0bb550221a09a8b83",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1671408,
            "upload_time": "2024-04-17T11:52:14",
            "upload_time_iso_8601": "2024-04-17T11:52:14.554604Z",
            "url": "https://files.pythonhosted.org/packages/4b/95/6466274ea9e54c26b5e77eaeb25b97c1fc6ef4737701aa4b989d4f97160f/berlin-1.0.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7cec6bad1511d27857ac504304a019bc005b116aa69823f18eafa852cb66f1df",
                "md5": "5244d3a23dcb47abfe3042f893d02823",
                "sha256": "cc4530f03f3054244860b5b98b49b8c76088c616eb0bf95f604ceb9426b4209b"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "5244d3a23dcb47abfe3042f893d02823",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1801244,
            "upload_time": "2024-04-17T11:52:16",
            "upload_time_iso_8601": "2024-04-17T11:52:16.583633Z",
            "url": "https://files.pythonhosted.org/packages/7c/ec/6bad1511d27857ac504304a019bc005b116aa69823f18eafa852cb66f1df/berlin-1.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3e0c9c3962f0ac13a485d26b5e4aacc77a0597cb3c052d8f85f4f45e0e2bccab",
                "md5": "cbed310e8329db375d2c86def07a46d4",
                "sha256": "0624dd28f1c8ca2cff1fb4bc3d2d743bdee86aae66dedfdff8881dce064e3961"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "cbed310e8329db375d2c86def07a46d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1865094,
            "upload_time": "2024-04-17T11:52:18",
            "upload_time_iso_8601": "2024-04-17T11:52:18.291665Z",
            "url": "https://files.pythonhosted.org/packages/3e/0c/9c3962f0ac13a485d26b5e4aacc77a0597cb3c052d8f85f4f45e0e2bccab/berlin-1.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2450d065ec82285c536b00b287f9abca60249bdec322658deac0dec115945e7e",
                "md5": "f8c8dca67ade142aa2843a55c8b7a55c",
                "sha256": "aacb5e604fbc3760d773c0d11ffcf2af720dade5adceccd573be941b0db3c45a"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f8c8dca67ade142aa2843a55c8b7a55c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 1664956,
            "upload_time": "2024-04-17T11:52:19",
            "upload_time_iso_8601": "2024-04-17T11:52:19.753936Z",
            "url": "https://files.pythonhosted.org/packages/24/50/d065ec82285c536b00b287f9abca60249bdec322658deac0dec115945e7e/berlin-1.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "48a01681bf0ccae5ccbf98d76c21fc5b8ba2ef70874d860bc961f08723f8bde2",
                "md5": "228590034d9fa94bc20d06f6c88ff972",
                "sha256": "8a2d90ac9dfc388e72192bfe1e2724fd7f44c61fc013a296582f264915f2e540"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-none-win32.whl",
            "has_sig": false,
            "md5_digest": "228590034d9fa94bc20d06f6c88ff972",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 684464,
            "upload_time": "2024-04-17T11:52:21",
            "upload_time_iso_8601": "2024-04-17T11:52:21.671462Z",
            "url": "https://files.pythonhosted.org/packages/48/a0/1681bf0ccae5ccbf98d76c21fc5b8ba2ef70874d860bc961f08723f8bde2/berlin-1.0.0-cp39-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f1b8fb457d6f844d3037702416d3f2e0560680cac61d55fcc21f3e69b6a294f",
                "md5": "4ca52dd4fe70fb7bc282fb839762673c",
                "sha256": "bf351ef05be44c08e751eb461fab8476a282cb9aedfd0723d4601a605e5d5760"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-cp39-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4ca52dd4fe70fb7bc282fb839762673c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 694765,
            "upload_time": "2024-04-17T11:52:22",
            "upload_time_iso_8601": "2024-04-17T11:52:22.939465Z",
            "url": "https://files.pythonhosted.org/packages/8f/1b/8fb457d6f844d3037702416d3f2e0560680cac61d55fcc21f3e69b6a294f/berlin-1.0.0-cp39-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96de9ee4e7b3d6ee4c7e605d98c8daab721c8cf9addb87b28c46cf459b6e4017",
                "md5": "1b62182621ec5a6835c376a766015f9c",
                "sha256": "02c13cb719abb3315f6ca9d22cebbb420a7616e604cf0fc4fc86ae74e15d170c"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "1b62182621ec5a6835c376a766015f9c",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1730284,
            "upload_time": "2024-04-17T11:52:24",
            "upload_time_iso_8601": "2024-04-17T11:52:24.433217Z",
            "url": "https://files.pythonhosted.org/packages/96/de/9ee4e7b3d6ee4c7e605d98c8daab721c8cf9addb87b28c46cf459b6e4017/berlin-1.0.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ead0f39eb5b494700b72d36343b10d56615acb61507b69f6dbfb918c25184cb0",
                "md5": "09cdad350366c1390239bc635faba68a",
                "sha256": "b53b5041824cf10f2ade26a0d1073bb180d1bbcd8b7d4bdd1079756aa2a3329c"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "09cdad350366c1390239bc635faba68a",
            "packagetype": "bdist_wheel",
            "python_version": "pp310",
            "requires_python": ">=3.8",
            "size": 1666006,
            "upload_time": "2024-04-17T11:52:25",
            "upload_time_iso_8601": "2024-04-17T11:52:25.800153Z",
            "url": "https://files.pythonhosted.org/packages/ea/d0/f39eb5b494700b72d36343b10d56615acb61507b69f6dbfb918c25184cb0/berlin-1.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad6d6e0ed3da96ca1f09cea326a9d90d55516d7c9adc9a95f27a5842df3e6f3a",
                "md5": "9cd82e975bf57d076c7ad73a761cb011",
                "sha256": "bc85de770b992f3b327015a979d14f2f16fbee1f9d336a7a771548a5df949839"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "9cd82e975bf57d076c7ad73a761cb011",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1729428,
            "upload_time": "2024-04-17T11:52:29",
            "upload_time_iso_8601": "2024-04-17T11:52:29.030396Z",
            "url": "https://files.pythonhosted.org/packages/ad/6d/6e0ed3da96ca1f09cea326a9d90d55516d7c9adc9a95f27a5842df3e6f3a/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f898d5269e74840901111ed1448cf6d5d247b9b72eeda9a5961e28278400656b",
                "md5": "fe897eea9b664034a409b77558a474f1",
                "sha256": "a7e0ddb37efd697f812185dab1a8ae3b8fa15741d77c8942da8634bc7a669767"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fe897eea9b664034a409b77558a474f1",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1657136,
            "upload_time": "2024-04-17T11:52:30",
            "upload_time_iso_8601": "2024-04-17T11:52:30.478980Z",
            "url": "https://files.pythonhosted.org/packages/f8/98/d5269e74840901111ed1448cf6d5d247b9b72eeda9a5961e28278400656b/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c13a776f725df97a7337e3692aaadf2337aadaa0ba61362bc52f6dac467bc4e6",
                "md5": "045fdefaf0ad5dec73de6587af3f10b1",
                "sha256": "5305f7a52e920fdfe75b62d2a1273df3f00fbd5ebd08c8f1c28169afb83e69c9"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "045fdefaf0ad5dec73de6587af3f10b1",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1672039,
            "upload_time": "2024-04-17T11:52:32",
            "upload_time_iso_8601": "2024-04-17T11:52:32.031523Z",
            "url": "https://files.pythonhosted.org/packages/c1/3a/776f725df97a7337e3692aaadf2337aadaa0ba61362bc52f6dac467bc4e6/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0bde774c0d9f79b7688e094cdf6babf7254401ee9de8d29fdfddb1a60eea25e3",
                "md5": "55eeae7d6aa4b1c0f3c336fa04becdf3",
                "sha256": "bd1baaa84082023eb296dd896faf0f5b7c80511eb1e0a543e04622aa6075a4c1"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "55eeae7d6aa4b1c0f3c336fa04becdf3",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1801711,
            "upload_time": "2024-04-17T11:52:34",
            "upload_time_iso_8601": "2024-04-17T11:52:34.014808Z",
            "url": "https://files.pythonhosted.org/packages/0b/de/774c0d9f79b7688e094cdf6babf7254401ee9de8d29fdfddb1a60eea25e3/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "45cbafa8c46a89927d8d82fa031d9d5c8bba24eafaab6b5e59f5e0081d274815",
                "md5": "36380dc289aededece27cf56bd8f04e5",
                "sha256": "a3e1b20a71365bfcf99d00570c78e471052bd664980fd907fdb2ad9f922e077b"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "36380dc289aededece27cf56bd8f04e5",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1865609,
            "upload_time": "2024-04-17T11:52:35",
            "upload_time_iso_8601": "2024-04-17T11:52:35.407917Z",
            "url": "https://files.pythonhosted.org/packages/45/cb/afa8c46a89927d8d82fa031d9d5c8bba24eafaab6b5e59f5e0081d274815/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "334b587d7da106fbdec3586e72d15cb90edc9d2edeabf75721711aeaeee0659b",
                "md5": "35425fcb7d64e7a307a390be859399aa",
                "sha256": "a40773b311557531cd8a17adc203598d96bda7efd65601312953361dc52e485e"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "35425fcb7d64e7a307a390be859399aa",
            "packagetype": "bdist_wheel",
            "python_version": "pp38",
            "requires_python": ">=3.8",
            "size": 1665511,
            "upload_time": "2024-04-17T11:52:37",
            "upload_time_iso_8601": "2024-04-17T11:52:37.171465Z",
            "url": "https://files.pythonhosted.org/packages/33/4b/587d7da106fbdec3586e72d15cb90edc9d2edeabf75721711aeaeee0659b/berlin-1.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5746295898086db2cc6cea01aa61172889686685c9d2124408ed0d6fdb70cd3a",
                "md5": "e2629e680148dad881146420e5edb158",
                "sha256": "344b9b4c42058ac23b229deb182934783f30e5d8e846bb5e770619024f266d75"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "has_sig": false,
            "md5_digest": "e2629e680148dad881146420e5edb158",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1730234,
            "upload_time": "2024-04-17T11:52:38",
            "upload_time_iso_8601": "2024-04-17T11:52:38.760128Z",
            "url": "https://files.pythonhosted.org/packages/57/46/295898086db2cc6cea01aa61172889686685c9d2124408ed0d6fdb70cd3a/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a1f76b3a9c576ec6f37b412d0cdf59ae35c484d07cec6be50f832fbeacca0696",
                "md5": "8e0c5ba409aed50d6ef5b6a7a1b9aea6",
                "sha256": "849e28b22c3cdd51f7ad48954e8d63a38a591278b66667ce8a6dd80d1ba565c5"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8e0c5ba409aed50d6ef5b6a7a1b9aea6",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1656954,
            "upload_time": "2024-04-17T11:52:40",
            "upload_time_iso_8601": "2024-04-17T11:52:40.368630Z",
            "url": "https://files.pythonhosted.org/packages/a1/f7/6b3a9c576ec6f37b412d0cdf59ae35c484d07cec6be50f832fbeacca0696/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bed34138ca42dbd491ce5f4e014e4881a7104fa2a4f89e592d3ba7a04d9c53cc",
                "md5": "7b62b02a3bd08011eaecaf4d612bbcce",
                "sha256": "87d252062f2245051d41e3e71a8dd1910a33f2b3765ac3311d6031600bd24183"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "7b62b02a3bd08011eaecaf4d612bbcce",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1673047,
            "upload_time": "2024-04-17T11:52:42",
            "upload_time_iso_8601": "2024-04-17T11:52:42.316218Z",
            "url": "https://files.pythonhosted.org/packages/be/d3/4138ca42dbd491ce5f4e014e4881a7104fa2a4f89e592d3ba7a04d9c53cc/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "814756f9930ee9f6a5bc3a7e21d9a95ba62b4e6221a92dc8bfbd856a352cf3f3",
                "md5": "0bd29d33acdcb398ddf796cd06835b78",
                "sha256": "a727c74dbc496eb90fe2ee9427004f9d3bf77318d8f848c9388f5ddc05168a02"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "0bd29d33acdcb398ddf796cd06835b78",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1801177,
            "upload_time": "2024-04-17T11:52:43",
            "upload_time_iso_8601": "2024-04-17T11:52:43.815308Z",
            "url": "https://files.pythonhosted.org/packages/81/47/56f9930ee9f6a5bc3a7e21d9a95ba62b4e6221a92dc8bfbd856a352cf3f3/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "736568621ba2fa237488aea2ab9caf52698d02703b3b4c5ba853d0bc7a431a05",
                "md5": "3ffcf63f497d0c338120e5ad4b109c7e",
                "sha256": "8ac009be2f5d771c73618a9914a734011f76957d94de9713fcbb393eac2edded"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "3ffcf63f497d0c338120e5ad4b109c7e",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1865258,
            "upload_time": "2024-04-17T11:52:45",
            "upload_time_iso_8601": "2024-04-17T11:52:45.444662Z",
            "url": "https://files.pythonhosted.org/packages/73/65/68621ba2fa237488aea2ab9caf52698d02703b3b4c5ba853d0bc7a431a05/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "45ee6d5b9fe1e2d8e0f27503ea6a4fdfcfdf6b53a4c23e3c29c20dedcfce290b",
                "md5": "0022b9bfce9abd21444525eabd3bf228",
                "sha256": "7f9dc4a36a874bafe7dd0c2339c2ea729355fa54a526e47b5252351d0faa743e"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0022b9bfce9abd21444525eabd3bf228",
            "packagetype": "bdist_wheel",
            "python_version": "pp39",
            "requires_python": ">=3.8",
            "size": 1665961,
            "upload_time": "2024-04-17T11:52:47",
            "upload_time_iso_8601": "2024-04-17T11:52:47.068423Z",
            "url": "https://files.pythonhosted.org/packages/45/ee/6d5b9fe1e2d8e0f27503ea6a4fdfcfdf6b53a4c23e3c29c20dedcfce290b/berlin-1.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "03b60ddf3d5871c23c1aa52e9fe53174c78cf47e0448b47a28ddb607653d6eba",
                "md5": "bea23cf9b674b552fd9d5b2e02452816",
                "sha256": "05baa9072c72793f2465970cde80f01e19f43325aef9a55bbbc03f1767f04f36"
            },
            "downloads": -1,
            "filename": "berlin-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bea23cf9b674b552fd9d5b2e02452816",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 21578,
            "upload_time": "2024-04-17T11:52:48",
            "upload_time_iso_8601": "2024-04-17T11:52:48.469108Z",
            "url": "https://files.pythonhosted.org/packages/03/b6/0ddf3d5871c23c1aa52e9fe53174c78cf47e0448b47a28ddb607653d6eba/berlin-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-17 11:52:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "flaxandteal",
    "github_project": "berlin-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "berlin"
}
        
Elapsed time: 3.33884s