Skip to content
This repository has been archived by the owner on Dec 15, 2018. It is now read-only.
/ pgoapi Public archive

Unofficial PokemonGO API in Python

License

Notifications You must be signed in to change notification settings

pogodevorg/pgoapi

Repository files navigation

Build Status

pgoapi - a pokemon go api lib in python

pgoapi is a client/api/demo for Pokemon Go by https://github.com/tejado.
It allows automatic parsing of requests/responses by finding the correct protobuf objects over a naming convention and will return the response in a parsed python dictionary format.

  • This is unofficial - USE AT YOUR OWN RISK !
  • I don't play pokemon go !
  • No bot/farming code included !

Feature Support

  • Python 2 and 3
  • Google/PTC auth
  • Address parsing for GPS coordinates
  • Allows chaining of RPC calls
  • Re-auth if ticket expired
  • Check for server side-throttling
  • Thread-safety
  • Advanced logging/debugging
  • Uses POGOProtos
  • Mostly all available RPC calls (see API reference on the wiki)

Documentation

Documentation is available at the github pgoapi wiki.

Requirements

  • Python 2 or 3
  • requests
  • protobuf (>=3)
  • gpsoauth
  • s2sphere
  • geopy (only for pokecli demo)

Use

To use this api as part of a python project using setuptools/pip, modify your requirements.txt file to include:

git+https://github.com/pogodevorg/pgoapi.git@develop#egg=pgoapi

If you are not using setuptools/pip, follow the instructions in the Contributing section below to clone this repository and then install pgoapi using the appropriate method for your project.

Contributing

Contributions are highly welcome. Please use github or Discord for it!

You can get started by cloning this repository. Note that as pgoapi uses git submodules you must perform a recursive clone:

Protocol Command
HTTPS git clone --recursive https://github.com/pogodevorg/pgoapi.git
SSH git clone --recursive git@github.com:pogodevorg/pgoapi.git

If you already have a copy of the repository you can use git submodule update --init to fetch and update the submodules.

Once you have cloned the repository, switch to the develop branch. To merge your changes back into the main repository, make a pull request to develop.

Credits

Mila432 for the login secrets
elliottcarlson for the Google Auth PR
AeonLucid for improved protos
AHAAAAAAA for parts of the s2sphere stuff
mikeres0 for the slack channel including auto #
DeirhX for thread-safety

Ports

Node Port by Arm4x
Node Port - pogobuf by cyraxx

Analytics