Skip to content

Releases: bendlikeabamboo/barangay

📦⬆️📅 v2026.7.13.0 — PSGC July 2026 Update

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 16 Jul 14:47
92369b4

📊 PSGC Data Update (July 2026)

  • Updated Philippine Standard Geographic Code resource data across all formats (JSON, YAML, Parquet) to the 2026-07-13 release
  • Version bumped to 2026.7.13.0
  • Refreshed dataset counts: municipalities 1,488 → 1,493, cities 146 → 150, regions 17 → 18 (barangays ~42,010)

✨ CLI — Hierarchy-Accurate Output (barangay/cli.py)

  • New rphicmsgb 9-character hierarchy indicator (region / province / HUC / ICC / component city / municipality / sub-municipality / SGA / barangay)
  • Hierarchy-loyal table rendering: only active levels shown as columns; blank-only level and plugin columns are auto-dropped
  • Plugin column collection via _collect_plugin_columns
  • CSV output support (_dict_to_csv)
  • New/refined commands: search, list, search_history, batch_search, and new batch_validate

📝 Documentation

  • README and index.qmd version/count references updated; changelog entry added for 2026.7.13
  • Refreshed CLI reference, plugins, and supporting Quarto pages to match the new CLI
  • Misc: .github/FUNDING.yml, uv.lock

🧪 Tests

  • tests/test_cli.py and tests/test_cli_plugin.py updated for the new CLI behavior

Full changelog: v2026.4.13.4...v2026.7.13.0

🚀 v2026.4.13.4 — Roman Numerals, Multi-Level Matching & Accurate Database View

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 15 Jun 05:03
25d949f

🚀 v2026.4.13.4 — Roman Numerals, Multi-Level Matching & Accurate Database View

A breaking-change release that standardizes roman numerals, unlocks matching across every PSGC level, and makes the database view respect the full administrative hierarchy. Built on the existing 2026-04-13 PSGC dataset.


⚠️ Breaking Changes

Accurate Database View (barangay/database.py)

  • EnrichedRecord.city → replaced with per-level properties: highly_urbanized_city, independent_component_city, component_city, submunicipality, special_geographic_area, and barangay
  • DatabaseView now accepts levels: frozenset[AdminLevel] in addition to a single level, enabling multi-level filtering
  • New EnrichedRecord.available_attributes reports which levels are populated for a record
  • to_dict() now emits all resolved hierarchy levels

Multi-Level Matching (barangay/search.py)

  • The barangay match hook is no longer required — queries can now match on region, province, city (HUC/ICC/component), municipality, sub-municipality, special geographic area, or barangay

✨ New Features

Roman Numeral Standardization (barangay/fuzz.py, barangay/utils.py)

  • Normalizes roman numerals (e.g. IV, Iv, iv) so fuzzy search matches consistently regardless of casing/formatting

Database API

  • HierarchyIndex.resolve_level() — generic ancestor resolution for any AdminLevel
  • HierarchyIndex.records_of_types() — filter records by a set of levels

🧪 Fuzzer

  • Regenerated fuzzer_base.parquet with refined fuzzer logic for more realistic fuzzy-match training

📝 Documentation & Types

  • Improved .pyi stubs (__init__.pyi, database.pyi)
  • Updated SKILL.md, AGENTS.md, and docs/ (API, CLI, data models)

🔧 Internal

  • Roman numeral handling added to the parser pipeline (parsers/psgc/)
  • Expanded test coverage (test_search, test_database, test_models, test_utils, test_cli)

Full changelog: v2026.4.13.3...v2026.4.13.4

🚀 v2026.4.13.3 — Performance, Typing & Match Hooks

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 09 Jun 04:02
0e810c1

🚀 v2026.4.13.3 — Performance, Typing & Match Hooks

A focused update bringing lazy-loading and caching optimizations, comprehensive type stubs, match hooks for fine-grained search control, and dependency upgrades across the board.


⚡ Performance

Lazy-Loading & Cache Optimizations

  • Lazy data imports — Top-level data containers (BARANGAY, BARANGAY_EXTENDED, BARANGAY_FLAT) now defer loading until first access, significantly reducing import time
  • Cache-aware as_of — Historical PSGC data lookups (use_version()) benefit from improved cache with proper cache key generation via version.py
  • Fuzzer lazy-initFuzzBase instances are created on-demand rather than at module import time

🔍 Match Hooks

