Skip to main content

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

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.0.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.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bopa_fetcher-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 0acf7a9464c3c7c94e094ae8792edfa644e06549815fa0836daf3b56cb10b5bc
MD5 660df97a6b4d5faf4dabec5124f6c7fb
BLAKE2b-256 aa5bfe4f35ab1f30c6b1f4aed69069ebee460f61d3efeb683ceeeaac4702b0ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for bopa_fetcher-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: bopa_fetcher-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea57eb429c17bcccab42ce31f7edb76255e35f6695b1b6b87a679e80243815d9
MD5 5db890cf4c248729c019cba38560e94b
BLAKE2b-256 41aa9938f2a7ddb52fa140edce5eae9eb7f6c627c57da63edc5eb43bf09a9a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for bopa_fetcher-0.1.0-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