Converts news sources into human-friendly labels
Project description
Source Label Map
Converts news sources into human-friendly labels
Quickstart
Installation
Install the package with pip:
pip install -U bilbyai-source-label-map
Usage
Using get_source_labels
directly
from bilbyai.source_label_map import get_source_labels
get_source_labels("ben")
# 'Beijing Evening News'
get_source_labels(["gmwnews", "ben"])
# ['Enlightenment Daily', 'Beijing Evening News']
# Since the key 'cannot-be-found' is not in the dictionary, it returns the original input.
get_source_labels("cannot-be-found")
get_source_labels("cannot-be-found", when_not_found="preserve") # this is the default.
# 'cannot-be-found'
# When the option is set to 'set_none', the function returns None when the key is not found.
get_source_labels("cannot-be-found", when_not_found="set_none")
# None
# When the option is set to 'set_unknown', the function returns the string "unknown".
get_source_labels("cannot-be-found", when_not_found="set_unknown")
# 'unknown'
# When the option is set to 'raise_error', the function raises a ValueError.
get_source_labels("ben", when_not_found="raise_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
source
(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"
: Preserve the source name as the source label."set_none"
: Set the source label to None."set_unknown"
: Set the source label to "unknown"."raise_error"
: Raise an error if a source label is not found.
source_label_dict
: A dictionary mapping source names to source labels. Set this value to override the default source label dictionary. It should be a dictionary mapping source names to source labels, like this:
source_label_dict = {
"gmwnews": "Enlightenment Daily",
"sina_news": "Sina News",
"xueqiu": "Xueqiu (Snowball Finance)",
"peoplenews": "People's Daily",
}
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 "raise_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bilbyai_source_label_map-0.2.7.tar.gz
.
File metadata
- Download URL: bilbyai_source_label_map-0.2.7.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e13f7afffb66368461b40f9dca7f803349a28be57d05347298f422d9aa567e8 |
|
MD5 | 32a3dbcf64b79bf73ab10bb2ae8818f4 |
|
BLAKE2b-256 | 2f1fb1da3cff4995b435756c07868ca2f9384f623675975cec24821291695062 |
File details
Details for the file bilbyai_source_label_map-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: bilbyai_source_label_map-0.2.7-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1e6c64b35643043a8fb1aae0a4b82828b2458a7a54b2a202a117568dec78dd |
|
MD5 | 9e10b90a9271a4ac43526ba78c90ab52 |
|
BLAKE2b-256 | b106ba3eb6d81b203deb85a38da487f255e54f2a3d2654c39b3fc15cef11f395 |