Fine-Grained Fuzzy Search Control

  • match_hooks parameter — New parameter on search_fuzzy() and search() to control which name-levels (province, municipality, barangay) participate in fuzzy scoring
  • Typed with MatchHook literallist[MatchHook] type from barangay.types ensures only valid hooks are passed
  • Enables use cases like searching only by barangay name, or combining province + municipality matching while skipping barangay-level scoring
from barangay import search_fuzzy

# Only match against barangay names
results = search_fuzzy("Tongmageng", match_hooks=["barangay"])

# Match province + municipality, skip barangay scoring
results = search_fuzzy("Tawi-Tawi", match_hooks=["province", "municipality"])

📐 Type System

Type Stubs (.pyi)

  • barangay/__init__.pyi — Full type stub for the public API (104 lines), enabling IDE autocompletion and static analysis without importing the package
  • barangay/database.pyi — Type stub for Database API including DatabaseView, EnrichedRecord, Database, RecordNotFoundError, and all view-level methods (140 lines)

Better Typing & Error Handling

  • RecordNotFoundError exported in public API for explicit "no results" error handling
  • DatabaseView and EnrichedRecord now publicly exported from barangay.__init__
  • to_python_identifier utility added to utils.py for safe identifier conversion
  • Internal type annotations improved across database.py, search.py, and plugin_loader.py

📦 Dependency Upgrades

Package From To
pandas 2.3.x 3.0.3
pyarrow (replaces fastparquet) 18.0.0
pydantic 2.11.x 2.13.4
click 8.1.x 8.4.1
rich 13.9.x 15.0.0
tornado 6.5.4 6.5.6
requests 2.32.x 2.34.2
ruff 0.14.x 0.15.16
pytest 9.0.2 9.0.3
ty 0.0.17 0.0.44
pytest-cov 7.0.0 7.1.0
pytest-xdist 3.7.0 3.8.0

Breaking: fastparquet replaced by pyarrow for Parquet I/O. If you pinned fastparquet explicitly, update your dependencies.


🧪 Tests

  • test_cache_with_as_of.py — 200 lines of tests verifying cache behavior with historical as_of dates, ensuring correct cache hits and invalidation across version switches

🤖 Developer Experience

  • AGENTS.md — AI coding agent reference with project structure, commands, conventions, and workflow guide
  • Updated CONTRIBUTING.md and PR template with reference to AGENTS.md

📦 Installation

pip install barangay==2026.4.13.3

Quick Start

from barangay import barangays, search_fuzzy

# Lazy-loaded — data loads on first access
print(barangays.count)  # 42010

# Fine-grained search with match hooks
results = search_fuzzy("Tongmageng", match_hooks=["barangay"])

# Full type hints in your IDE thanks to new .pyi stubs
brgy = barangays.get(name="Tongmageng")
print(brgy.region.name)  # type-safe autocompletion

Full documentation: https://bendlikeabamboo.github.io/barangay/

🗄️ v2026.4.13.2 — Database API Redesign & Deprecations

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 05 Jun 17:31
84eed96

🗄️ Database API Redesign & Deprecations

This release introduces the Database API — a new pycountry-style interface for accessing PSGC data, along with comprehensive deprecation notices for legacy APIs scheduled for removal in 2027.X.X.X.


✨ What's New

Database API (barangay.database)

  • Database singleton — Central data access point with lazy-loading and caching
  • Level viewsregions, provinces, municipalities, cities, submunicipalities, barangays, special_geographic_areas as iterable, filterable database views
  • AdminDivRecord — Unified Pydantic model for all admin division types with AdminLevel enum
  • Hierarchy traversal.parent, .children, .ancestors properties on enriched records for navigating the PSGC tree
  • Context properties.region, .province, .municipality, .city computed properties on any record
  • .get() / .lookup() — Exact lookup by PSGC ID or name, with MultipleResultsError for ambiguous name matches
  • .search_fuzzy() — Fuzzy search scoped to any admin level view
  • .to_frame() / .to_dicts() — Direct Pandas DataFrame or dict export from any view, with automatic explode handling for array plugins
  • .use_plugins() / .use_version() — Module-level helpers to configure the global Database singleton
  • PluginAccessor — Attribute-accessible wrapper for plugin data on enriched records

