Skip to main content

A Python library for fetching structured information from BOPA (Boletín Oficial de la Principidad de Asturias).

Project description

bopa-fetcher

Tests CodeQL Quality Gate Status Codecov status PyPI version Documentation DOI

Description

bopa-fetcher Logo

bopa-fetcher is a Python library for programmatic access to the official bulletins of the Principality of Asturias (BOPA). It allows users to search, retrieve, and analyze bulletin summaries and individual articles in a structured manner.

Why bopa-fetcher?

BOPA (Boletín Oficial del Principado de Asturias) is the official gazette of the region of Asturias, Spain. Researchers, legal professionals, and journalists often need to search, download, and analyze large volumes of legislative and administrative documents. bopa-fetcher provides a simple, programmatic interface to:

  • Retrieve bulletin summaries and articles as structured Python objects.
  • Search across date ranges for both bulletins and individual articles.
  • Export data to dictionaries for integration with data analysis pipelines (pandas, NumPy, etc.).
  • Avoid manual scraping by handling HTML parsing and URL construction internally.

[!WARNING] BOPA bulletins are available in the portal from 01/01/2000 onwards. Requests for earlier dates will return no data.

Main features

  • Legal research: Download and analyze official bulletins for a specific time period to track legislative changes.
  • Data journalism: Collect structured data from BOPA for investigative reporting on regional governance.
  • Policy analysis: Extract and categorize dispositions by origin (council, council board, presidency, etc.) for quantitative studies.
  • Archive building: Build reproducible datasets of Asturian official publications for academic research.

Quick Start

Installation

Install from PyPI:

pip install bopa-fetcher

Basic Usage Example

Fetch acts for a publication date:

from bopa.api import Client
client = Client()

# Get the bulletin summary for 29/12/2023
bulletin = client.get_bulletin(date="29/12/2023")
print(bulletin.to_dict())

# get specific article by code
article = client.get_article(cod="2023-11737", date="29/12/2023")
print(f"  article: {article.to_dict()}")

Use Case Examples

The repository includes runnable scripts with examples and use cases of the library. These scripts can be found in the scripts/ directory.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or suggestions, feel free to reach out to the corresponding author:

Acknowledgements

Citation

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

bopa_fetcher-0.1.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

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

bopa_fetcher-0.1.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file bopa_fetcher-0.1.1.tar.gz.

File metadata

  • Download URL: bopa_fetcher-0.1.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bopa_fetcher-0.1.1.tar.gz
Algorithm Hash digest
SHA256 060ed673f40f559bcc076381a18772ab92eefc0d523684b858d1a64036883358
MD5 03d0d9d137bc1a6de1044ad94e6811fb
BLAKE2b-256 b15bc8cd79e948159b72661f961c6b6138146054ffcf6fa166ef57dbab54a233

See more details on using hashes here.

Provenance

The following attestation bundles were made for bopa_fetcher-0.1.1.tar.gz:

Publisher: publish.yml on diegoglezsu/bopa-fetcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bopa_fetcher-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bopa_fetcher-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bopa_fetcher-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b4e84c8c14d213712b573550469e34ced5820333241aaf3cf4c6aec643d6a43
MD5 38b6bc9195021e260edd1751df33f8ee
BLAKE2b-256 e577b53c53f9bbe71231206870b0308a4cba26786f0d1b592c8281fb2276de0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bopa_fetcher-0.1.1-py3-none-any.whl:

Publisher: publish.yml on diegoglezsu/bopa-fetcher

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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