Skip to main content

Simplified fetching of media for Filonov library

Project description

Media Fetcher

PyPI

Problem statement

Solution

media-fetcher performs fetching of images and videos performance from various data sources.

Deliverable (implementation)

media-fetcher is implemented as a:

  • library - Use it in your projects with a help of media_fetching.MediaFetchingService class.
  • CLI tool - media-fetcher tool is available to be used in the terminal.

Deployment

Prerequisites

Installation

Install media-fetcher with pip install media-fetching command.

Usage

Fetching media

Once media-fetcher is installed you can call it:

media-fetcher \
  --source <MEDIA_SOURCE> \
  --media-type <MEDIA_TYPE> \
  --extra_info <EXTRA_INFO_MODULES> \
  --writer <WRITER_TYPE> \
  --output <OUTPUT_FILE_NAME>

where:

  • <SOURCE> - source of media data:
    • googleads - fetch all assets from a Google Ads account / MCC.
    • file - fetch all assets with their tags and metrics from CSV files
    • youtube - fetch public videos from a YouTube channel.
  • <MEDIA_TYPE> - type of media (YOUTUBE_VIDEO, VIDEO, IMAGE).
  • <WRITER_TYPE> - writer identifier (check available options at garf-io library).
  • <OUTPUT_FILE_NAME> - name of the file to store results of tagging (by default media_results).

Source customizations

Source customizations are performed via --source.parameters=value syntax (i.e. --googleads.account=1)

  • googleads:

    Mandatory:

    • account=ACCOUNT_ID

    Optional:

    • ads_config_path=PATH-TO-GOOGLE-ADS-YAML
    • campaign-types=CAMPAIGN_TYPE
    • start-date=YYYY-MM-DD
    • end-date=YYYY-MM-DD
  • youtube:

    Mandatory:

    • channel=YOUTUBE_CHANNEL_ID
  • file:

    Mandatory:

    • path=PATH_TO_FILE

    Optional:

    • media_identifier=IDENTIFIER_OF_MEDIA
    • metric_names=COMMA_SEPARATED_METRIC_NAMES
  • bq:

    Mandatory:

    • table=FULLY_QUALIFIED_TABLE_NAME (in project.dataset.table format)

    Optional:

    • media_identifier=IDENTIFIER_OF_MEDIA
    • metric_names=COMMA_SEPARATED_METRIC_NAMES
  • sqldb:

    Mandatory:

    • connection_string=DATABASE_CONNECTION_STRING (in SQLAlchemy format)
    • table=TABLE_NAME

    Optional:

    • media_identifier=IDENTIFIER_OF_MEDIA
    • metric_names=COMMA_SEPARATED_METRIC_NAMES

Available extra info modules

Source customizations are performed via --extra-info module.method syntax (i.e. --extra-info tagging.languages,googleads.main_geo)

Currently supported modules:

  • googleads:

    • main_geo - identifies main spending country for a media.
    • approval_rate - calculates approval rate (from 0 to 1) for each media.
  • tagging:

    • language - identifies language of a media.
  • youtube:

    • language - identifies language of YouTube Video based on YouTube Data API.

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

media_fetching-0.6.1.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

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

media_fetching-0.6.1-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file media_fetching-0.6.1.tar.gz.

File metadata

  • Download URL: media_fetching-0.6.1.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.1 {"installer":{"name":"uv","version":"0.10.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for media_fetching-0.6.1.tar.gz
Algorithm Hash digest
SHA256 426768ab799663b5c1d18030bc02d0e91908e5989d2912ffeaecccb6fb3e192b
MD5 c0a9e514924b7677e298b8d0cf365cb0
BLAKE2b-256 b4c263b1f28a5a9d9a6447fe67556a06eef20ef35350c850715208b30f1058a2

See more details on using hashes here.

File details

Details for the file media_fetching-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: media_fetching-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.1 {"installer":{"name":"uv","version":"0.10.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for media_fetching-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d92971880af135b092603837ec6e57f8330d4fa98bdcbf4e24c81c0eabaed7f
MD5 c4743ceee3d4571c8f9fa6a2331ba9ba
BLAKE2b-256 d37d5242e7042bf0cb5363fa6bd90eb1e73b60d62416208c081f52d42e09f3a3

See more details on using hashes here.

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