{"id":17623515,"url":"https://github.com/jannikmi/timezonefinderl","last_synced_at":"2025-04-30T22:08:11.293Z","repository":{"id":40984852,"uuid":"87571536","full_name":"jannikmi/timezonefinderL","owner":"jannikmi","description":"lightweight python package for finding the timezone of any point on earth (coordinates)","archived":false,"fork":false,"pushed_at":"2023-07-20T13:14:43.000Z","size":7107,"stargazers_count":9,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T22:07:46.427Z","etag":null,"topics":["coordinates","geolocation","latitude","location","longitude","package","python","timezone","timezone-picker","timezones"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jannikmi.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-04-07T17:41:08.000Z","updated_at":"2025-02-23T14:35:37.000Z","dependencies_parsed_at":"2022-09-02T06:36:56.733Z","dependency_job_id":null,"html_url":"https://github.com/jannikmi/timezonefinderL","commit_stats":{"total_commits":16,"total_committers":4,"mean_commits":4.0,"dds":0.5,"last_synced_commit":"927cad8463457f9ea28d18217b20a09405995dca"},"previous_names":["mrminimal64/timezonefinderl"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2FtimezonefinderL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2FtimezonefinderL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2FtimezonefinderL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jannikmi%2FtimezonefinderL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jannikmi","download_url":"https://codeload.github.com/jannikmi/timezonefinderL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789612,"owners_count":21644085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coordinates","geolocation","latitude","location","longitude","package","python","timezone","timezone-picker","timezones"],"created_at":"2024-10-22T21:10:22.752Z","updated_at":"2025-04-30T22:08:11.241Z","avatar_url":"https://github.com/jannikmi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"===============\ntimezonefinderL\n===============\n\n\n\n.. warning::\n\n    This package is deprecated.\n    Use the ``TimezoneFinderL`` class of the `timezonefinder \u003chttps://github.com/MrMinimal64/timezonefinder\u003e`__ package instead.\n\n\n\n.. image:: https://img.shields.io/travis/MrMinimal64/timezonefinderL/master.svg\n    :target: https://travis-ci.org/MrMinimal64/timezonefinderL\n\n.. image:: https://img.shields.io/pypi/wheel/timezonefinderL.svg\n    :target: https://pypi.python.org/pypi/timezonefinderL\n\n.. image:: https://pepy.tech/badge/timezonefinderL\n    :alt: Total PyPI downloads\n    :target: https://pypi.python.org/pypi/timezonefinderL\n\n.. image:: https://img.shields.io/pypi/v/timezonefinderL.svg\n    :target: https://pypi.python.org/pypi/timezonefinderL\n\n\n``timezonefinderL`` is the faster and lightweight, but inaccurate version of the original `timezonefinder \u003chttps://github.com/MrMinimal64/timezonefinder\u003e`__.\nUse this package in favour of ``timezonefinder`` when memory usage and speed matter more to you than accuracy.\n\n\nOnly the function ``timezone_at()`` is being supported and ``numba`` cannot be used for precompilation.\nThe commands need to modified:\n\n::\n\n    pip install timezonefinderL\n\n\n.. code-block:: python\n\n    from timezonefinderL import TimezoneFinder\n\n    tf = TimezoneFinder()\n\n    longitude, latitude = 13.358, 52.5061\n    tf.timezone_at(lng=longitude, lat=latitude)  # returns 'Europe/Berlin'\n\n\nFor everything else please refer to the original `Documentation \u003chttps://github.com/MrMinimal64/timezonefinder\u003e`__.\n\n\nOperating Principle\n-------------------\n\nInstead of storing timezone polygons and checking which polygon a query point is included in, like with the vanilla ``timezonefinder``,\nthis package uses only the precomputed \"shortcuts\" to instantly lookup a timezone.\nShortcuts are defined by splitting the coordinate system into rectangles.\nThe zone which has the highest amount of timezone polygons (not covered surface!) within such a shortcut rectangle is instantly being returned.\n\nThis requires far less memory and computing time, but of course is not accurate close to the borders of two neighbouring timezones.\n\n\nThe size of the shortcut rectangles (\u003c-\u003e accuracy) is equal to the one used in the vanilla ``timezonefinder`` (1 shortcut per degree longitude, 2 per degree latitude, 260KB binary file size).\nIn order to increase the accuracy (more and smaller shortcut rectangles), increment the parameters ``NR_SHORTCUTS_PER_LNG`` and ``NR_SHORTCUTS_PER_LAT`` in ``global_settings.py`` and compile a new binary shortcut file by running ``file_converter.py``.\n\n\nSpeed Test Results:\n-------------------\n\nobtained on MacBook Pro (15-inch, 2017), 2,8 GHz Intel Core i7\nIt can be seen that ``timezonefinderL`` is roughly one order of magnitude faster than ``timezonefinder``:\n\n::\n\n    Speed Tests:\n    -------------\n    \"realistic points\": points included in a timezone\n\n    in memory mode: False\n\n    testing 100000 realistic points\n    total time: 0.5513s\n    avg. points per second: 1.8 * 10^5\n\n    testing 100000 random points\n    total time: 0.5682s\n    avg. points per second: 1.8 * 10^5\n\n\n    in memory mode: True\n\n    testing 100000 realistic points\n    total time: 0.1688s\n    avg. points per second: 5.9 * 10^5\n\n\n    testing 100000 random points\n    total time: 0.1837s\n    avg. points per second: 5.4 * 10^5\n\n\n\nContact\n-------\n\n\nIf you notice that the tz data is outdated, encounter any bugs, have\nsuggestions, criticism, etc. feel free to **open an Issue**, **add a Pull Requests** on Git or ...\n\ncontact me: *[python] {*-at-*} [michelfe] {-*dot*-} [it]*\n\n\n\nLicense\n-------\n\n``timezonefinderL`` is distributed under the terms of the MIT license\n(see LICENSE.txt).\n\n\n\nAlso see:\n`GitHub \u003chttps://github.com/MrMinimal64/timezonefinderL\u003e`__,\n`PyPI \u003chttps://pypi.python.org/pypi/timezonefinderL/\u003e`__,\n`GUI and API \u003chttp://timezonefinder.michelfe.it/gui\u003e`__ of the outdated ``timezonefinderL``\n`timezonefinder \u003chttps://github.com/MrMinimal64/timezonefinder\u003e`__,\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Ftimezonefinderl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjannikmi%2Ftimezonefinderl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjannikmi%2Ftimezonefinderl/lists"}