telemars
Project description
telemars
telemars — это высокоуровневая, асинхронная библиотека-надстройка для работы с API Mediascope, построенная на базе mediascope-api-lib.
Инструмент создан для решения ключевых проблем оригинальной библиотеки: отсутствия валидации данных, медленной работы и сложности в поддержке кода.
Установка
pip install telemars
Конфигурация
Для работы библиотеки необходимо создать файл settings.json в корне проекта со следующей структурой:
{
"username": "YOUR_USERNAME",
"passw": "YOUR_PASSWORD",
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"auth_server": "https://auth.mediascope.net/auth/realms/mediascope/protocol/openid-connect/token",
"root_url": "https://api.mediascope.net/tvindex/api/v1"
}
Данное требование обусловлено особенностями оригинальной библиотеки mediascope-api-lib.
Внимание: Не забудьте добавить settings.json в .gitignore, чтобы не допустить утечки конфиденциальных данных.
Пример использования
import asyncio
from datetime import date
from pprint import pprint
import polars as pl
from telemars.filters import crosstab as filter
from telemars.options.crosstab import Option
from telemars.params.filters import crosstab as cflt
from telemars.params.options import crosstab as cops
from telemars.params.slices.crosstab import Slice
from telemars.params.statistics.crosstab import K7Statistic as Statistic
from telemars.tasks.crosstab import CrosstabTask
async def main() -> pl.DataFrame:
ct = CrosstabTask(
date_filter=filter.DateFilter(
date_from=(date(2025, 1, 1)),
date_to=date(2025, 1, 31),
),
basedemo_filter=[
filter.BaseDemoFilter(sex=cflt.Sex.FEMALE, age=(18, 99)),
],
break_filter=filter.BreakFilter(
breaks_content_type=[cflt.BreaksContentType.COMMERCIAL],
breaks_issue_status_id=[cflt.BreaksIssueStatusId.REAL],
breaks_distribution_type=[
cflt.BreaksDistributionType.NETWORK,
cflt.BreaksDistributionType.ORBITAL,
],
),
platform_filter=filter.PlatformFilter(
platform_id=[
cflt.Platform.TV,
cflt.Platform.DESKTOP,
cflt.Platform.MOBILE,
],
),
playbacktype_filter=filter.PlayBackTypeFilter(
playback_type_id=[p for p in cflt.PlayBackType],
),
slices=[
Slice.BREAKS_DISTRIBUTION_TYPE_NAME,
Slice.TV_COMPANY_NAME,
],
options=Option(
kit_id=cops.KitId.BIG_TV,
big_tv=cops.BigTv.YES,
issue_type=cops.IssueType.BREAKS,
),
sortings=[
(Slice.BREAKS_DISTRIBUTION_TYPE_NAME, cops.SortOrder.DESC),
(Slice.TV_COMPANY_NAME, cops.SortOrder.ASC),
],
statistics=[
Statistic.RTG_PER_AVG,
],
)
result: pl.DataFrame = await ct.execute()
pprint(result)
if __name__ == '__main__':
asyncio.run(main())
Контрибьюция
Предложения по улучшению и доработке проекта приветствуются. Если вы обнаружили проблему или у вас есть идеи по развитию функционала, пожалуйста, создайте соответствующий Issue.
Контакты
Email: prosvirnin.a@outlook.com
Telegram: @prosvirninjr
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file telemars-0.1.5.tar.gz.
File metadata
- Download URL: telemars-0.1.5.tar.gz
- Upload date:
- Size: 33.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e17de23f1fb53af7989b9f52ebf54c8e0768be8c686eb865f8c367bfd33edb00
|
|
| MD5 |
51b4a7221e507e4e7ae30d18af4e0704
|
|
| BLAKE2b-256 |
927e255b264aec8ef2c79c870711b9390b76f21df2e3ce4d5d4bdb9c172f7d18
|
File details
Details for the file telemars-0.1.5-py3-none-any.whl.
File metadata
- Download URL: telemars-0.1.5-py3-none-any.whl
- Upload date:
- Size: 48.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c258983bc521a805445dbf676b73a8e2d761fbb55171126557adef686968940
|
|
| MD5 |
d51186ac8c228fd61dc4c3f4a92f2797
|
|
| BLAKE2b-256 |
901d56651b40cd2069af93890452e1d370a82cd2fe1822c02ee3ae5c46f449d3
|