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.5.1.tar.gz (13.0 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.5.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pylindol-0.5.1.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pylindol-0.5.1.tar.gz
Algorithm Hash digest
SHA256 eb76d492226e9b55b5b29f4c25f6fc60e60138b15d8348a43b98f7c4eb4dea07
MD5 5aa165348b54993c50856f1bcd801f3e
BLAKE2b-256 7f01ed323260d37b1d96c16ab68d6b0c5e98853948a78a7186af2c8a0646a45f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pylindol-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pylindol-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3d022dc6fcdfcae5c2fe037352de406c3a1b443cdbcc2846c8b3ffe92a9873fb
MD5 97ce6a571602bfcead586f5fec15dde2
BLAKE2b-256 26069e8b64876d0375bea49881892e6147e31e4d9a534eeebcddcd61b327211f

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