Skip to main content

A tool to download earthquake report information from the Philippine Institute of Volcanology and Seismology (PHIVOLCS) website.

Project description

pylindol

License: MIT PyPI version

pylindol is a lightweight and easy-to-use library designed to scrape or pull the latest earthquake data from the Philippine Institute of Volcanology and Seismology (PHIVOLCS) website. It provides a simple API to get up-to-date information for your applications, scripts, or research projects.

Requirements

  • Python >= 3.11

Installation

Install pylindol directly from PyPI:

pip install pylindol

Using a virtual environment (recommended)

# Create a virtual environment
python3 -m venv .venv

# Activate the virtual environment
source .venv/bin/activate  # On macOS/Linux
# .venv\Scripts\activate   # On Windows

# Install pylindol
pip install pylindol

Using uv

If you prefer using uv for faster package management:

uv add pylindol

Usage

Command Line Interface (CLI)

The package provides the pylindol command after installation.

Basic usage (scrape current month)

pylindol

Scrape a specific month and year

pylindol --month 8 --year 2025

Specify custom output directory

pylindol --output-path my_data

Combine options

pylindol --month 9 --year 2025 --output-path archive

Get help

pylindol --help

Python Library

You can also use the scraper as a Python library in your code.

Import the class

from pylindol import PhivolcsEarthquakeInfoScraper

Scrape current month

scraper = PhivolcsEarthquakeInfoScraper()
df = scraper.run()  # Returns a pandas DataFrame
print(df.head())  # Display first few rows

Scrape specific month and year

scraper = PhivolcsEarthquakeInfoScraper(month=8, year=2025)
df = scraper.run()  # Returns a pandas DataFrame

Specify custom output path

scraper = PhivolcsEarthquakeInfoScraper(
    month=9, 
    year=2025, 
    output_path="custom/directory"
)
df = scraper.run()  # Returns a pandas DataFrame

Control CSV export

# Export to CSV (default behavior)
scraper = PhivolcsEarthquakeInfoScraper(month=8, year=2025)
df = scraper.run()  # Also saves to CSV file

# Skip CSV export and only return DataFrame
scraper = PhivolcsEarthquakeInfoScraper(
    month=8, 
    year=2025, 
    export_to_csv=False
)
df = scraper.run()  # Only returns DataFrame, no CSV file

Features

  • ✅ Scrape current month's earthquake data
  • ✅ Scrape historical data by month and year
  • ✅ Returns pandas DataFrame for easy data manipulation
  • ✅ Optional CSV export (can be disabled)
  • ✅ Automatic CA certificate handling for SSL connections
  • ✅ Input validation (month range, year validation, and future date prevention)
  • ✅ Structured logging with loguru

Output

The scraper saves earthquake data as CSV files with the naming convention:

phivolcs_earthquake_data_{month}_{year}.csv

Default location: data/ directory (created automatically if it doesn't exist)

Example: data/phivolcs_earthquake_data_10_2025.csv

Note: You can disable CSV export by setting export_to_csv=False in the constructor. Note that the CLI will always export data to a CSV file.

The CSV files contain earthquake information including date, time, magnitude, location, and depth.

Development

If you want to contribute to pylindol or run it from source:

# Clone the repository
git clone git@github.com:clnhrn/pylindol.git
cd pylindol

# Install in development mode
pip install -e .

# Or using uv
uv sync

Project details


Download files

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

Source Distribution

pylindol-0.3.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

pylindol-0.3.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file pylindol-0.3.0.tar.gz.

File metadata

  • Download URL: pylindol-0.3.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for pylindol-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9382f7a645491e1184f792220b3ce7c4c08e2728d8980e2f5a8b662b24c228ed
MD5 266a71c87e9d7ed3b1704aaa243f1273
BLAKE2b-256 bad7427a6b10c647fe6e08813f430cb9aee5d68286f36e94e33e01d07ff3c3ab

See more details on using hashes here.

File details

Details for the file pylindol-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pylindol-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for pylindol-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee1d185090f24d768c67d1720d2a33549cde27cba441de6e58e2781c0bbabf1f
MD5 b9886d9014157cc6050687bfdc54a371
BLAKE2b-256 5234502c32ef1f5ed697ff0f9fce15b957cf456fe555b34b7fb1efc65fa7bfef

See more details on using hashes here.

Supported by

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