mozloc


Namemozloc JSON
Version 1.8.0 PyPI version JSON
download
home_pageNone
SummaryUsing Mozilla Location services, log location vs. time using WiFi or convert to KML.
upload_time2024-09-19 18:09:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords wifi geolocation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # RETIRED: Mozilla Location Services from Python

[![ci](https://github.com/scivision/mozilla-location-wifi/actions/workflows/ci.yml/badge.svg)](https://github.com/scivision/mozilla-location-wifi/actions/workflows/ci.yml)
[![PyPI Download stats](http://pepy.tech/badge/mozloc)](http://pepy.tech/project/mozloc)

This project is RETIRED due to
[discontinuation of Mozilla Location Services](https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693).
It worked so well, sorry to see it go!

This project can nonetheless be used as a reference for accessing WiFi information from Python.

A future direction might be to use
[Google Geolocation API](https://developers.google.com/maps/documentation/geolocation/intro)

---

Uses command line access to WiFi information via
[Mozilla Location Services API](https://ichnaea.readthedocs.io/en/latest/api/geolocate.html?highlight=macaddress#wifi-access-point-fields)
from Python.
The command line programs used to access WiFi information include:

* Linux: [nmcli](https://developer.gnome.org/NetworkManager/stable/nmcli.html) NetworkManager
* MacOS: [CoreLocation.CWWiFiClient](https://developer.apple.com/documentation/corewlan/cwwificlient) or for macOS < 14.4 [airport](https://ss64.com/osx/airport.html)
* Windows: [netsh](https://learn.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh)

## Install

Get latest release

```sh
pip install mozloc
```

or for latest development version:

```sh
git clone https://github.com/scivision/mozilla-location-wifi/
pip install -e ./mozilla-location-wifi
```

## Usage

```sh
python -m mozloc
```

Shows `time` `lat` `lng` `accuracy` `N BSSIDs heard`.
In urban areas, accuracy of less than 100 meters is possible.

dump raw signals, without using API:

```sh
python -m mozloc --dump
```

### macOS

macOS &ge; 14.4 uses CoreLocation.CWWiFiClient as "airport" was removed.

### Windows

On Windows, NetSH is used.
You may need to disconnect from WiFi (leave WiFi enabled) to make your WiFi chipset scan and be able to get location.

## convert to KML

Display logged data in Google Earth or other KML viewer after converting from CSV to KML:

```sh
python -m mozloc.csv2kml in.log out.kml
```

which uses

```sh
pip install simplekml
```

Note that your time MUST be in ISO 8601 format or some KML reading programs such as Google Earth will just show a blank file.
E.g.

2016-07-24T12:34:56

## TODO

Would like to add Bluetooth beacons. Need to use a new location service.

## Notes

* [Inspired by](https://github.com/flyinva/mozlosh)
* [Alternative using Skyhook and geoclue](https://github.com/scivision/python-geoclue)
* [Raspberry Pi NetworkManager](https://raspberrypi.stackexchange.com/a/73816)

To print verbose information about nearby WiFi:

* Windows: `netsh wlan show networks mode=bssid`
* MacOS: `airport -s`
* Linux: `nmcli dev wifi list`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mozloc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "wifi, geolocation",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/8f/60/95f45d23e3a7988adb59dbcba9eeb6bd422fb0271f81ef73d604d63e9c76/mozloc-1.8.0.tar.gz",
    "platform": null,
    "description": "# RETIRED: Mozilla Location Services from Python\n\n[![ci](https://github.com/scivision/mozilla-location-wifi/actions/workflows/ci.yml/badge.svg)](https://github.com/scivision/mozilla-location-wifi/actions/workflows/ci.yml)\n[![PyPI Download stats](http://pepy.tech/badge/mozloc)](http://pepy.tech/project/mozloc)\n\nThis project is RETIRED due to\n[discontinuation of Mozilla Location Services](https://discourse.mozilla.org/t/retiring-the-mozilla-location-service/128693).\nIt worked so well, sorry to see it go!\n\nThis project can nonetheless be used as a reference for accessing WiFi information from Python.\n\nA future direction might be to use\n[Google Geolocation API](https://developers.google.com/maps/documentation/geolocation/intro)\n\n---\n\nUses command line access to WiFi information via\n[Mozilla Location Services API](https://ichnaea.readthedocs.io/en/latest/api/geolocate.html?highlight=macaddress#wifi-access-point-fields)\nfrom Python.\nThe command line programs used to access WiFi information include:\n\n* Linux: [nmcli](https://developer.gnome.org/NetworkManager/stable/nmcli.html) NetworkManager\n* MacOS: [CoreLocation.CWWiFiClient](https://developer.apple.com/documentation/corewlan/cwwificlient) or for macOS < 14.4 [airport](https://ss64.com/osx/airport.html)\n* Windows: [netsh](https://learn.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh)\n\n## Install\n\nGet latest release\n\n```sh\npip install mozloc\n```\n\nor for latest development version:\n\n```sh\ngit clone https://github.com/scivision/mozilla-location-wifi/\npip install -e ./mozilla-location-wifi\n```\n\n## Usage\n\n```sh\npython -m mozloc\n```\n\nShows `time` `lat` `lng` `accuracy` `N BSSIDs heard`.\nIn urban areas, accuracy of less than 100 meters is possible.\n\ndump raw signals, without using API:\n\n```sh\npython -m mozloc --dump\n```\n\n### macOS\n\nmacOS &ge; 14.4 uses CoreLocation.CWWiFiClient as \"airport\" was removed.\n\n### Windows\n\nOn Windows, NetSH is used.\nYou may need to disconnect from WiFi (leave WiFi enabled) to make your WiFi chipset scan and be able to get location.\n\n## convert to KML\n\nDisplay logged data in Google Earth or other KML viewer after converting from CSV to KML:\n\n```sh\npython -m mozloc.csv2kml in.log out.kml\n```\n\nwhich uses\n\n```sh\npip install simplekml\n```\n\nNote that your time MUST be in ISO 8601 format or some KML reading programs such as Google Earth will just show a blank file.\nE.g.\n\n2016-07-24T12:34:56\n\n## TODO\n\nWould like to add Bluetooth beacons. Need to use a new location service.\n\n## Notes\n\n* [Inspired by](https://github.com/flyinva/mozlosh)\n* [Alternative using Skyhook and geoclue](https://github.com/scivision/python-geoclue)\n* [Raspberry Pi NetworkManager](https://raspberrypi.stackexchange.com/a/73816)\n\nTo print verbose information about nearby WiFi:\n\n* Windows: `netsh wlan show networks mode=bssid`\n* MacOS: `airport -s`\n* Linux: `nmcli dev wifi list`\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Using Mozilla Location services, log location vs. time using WiFi or convert to KML.",
    "version": "1.8.0",
    "project_urls": null,
    "split_keywords": [
        "wifi",
        " geolocation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4850f9b61d4ddd484a115e41992428395b047d16f22035bf95a2b8b8df24b889",
                "md5": "43e9203a380a83a4049c500b7b5b4381",
                "sha256": "f173a4c899bc16eb5cf66a6f0ccce74410d0215ca5812413549be1ea7a8e56dc"
            },
            "downloads": -1,
            "filename": "mozloc-1.8.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "43e9203a380a83a4049c500b7b5b4381",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 14027,
            "upload_time": "2024-09-19T18:09:25",
            "upload_time_iso_8601": "2024-09-19T18:09:25.125525Z",
            "url": "https://files.pythonhosted.org/packages/48/50/f9b61d4ddd484a115e41992428395b047d16f22035bf95a2b8b8df24b889/mozloc-1.8.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f6095f45d23e3a7988adb59dbcba9eeb6bd422fb0271f81ef73d604d63e9c76",
                "md5": "a15a8759456974ed72be4e6c7c6c4d9d",
                "sha256": "e7b14e9ccbafa589c410c99234dcc52fe8eb430f74b8a996ce0208cac3f0cbb8"
            },
            "downloads": -1,
            "filename": "mozloc-1.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a15a8759456974ed72be4e6c7c6c4d9d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11934,
            "upload_time": "2024-09-19T18:09:26",
            "upload_time_iso_8601": "2024-09-19T18:09:26.597732Z",
            "url": "https://files.pythonhosted.org/packages/8f/60/95f45d23e3a7988adb59dbcba9eeb6bd422fb0271f81ef73d604d63e9c76/mozloc-1.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-19 18:09:26",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mozloc"
}
        
Elapsed time: 4.99614s