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.3.tar.gz (15.6 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.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bopa_fetcher-0.1.3.tar.gz
  • Upload date:
  • Size: 15.6 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.3.tar.gz
Algorithm Hash digest
SHA256 a2ea717eedf7a590bbbe04cf42ce5a2a0009caeb07afacf9e63abf9ea6e6b11d
MD5 963e235f6c59a3911626c248b18f8488
BLAKE2b-256 9cfc5502086ed61737064551ab6967a858e97257b8e0ac955e627dc4cd944992

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: bopa_fetcher-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a5f58c784f58b65c81a15345bddde18ad3aa1106764dc83d2d380d1a0e3effbc
MD5 547f082a5ef93a08b00ba40bbccc85b2
BLAKE2b-256 fb99e1a4a0cfefa0a7135daa3dfd46b856d43b86754ecd25ce554516576a140d

See more details on using hashes here.

Provenance

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