Skip to main content

Converts source code into human-friendly labels

Project description

source_label_map

Converts source code into human-friendly labels

Quickstart

Using get_source_labels directly

from bilbyai.source_label_map import get_source_labels

get_source_labels("ben") # outputs 'Beijing Evening News'

get_source_labels(["gmwnews", "ben"]) # outputs ['Enlightenment Daily', 'Beijing Evening News']

get_source_labels("cannot-be-found") # outputs 'cannot-be-found'

get_source_labels("cannot-be-found", when_not_found="set_none") # outputs None

get_source_labels("cannot-be-found", when_not_found="set_unknown") # outputs 'unknown'

get_source_labels("ben", when_not_found="throw_error") # raises ValueError

Using get_source_labels with DataFrames

import pandas as pd
from bilbyai.source_label_map import get_source_labels

df = pd.DataFrame(
    {
        "source": [
            "gmwnews",
            "ben",
            "cannot-be-found",
            "zqrb",
        ]
    }
)

# Option A: using list comprehension
df["source_label"] = get_source_labels(df["source"])

# Option B: using apply
df["source_label"] = df["source"].apply(get_source_labels)

df["source_label"]
# Outputs: 
# 0     Enlightenment Daily
# 1    Beijing Evening News
# 2         cannot-be-found
# 3        Securities Daily
# Name: source_label, dtype: object

Function Specs

Get source labels for a list of inputs.

Args:

inputs (str | Iterable[str]): The string or list of strings to get source labels for.

when_not_found: The action to take when a source label is not found. Set to "preserve_source_name" by default.

  • "preserve_source_name": Preserve the source name as the source label.
  • "set_to_none": Set the source label to None.
  • "set_to_unknown": Set the source label to "unknown".
  • "throw_error": Raise an error if a source label is not found.

source_label_dict: A dictionary mapping source names to source labels.

Returns:

A list of source labels for the inputs.

Raises:

ValueError: If the when_not_found value is not recognized. ValueError: If the inputs are not a string or iterable of strings. ValueError: If when_not_found is set to "throw_error" and a source label is not found.

The project owner is @leetdavid.

Development

If not already in a virtual environement, create and use one. Read about it in the Python documentation: venv — Creation of virtual environments.

python3 -m venv .venv
source .venv/bin/activate

Install the pinned pip version:

pip install -r $(git rev-parse --show-toplevel)/pip-requirements.txt

Finally, install the dependencies:

pip install -r $(git rev-parse --show-toplevel)/dev-requirements.txt -r requirements.txt

Testing

Execute tests from the library's folder (after having loaded the virtual environment, see above) as follows:

python3 -m pytest tests/

Execute the library's CI locally with act as follows:

act -j ci-libs-source_label_map

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

bilbyai_source_label_map-0.2.1.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

bilbyai_source_label_map-0.2.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file bilbyai_source_label_map-0.2.1.tar.gz.

File metadata

File hashes

Hashes for bilbyai_source_label_map-0.2.1.tar.gz
Algorithm Hash digest
SHA256 8fcad4d13a697737ab85766ebcf222388afe7c3f49411390fbfe327b17c806d3
MD5 864c78ddc6a0563efb207a91d1ab0954
BLAKE2b-256 e5025654f427b3b45ff2965baa51593c018acd8d2a86f73ecd082fdc3c4baef7

See more details on using hashes here.

File details

Details for the file bilbyai_source_label_map-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bilbyai_source_label_map-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 383adb3c1a781a522e85d894751ce7695fc3d9e9c37680c50dbb4f64660f7ac7
MD5 a3740fc703b4179fcfe425aea270e5bd
BLAKE2b-256 338f05079345b255d05051401776cded12796bc94b55bcec065fbe127b0a42b7

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