New Public Models

  • AdminLevel — Enum: COUNTRY, REGION, PROVINCE, CITY, MUNICIPALITY, SUBMUNICIPALITY, BARANGAY, SPECIAL_GEOGRAPHIC_AREA
  • SearchResult — Typed search result with .record, .score, .match_type, .enriched properties
  • ValidationResult — Validation result with .input, .valid, .matched_record, .matched_name, .matched_psgc_id
  • PluginInfo — Plugin metadata model with .name, .enabled, .description, .version, .format, .repository
  • PluginExtension / PluginExtensionMetadata — Pydantic models for plugin data attached to records

Address Validation

  • validate() — Validate a single address string against PSGC data (default threshold 95.0)
  • validate_many() — Batch validation for multiple addresses

Type System

  • barangay.types — New module with DataType, AdminDivType, MatchHook, PluginFormat type literals

⚠️ Deprecations (removal in 2027.X.X.X)

The following legacy APIs now emit DeprecationWarning at import/use:

Deprecated Item Replacement
BARANGAY dict alias barangays.get(name=...)
BARANGAY_EXTENDED dict alias brgy.parent, brgy.ancestors, brgy.children
BARANGAY_FLAT list alias barangays.to_frame(), barangays.to_dicts()
search() function search_fuzzy()
BarangayModel class AdminDivRecord via Database API

Not deprecated: Database API, AdminDivRecord, AdminLevel, SearchResult, ValidationResult, PluginInfo, search_fuzzy(), validate(), validate_many(), FuzzBase, DataManager, PluginLoader, sanitize_input().


📚 Documentation

  • Comprehensive Database API reference added to docs/api.md
  • New tutorials: Getting Started (tutorials/database_api.md), updated Address Validation and Bulk Barangay Lookup with Database API examples
  • Deprecation admonitions added across all documentation (README, api.md, tutorials, llms.txt, llms-full.txt, index.md, data_models)
  • README quick start and features table updated to showcase Database API

🧪 Tests

  • tests/test_database.py — 426 lines of Database API tests
  • tests/test_backward_compat.py — Backward compatibility tests for deprecated APIs
  • tests/test_models.py — Tests for new Pydantic models
  • tests/test_search.py — Tests for search_fuzzy() and _search_fuzzy_new()
  • tests/test_validate.py — Tests for validate() and validate_many()
  • tests/test_version.py — Tests for use_version() and use_plugins()

📦 Installation

pip install barangay==2026.4.13.2

Quick Start

from barangay import barangays, search_fuzzy, validate

# Browse all 42,011 barangays
print(barangays)  # <PSGC barangay database: 42010 records>

# Get a specific barangay
brgy = barangays.get(name="Tongmageng")
print(brgy.region)    # Bangsamoro Autonomous Region In Muslim Mindanao (BARMM)
print(brgy.province)  # Tawi-Tawi
print(brgy.psgc_id)   # 1907005010

# Hierarchy traversal
for ancestor in brgy.ancestors:
    print(f"  {ancestor.type.value}: {ancestor.name}")

# Fuzzy search
for r in search_fuzzy("Tongmagen, Tawi-Tawi"):
    print(f"{r.name} — score: {r.score}")

# Address validation
result = validate("Tongmageng, Tawi-Tawi")
print(result.valid)  # True

# Pandas export
df = barangays.to_frame()

Full documentation: https://bendlikeabamboo.github.io/barangay/

🧩 v2026.4.13.1 — Plug-in System & Explode Pipeline

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 31 May 12:03
2f5e1e4

🧩 Plug-in System & Explode Pipeline

This release introduces the plug-in system — a new way to enrich PSGC data with supplementary datasets (correspondence codes, old names, city classification, population, income class, urban/rural status, and more) alongside the explode pipeline for flattening array-type plugin data into denormalized rows.


✨ What's New

Plug-in System

  • PluginLoader — High-level API for loading barangay data with plugin enrichment (barangay/plugin_loader.py)
  • psgc-aux-data — Built-in remote plugin with supplementary PSGC data sourced from official PSA releases (correspondence codes, old names, city class, income classification, urban/rural, population, status)
  • Built-in sample pluginssample_elevation, sample_population, sample_schools, sample_elevation_time for demonstration and testing
  • Plugin discovery — Auto-discovers plugins from built-in directory, BARANGAY_PLUGINS_DIR env var, barangay.yaml config, and programmatic sources
  • Time-aware plugins — Supports date-based plugin data resolution with historical coverage back to 2021-08-19
  • Remote data fetching — Plugins can reference GitHub repositories for data, with automatic caching
  • Multiple data formats — CSV, JSON, and Parquet support
  • pyyaml added as a runtime dependency for plugin configuration parsing

