Beeb

Latest version: v2.4.2

Safety actively analyzes 624811 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

2.2.2

- :file_cabinet: `ProgrammeGuide` implemented (a collection of `ProgrammeCatalogue` the same way `ChannelListings` collects `ChannelSchedules`) c46f1b4694293849393d798c543a07ab8e850227
- :mag: Shared search interface for both programme catalogues and guides, using the same underlying `Sieve` class as for broadcasts (schedules and listings) 975b34a37cde53c25cfc1bb6e54745c60d03ee54

2.2.0

- :ship: PIDs for all programmes (i.e. "brands", not episodes) within the last 30 days of broadcasts on all national radio channels are now shipped with the package, able to be reloaded instantly at runtime a7be2f975d05a0394a01f2f2a2ce92d4b2f2add4

2.1.0

- :bookmark_tabs: `ProgrammeCatalogue` built from `ChannelListings` [itself a collection of `ChannelSchedule`s], determining the parent brand [which may itself be above a parent series] and using this to obtain a canonical programme title and genre (6cf0ddeb78bd6d59fe31db65f09199c03fcda61c)
- :building_construction: Populate JSON from "prefab" string or dict, i.e. without pulling (6cf0ddeb78bd6d59fe31db65f09199c03fcda61c)
- :racehorse: Fast asynchronous downloads of both schedule listings [for `ChannelListings`] and episode metadata JSON [for `ProgrammeCatalogue`], with retry fallback mechanism for `httpx.AsyncClient` errors (6cf0ddeb78bd6d59fe31db65f09199c03fcda61c)
- Unable to achieve stable HTTP/2 support on an async session, so do not use for catalogue

2.0.0

- :factory: Helper functions are now exposed in the `api` module to get useful outputs directly from readily available inputs (such as `final_m4s_link_from_episode_pid`), previously done in a large chunk of procedural code in [`tap`](https://github.com/lmmx/tap/blob/f57410f215d702c1107ea43b49d7af04e03b09cb/src/tap/scrape/bbc_api.py), which can now use this library instead
- :handshake: Serialisation of JSON and XML under a common interface in `beeb.api.serialisation` and specific helper classes in their own modules, with class methods for the creation of classes from PIDs.

1.1.2

- :key: The `get_broadcast_by_title` method, previously only on `ChannelSchedule`, is now a common interface via the `ScheduleSieve` class, provided through the `ScheduleSearchMixIn` base class, meaning listings of multiple schedules share a common interface with individual schedules 9955dc5f94a8d6cce7bd591b93584b2a6f87fa4e

1.0.0

:champagne: :partying_face: Initial release ! :partying_face: :champagne:

- :racing_car: Async schedule listing fetches for 30 days in 2 seconds with multiprocessing (the GET requests alone previously took 0.5 seconds per schedule, so around 15 seconds total, followed by parsing, big speed up!) 6639bd1742eec08e8399ae91cc647f2ae5bd38ad
- :card_index_dividers: `ChannelSchedule` and `ChannelListings` for individual days (defaulting to today's date) and multiple days' schedules (defaulting to last 30 days) respectively 15c8bd7d902a75f929c3f6b0025aef0a7a6357c8

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.