Matteo Rosati 1e76403565 update headers
2026-01-13 10:33:02 +01:00
2026-01-12 21:34:11 +01:00
2026-01-12 11:28:14 +01:00
2026-01-12 11:28:14 +01:00
2026-01-13 10:33:02 +01:00
2026-01-12 11:28:14 +01:00
2026-01-12 21:34:11 +01:00
2026-01-12 11:28:14 +01:00
2026-01-12 11:28:14 +01:00
2026-01-12 21:34:11 +01:00
2026-01-12 11:28:14 +01:00

Ingress Intel Report

A command-line tool for fetching and analyzing game events from the Ingress Intel API.

Features

  • Geographic Filtering: Query events within a bounding box
  • Event Classification: Automatic event type detection (portal captures, links, resonators, etc.)
  • Player Tracking: Filter events by specific players
  • Timestamp Filtering: Filter events by time range
  • Coordinate Extraction: Extract portal locations from events

Installation

# Using uv (recommended)
uv sync

# Using pip
pip install -r requirements.txt

Configuration

Set your Ingress cookie as an environment variable:

export INGRESS_COOKIE="your_cookie_here"

Or hardcode it in main.py (not recommended).

Usage

Basic Usage

# Get all events in default area (Venice, Italy)
python main.py

# Show help
python main.py --help

Command Line Options

Option Type Default Description
--event-types Multiple strings None Filter by event types. Accepts one or more values from: RESONATOR_DEPLOYED, RESONATOR_DESTROYED, PORTAL_CAPTURED, PORTAL_NEUTRALIZED, PORTAL_UNDER_ATTACK, LINK_CREATED, LINK_DESTROYED, CONTROL_FIELD_CREATED, UNKNOWN
--player-name String None Filter events by a specific player name
--min-lat Integer 45470259 Minimum latitude (in microdegrees, E6 format)
--min-lng Integer 12244155 Minimum longitude (in microdegrees, E6 format)
--max-lat Integer 45480370 Maximum latitude (in microdegrees, E6 format)
--max-lng Integer 12298207 Maximum longitude (in microdegrees, E6 format)
--min-timestamp Timestamp -1 Minimum timestamp (milliseconds since epoch or ISO 8601 format)
--max-timestamp Timestamp -1 Maximum timestamp (milliseconds since epoch or ISO 8601 format)

Timestamp Filtering

The --min-timestamp and --max-timestamp options support two formats:

Format 1: Milliseconds (integer)

python main.py --min-timestamp 1736659200000 --max-timestamp 1736745600000

Format 2: ISO 8601 datetime string

python main.py --min-timestamp "2026-01-12T00:00:00Z" --max-timestamp "2026-01-13T00:00:00Z"

Examples:

# Get events from last hour
python main.py --min-timestamp 1736659200000

# Get events for a specific day
python main.py --min-timestamp "2026-01-12T00:00:00Z" --max-timestamp "2026-01-13T00:00:00Z"

# Get events from a specific time onwards
python main.py --min-timestamp "2026-01-12T10:00:00Z"

# Get events up to a specific time
python main.py --max-timestamp "2026-01-12T12:00:00Z"

Event Type Filtering

# Filter by single event type
python main.py --event-types PORTAL_CAPTURED

# Filter by multiple event types
python main.py --event-types PORTAL_CAPTURED LINK_CREATED CONTROL_FIELD_CREATED

# Filter by resonator events
python main.py --event-types RESONATOR_DEPLOYED RESONATOR_DESTROYED

Player Filtering

# Filter by player name
python main.py --player-name Albicocca

# Combine with event type filter
python main.py --player-name Albicocca --event-types PORTAL_CAPTURED

Geographic Filtering

Coordinates are in E6 format (microdegrees): multiply decimal degrees by 1,000,000.

# Custom geographic bounds
python main.py --min-lat 45470000 --max-lat 45480000 --min-lng 12240000 --max-lng 12300000

Combining Filters

# Complex query with multiple filters
python main.py \
  --min-timestamp "2026-01-12T10:00:00Z" \
  --max-timestamp "2026-01-12T12:00:00Z" \
  --event-types PORTAL_CAPTURED LINK_CREATED \
  --player-name Albicocca \
  --min-lat 45470000 \
  --max-lat 45480000

Event Types

Event Type Description
RESONATOR_DEPLOYED Player deploys resonator on portal
RESONATOR_DESTROYED Resonator destroyed
PORTAL_CAPTURED Portal captured by player
PORTAL_NEUTRALIZED Portal neutralized
PORTAL_UNDER_ATTACK Portal being attacked
LINK_CREATED Link created between portals
LINK_DESTROYED Link destroyed
CONTROL_FIELD_CREATED Control field created
UNKNOWN Unrecognized event type

Output Format

Events are printed in the following format:

[2026-01-12 10:28:27] [PORTAL_CAPTURED] Albicocca captured L' Arboreto - Coords: 45471652, 12274703
[2026-01-12 10:28:26] [LINK_CREATED] Albicocca linked from L' Arboreto to Parco San Giuliano - Coords: 45471652, 12274703

Project Structure

ingress/
├── main.py           # CLI entry point
├── ingress.py        # API client
├── models.py         # Data models
├── pyproject.toml     # Project configuration
└── README.md         # This file

Dependencies

  • Python 3.13+
  • requests 2.31.0+

License

See project license file for details.

Description
No description provided
Readme 176 KiB
Languages
Python 96.8%
Shell 3.2%