Explode Pipeline

  • explode_flat() — Flattens array-type plugin data into denormalized rows (e.g., a barangay with 3 school entries becomes 3 rows)
  • classify_plugins() — Classifies plugins as scalar or array types
  • validate_single_array() — Validates at most one array-type plugin per enrichment operation

CLI Integration

  • --plugin flag on search — Enrich search results with plugin data (barangay search "Tongmageng" --plugin psgc-aux-data --format json)
  • --plugin flag on export — Export enriched flat data with plugin extensions (barangay export --model flat --plugin psgc-aux-data --format json --output enriched.json)
  • Automatic column detection for plugin fields in table output

📚 Documentation

  • New Plugins documentation section with 6 pages: Overview, CLI Reference, Python API, Configuration, Creating a Plugin, Built-in Plugins
  • Updated CLI reference with --plugin flag documentation
  • Added plug-in system to README, docs index, and LLM context files (llms.txt, llms-full.txt)
  • Plugin guide link added to README

🛠️ Developer Infrastructure

  • Added uv run wrapper in pre-commit hooks for native execution during git commit
  • Resolved CVE vulnerabilities in dependencies (gitpython, idna, pip, pymdown-extensions, urllib3)

📦 Installation

pip install barangay==2026.4.13.1

Quick Start with Plugins

from barangay import PluginLoader

loader = PluginLoader()
loader.enable_plugin("psgc-aux-data")
index = loader.build_index()
print(index["1907005010"])  # Enriched data for Tongmageng
# CLI enrichment
barangay search "Tongmageng" --plugin psgc-aux-data --format json
barangay export --model flat --plugin psgc-aux-data --format json --output enriched.json

Full plugin documentation: https://bendlikeabamboo.github.io/barangay/plugins/

Contributors:

@pyakz for opening the issue

📦⬆️📅 v2026.4.13.0 — PSGC April 2026 Update

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 22 Apr 13:44
4776ba8

What's Changed

📊 PSGC Data Update (April 2026)

  • Updated Philippine Standard Geographic Code resource data across all formats (JSON, YAML, Parquet) to the 2026-04-13 release
  • Version bumped to 2026.4.13.0

