Skip to main content

Cointainer component for scraping coins from the ECB Website.

Project description

Cointainer-Scraper Banner

Cointainer component for scraping coins from the ECB Website.

Introduction

Cointainer Scraper (ECB) is one of the components of the Cointainer. This component offers the functionality of scraping euro coin data from the ECB website.

Currently supported coins:

  • €2 commemorative coins
    • Country
    • Feature
    • Description
    • Issuing Volume
    • Issuing Date
    • Image URLs

Installation

pip install cointainer-scraper-ecb

Example

from cointainer_scraper_ecb import get_two_euro_commemorative_coins

get_two_euro_commemorative_coins(
    language="en",
    year=2004
)

Tested with Python 3.9.13 and cointainer_scraper_ecb v0.1.2 ✔️

Two data classes are relevant which are beeing returned by the function:

def get_two_euro_commemorative_coins(
    lang: str = "en",
    year: int = START_YEAR
) -> List[TwoEuro]: ...
@dataclass
class Coinage:
    """Represents a coin of a country to be collected."""

    country: Optional[str]
    image_default_url: Optional[str]
    volume: Optional[int]
    image_default_url_info: Optional[str] = None
    country_info: Optional[str] = None
    circulation_date: Optional[datetime.date] = None
    image_attribution: Optional[str] = None
    circulation_date_info: Optional[str] = None
    volume_info: Optional[str] = None


@dataclass
class TwoEuro:
    """A two euro coin to collect."""

    feature: str = ""
    description: str = ""
    coinages: List[Coinage] = field(default_factory=list)

Roadmap

  • Implement national side scraping (2€, 1€, 50 cent, 20 cent, 10 cent, 5 cent, 2 cent and 1 cent)
  • CLI implementation with click

Development

Creating a new release

  1. Run the following command poetry version <version>
    cointainer-scraper-ecb uses the following schema: ^\d+\.\d+\.\d+((b|a)\d+)?$

  2. Bump the version within the files:

    Make sure it's the same version used when bumping with poetry

  3. Open CHANGELOG.md and write the new changelog:

    • Use the following # header: v<version> - (yyyy-mm-dd)
      Used ## headers:
    • 💌 Added
    • 🔨 Fixed
    • ♻️ Changed
  4. Stage the modified files and push them with the following commit message:

    chore: bump to version v<version>

  5. Create annotated release tag

    1. New tag
    git tag -s -m "release v<version>" v<version>
    
    1. Push created tag
    git push --tags
    
  6. Run the following command poetry build to create a tarball and a wheel based on the new version

  7. Create a new github release and:

    1. Copy and paste the changelog content without the # header into the description of the release textbox
    2. Use the # header style to fill in the Release title (copy it from the CHANGELOG.md)
    3. Copy the version with the v-prefix into the Tag version
  8. Attach the produced tarball and wheel (dist/) to the release

  9. Check This is a pre-release if it's either an alpha or beta release (a|b) - optional

  10. Publish release

Testing

Use the following command to execute the tests:

poetry run pytest

To run the tests, the: download-test-files.(ps1|sh) script must be executed.

This is not the best method because the test data can change. However, I don't know if it is allowed to upload the data to the repository because of the copyright.

License

This cointainer-scraper-ecb module is distributed under Apache-2.0. For ODbL-1.0 exception, see LICENSING.md

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

cointainer-scraper-ecb-0.1.2.tar.gz (54.1 kB view details)

Uploaded Source

Built Distribution

cointainer_scraper_ecb-0.1.2-py3-none-any.whl (54.5 kB view details)

Uploaded Python 3

File details

Details for the file cointainer-scraper-ecb-0.1.2.tar.gz.

File metadata

  • Download URL: cointainer-scraper-ecb-0.1.2.tar.gz
  • Upload date:
  • Size: 54.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.10.4 Windows/10

File hashes

Hashes for cointainer-scraper-ecb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b4646881f7555c20bb7b02d676dbb87aa3e8d1df2a2d16302c22fc1fc29e243b
MD5 31d7f5260a7fb4df1af2e963e54877db
BLAKE2b-256 b6c25ce22ba94c1ca131363bafecb17a667b7f343e5287aa0e8c149cf0a2b570

See more details on using hashes here.

File details

Details for the file cointainer_scraper_ecb-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cointainer_scraper_ecb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a21f0cc79fd5262b33270450acdb2085e59f685874f8ae34cd74fec2f6f1a4c9
MD5 55f568075cef31f2dc68acab1f206ff3
BLAKE2b-256 6c3a91af51c880f3d9177af403d54326f508e6f80c72414630a2293f2bc5baed

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page