A tool to download earthquake report information from the Philippine Institute of Volcanology and Seismology (PHIVOLCS) website.
Project description
pylindol
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylindol-0.5.0.tar.gz.
File metadata
- Download URL: pylindol-0.5.0.tar.gz
- Upload date:
- Size: 12.4 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4c18000b041f9eaefaee4e3653f67222c10def36a899e1d91c73702f68595b7
|
|
| MD5 |
24c4cb9573269b7d95b92b8acd65a70e
|
|
| BLAKE2b-256 |
b4f789f821a421e49122d58333ec88156efebbdb1fba72d3e3e4ef768da1e841
|
File details
Details for the file pylindol-0.5.0-py3-none-any.whl.
File metadata
- Download URL: pylindol-0.5.0-py3-none-any.whl
- Upload date:
- Size: 16.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c3a23eed696b9c46c346e021e5d573ea371fde5ce8223655ee9c5ac553ae363
|
|
| MD5 |
b52509566d34ea68a6dee94f3b078273
|
|
| BLAKE2b-256 |
0f29cd9825816bc5ee31310433064c86128a3d6a239bf76007f2e157b6008ea1
|