✨ Improvements

  • SKILL.md — Restructured with YAML frontmatter, added CLI and Python API examples, and consolidated documentation for better machine readability (#53 (#53))
  • Contributing Guide — Expanded with a dedicated data update guide and new contributing index (#52 (#52))
  • Test fixtures — Added comprehensive test data files (barangay-tests.csv, expected-simple.json, expected-flat.json, expected-extended.json)

🛠️ CI/CD

  • Added skill-review GitHub Action for automated skill review on pull requests (#53 (#53))

🧹 Cleanup

  • Removed outdated Jupyter notebooks from the repository (notebooks/)

📝 Full Changelog

🕰️📦 v2026.1.13.3: PSGC Historical Data

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 20 Mar 05:21
b1b490b

What's New

This release introduces official PSGC parsers, replacing the large CSV resource files with a more efficient parser-based approach.

Major Changes

  • Official PSGC Parsers: Added parsers/psgc/ module with comprehensive CLI, models, and transformation logic
  • Data Processing: Implemented PSGC data reading, parsing, and export functionality
  • Repository Size Optimization: Removed large CSV resource files (replaced by parser-based approach)

Technical Details

  • Added parsers/psgc/cli.py - Command-line interface for PSGC operations
  • Added parsers/psgc/transform.py - Data transformation logic (574 lines)
  • Added parsers/psgc/models.py - Data models and schemas
  • Added parsers/psgc/read.py - Data reading utilities
  • Added parsers/psgc/export.py - Data export functionality
  • Added parsers/psgc/constants.py - Constants and configuration

Documentation & Testing

  • Updated API documentation and README
  • Added parsing process notebooks for main data
  • Enhanced testing documentation notebook
  • Updated project dependencies in pyproject.toml

Removed Files

  • clean_rst.py, test.py, verify_implementation.py (deprecated utilities)
  • Large CSV resource files (now processed via parsers)

Installation

pip install barangay

Usage

from barangay import search_barangay

# Search using the new parser infrastructure
results = search_barangay(mabini)

For detailed usage examples, see the updated notebooks in the notebooks/ directory.

📚 v2026.1.13.2: Documentation Migration & Comprehensive Test Suite

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 27 Feb 18:57
e84ee90

Summary

This release represents a major documentation and quality assurance milestone. We've migrated our documentation infrastructure from Sphinx (RST) to MkDocs (Markdown), and added a comprehensive test suite covering CLI, configuration, models, and utilities.

🔄 Breaking Changes

Python Version Requirement

  • Minimum Python version increased from 3.12 to 3.13
  • Ensure your environment is updated before upgrading

Documentation URL

🆕 New Features

Documentation Migration

  • Migrated entire documentation from Sphinx/RST to MkDocs/Markdown
  • New modern, responsive documentation site with shadcn/ui styling
  • Simplified documentation structure for better maintainability
  • API reference now in Markdown format (docs/api.md)

CLI Documentation

  • Complete CLI reference with examples
  • Documented all commands: search, export, info, history, cache, batch
  • Usage examples for common operations

Comprehensive Test Suite

Added extensive test coverage:

  • CLI Tests (841 lines): Full CLI command testing with Click testing framework
  • Configuration Tests (156 lines): Environment variable handling and cache directory configuration
  • Model Tests (400 lines): Pydantic model validation and serialization
  • Utility Tests (112 lines): Input sanitization and helper functions

Enhanced Documentation

  • New docs/api.md: Complete API reference
  • New docs/cli.md: Full CLI command documentation
  • New docs/configuration.md: Configuration options guide
  • New docs/data_models/: Separate Python and overview documentation for data models

📝 Changes

Project Configuration

  • Updated author email in pyproject.toml
  • Changed documentation homepage URL
  • Removed Sphinx dependencies
  • Added MkDocs dependencies (mkdocs, mkdocs-shadcn, mkdocs-badges)

File Changes

  • 74 files changed: 4,099 insertions, 19,866 deletions
  • Removed 40+ RST documentation files
  • Added 20+ Markdown documentation files
  • Added 4 comprehensive test files
  • Added SKILL.md for UI/UX skill integration

Documentation Files Added

  • docs/api.md - Complete API documentation
  • docs/cli.md - CLI command reference
  • docs/configuration.md - Configuration guide
  • docs/data_models/overview.md - Data models overview
  • docs/data_models/python.md - Python data models reference
  • docs/stylesheets/extra.css - Custom styling

Documentation Files Removed

  • docs/api_reference/ - Entire directory (8 files)
  • docs/advanced/ - Entire directory (4 files)
  • docs/examples/ - Entire directory (4 files)
  • docs/getting_started/ - Entire directory (3 files)
  • docs/how_to/ - Entire directory (5 files)
  • docs/troubleshooting/ - Entire directory (4 files)
  • docs/conf.py - Sphinx configuration
  • docs/index.rst - Old index
  • docs/Makefile - Sphinx makefile

Core Module Improvements

  • barangay/init.py: Streamlined exports and documentation
  • barangay/cli.py: Enhanced CLI documentation and comments
  • barangay/config.py: Improved configuration handling
  • barangay/models.py: Enhanced Pydantic models with better validation
  • barangay/utils.py: Improved utility functions

README Updates

  • Reorganized feature table
  • Added comprehensive CLI usage examples
  • Updated Python version requirement note
  • Improved getting started section
  • Added links to new documentation site

🧪 Testing

New test files added:

  • tests/test_cli.py - 841 lines of CLI tests
  • tests/test_config.py - 156 lines of config tests
  • tests/test_models.py - 400 lines of model tests
  • tests/test_utils.py - 112 lines of utility tests

Total: 1,509 lines of new test coverage

📦 Dependencies Updated

Removed (Sphinx ecosystem)

  • sphinx>=8.0.0
  • furo>=2024.0.0
  • sphinx-copybutton>=0.5.0
  • sphinx-design>=0.6.0
  • sphinx-autodoc-typehints>=2.0.0
  • sphinx-autobuild>=2024.0.0
  • shibuya>=2026.1.9
  • docformatter>=1.7.7
  • myst-parser>=5.0.0
  • pydata-sphinx-theme>=0.16.1

Added (MkDocs ecosystem)

  • mkdocs>=1.6.1
  • mkdocs-shadcn>=0.9.9
  • mkdocs-badges>=0.5.2

Dev Dependencies

  • Added pytest-cov>=7.0.0 for coverage reporting

🔄 Migration Notes

If you have Sphinx-based documentation projects:

  1. RST files are no longer maintained
  2. Use the new MkDocs-based documentation structure
  3. Update any documentation build pipelines to use MkDocs
  4. Sphinx dependencies can be removed from your environment

📊 Statistics

  • Total files changed: 74
  • Lines added: 4,099
  • Lines deleted: 19,866
  • Net change: -15,767 lines (significant codebase simplification)
  • Test coverage added: 1,509 lines
  • Documentation files migrated: 40+ RST → 20+ Markdown

For full details, see the commits between v2026.1.13.1 and v2026.1.13.2.

🎉🎊 Release v2026.1.13.1: Access to Historical PSGC Data, and Command Line Interface

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 22 Feb 08:07
fecf3d3

Release Notes v2026.1.13.1

Overview

This release (v2026.1.13.1) brings significant improvements to the barangay package, including a complete documentation overhaul, new CLI interface, historical data support, and automated documentation deployment via GitHub Pages.

🚀 Major Features

CLI Interface

  • New Command-Line Interface: Added comprehensive CLI tool for interacting with barangay data
    • Full CLI implementation in barangay/cli.py
    • Command-line execution support via barangay/__main__.py
    • Complete CLI operations documentation

Historical Data Support

  • Data Management System: New infrastructure for managing historical PSGC data
    • barangay/data_manager.py - Core data management functionality
    • barangay/date_resolver.py - Date resolution and handling
    • barangay/downloader.py - Automated data downloading
    • Version tracking via barangay/data/CURRENT_VERSION
    • Removed outdated dated directories (2025-07-08, 2025-08-29, 2025-10-13)

Configuration Management

  • Centralized Configuration: New configuration system for flexible package behavior
    • barangay/config.py - Configuration management
    • Comprehensive configuration documentation

📚 Documentation Overhaul

Complete restructure and expansion of documentation:

New Documentation Sections

  • API Reference: Complete API documentation for all modules

    • CLI, Config, Data, Data Manager, Date Resolver, Downloader, Fuzz, Models, Search, Utils
  • Advanced Topics: In-depth guides for advanced users

    • Caching strategies
    • Custom sanitizers
    • Error handling
    • Fuzzy matching
  • How-To Guides: Practical guides for common tasks

    • Address validation
    • Batch processing
    • CLI operations
    • Custom matching
    • Performance optimization
  • Core Concepts: Fundamental understanding

    • Configuration
    • Data models
    • Historical data
    • Search fundamentals
  • Examples: Real-world usage examples

    • CLI usage
    • Data analysis
    • Geocoding
    • Recipes
  • Getting Started: Beginner-friendly guides

    • Common patterns
    • First search
    • Installation
  • Troubleshooting: Help when things go wrong

    • Common errors
    • FAQ
    • Issues
    • Performance
  • Contributing: Guide for contributors

🔄 Automation

GitHub Pages Deployment

  • Automated Documentation Deployment: GitHub Actions workflow for automatic documentation builds and deployment
    • Workflow triggers on manual dispatch and pushes to docs directory
    • Automated building and deployment to GitHub Pages
    • Workflow file: .github/workflows/docs.yaml

🐛 Bug Fixes & Improvements

  • Fixed pyproject.toml configuration
  • Updated README.md with improved documentation
  • Enhanced documentation structure and organization
  • Updated dependencies for CLI and documentation support
  • Added documentation testing notebook
  • Various documentation fixes and improvements

📦 Dependencies

Updated Dependencies

  • Added CLI dependencies (click, rich)
  • Added documentation dependencies (sphinx, furo, and various sphinx extensions)
  • Updated existing dependencies to latest compatible versions

📊 Statistics

  • Files Changed: 84 files
  • Lines Added: 21,822
  • Lines Removed: 3,688,242
  • New Files: 30+ new documentation files
  • New Modules: 5 new Python modules (cli, config, data_manager, date_resolver, downloader)

🔧 Migration Notes

For Users

  • No breaking changes to existing API
  • New CLI interface available via barangay command
  • Enhanced documentation available at GitHub Pages

For Developers

  • New module structure with better separation of concerns
  • Improved configuration system
  • Enhanced testing capabilities

v2026.1.13.0

Choose a tag to compare

@bendlikeabamboo bendlikeabamboo released this 30 Jan 15:05
49e0f22

What's Changed

Full Changelog: v2025.10.13.2...v2026.1.13.0