Skip to main content

geotastic-api

Installation

python3 -m pip install gt_api

(also installs requirements)

Usage

Logging in

Most API requests require logging in. There are two ways to do it:

  1. mail + password
  2. token

Mail + Password

import gt_api
client=gt_api.Client.login('your.mail@example.com', 'hunter2')

And you're in! The big caveat is that this logs you out of any other sessions, and also causes API costs. So for most use cases you want to use tokens.

Token

import gt_api
client=gt_api.Client('d8f350a3f557adc253f5003a81d3098c06dea93f84edf10e3fabc1d92acd1771')
How do I get it?

Go to geotastic and log in with your account. Then open the developer tools (F12 or ctrl-shift-i). Then navigate to Storage(Application->Storage for Chrome)->Local Storage->https://geotastic.net/ and scroll down to token. Copy the value.

Please note that the token is one per session, so once you log out of the session you got the token from, you'll need to update it.

Without Login

Use Client(None). Most functions will not work.

Accessing user data

data = client.user_data
nickname = data['nickname']
uid = data['uid']

Creating a drop group

map_id=12345
group = client.create_drop_group(map_id, -12.345, -69.420, 'pe', 'My Drop Group', active=True, bias=5.3)
print(group["dropGroup"]["id"])

Listing drop groups

client.get_drop_groups(12345)

If you don't own the map, use get_public_drop_groups()

Exporting drops

client.get_map_drops(12345)

or

client.get_group_drops(12345)

You DON'T need to own the map or the group.

Importing drops

drops=[{"id":1,"style":"streetview","lat":39.28719501248246,"lng":-103.07696260471509,"code":"us","panoId":"Ple0qA2-cNzxc0K-gXgbFA"}]
client.import_drops(drops, 12345, target_type="map", import_type="merge")

Possible target types are map and group. Possible import types are merge, override and update.

Lobbies

Lobbies are handled a little differently. To create a lobby, use Lobby.create(token). To join a lobby, user Lobby.join(token, lobby_id). You then add handlers for events coming in from the Lobby socket using the lobby.add_handler("event") decorator. The handler for the event "*" will be called for every event. You can send socket messages to the lobby using lobby.send_message(type, **kwargs). The kwargs will be added to the message json. You can make lobby api requests using lobby.lobby_api_request(url, method *args, **kwargs). Args and kwargs will be passed to request.request(). To run the lobby event loop, use Lobby.run() To disconnect from the lobby, use Lobby.disconnect() Look at examples/auto_lobby.py

Other uses

There's loads more I can't be bothered to document. Check the source code.

Contributing

If you'd like to have a feature that's not in the library, just create a github issue and I'll get to it (maybe).

If you'd like to add your own, it's pretty easy. Just use developer tools to check which api calls geotastic is making and then remake them as functions. If the calls are encrypted, use gt_api.generic.decode_encdata.

Download files

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

Source Distribution

gt_api-0.317.5.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

gt_api-0.317.5-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file gt_api-0.317.5.tar.gz.

File metadata

  • Download URL: gt_api-0.317.5.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for gt_api-0.317.5.tar.gz
Algorithm Hash digest
SHA256 02f6f6b67b1b9ce327492b7fbab2144270aa0e205d76cd0fc2fa32f99682474f
MD5 0bdd0a153a695e257060130701936348
BLAKE2b-256 cc5a1137d110e27e546a4d3c8d683b8982307b00cb98ba2140a8a5584781ed78

See more details on using hashes here.

File details

Details for the file gt_api-0.317.5-py3-none-any.whl.

File metadata

  • Download URL: gt_api-0.317.5-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for gt_api-0.317.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4d66165c0a23d24cfc190929a015e8a3258a64ceeae8809cc3b3d48fadcc9713
MD5 8f7280d3d2224408500dfe1846e17880
BLAKE2b-256 c3a29adb20769e2a24d812a2421fe2c954ad180418f42ed5fdf45675d66f8876

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.317.5 This release

2 files

0.311.5

2 files

0.308.4.1

2 files

0.308.4

2 files

0.306.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

Supported by

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