- Add
/v2.0/shows/best-ofs
endpoint that provides information for all Best Of shows - Add
/v2.0/shows/details/best-ofs
endpoint that provides detailed information for all Best Of shows - Add
/v2.0/shows/repeat-best-ofs
endpoint that provides information for all Repeat Best Of shows - Add
/v2.0/shows/details/repeat-best-ofs
endpoint that provides detailed information for all Repeat Best Of shows - Add
/v2.0/shows/repeats
endpoint that provides information for all Repeat shows - Add
/v2.0/shows/details/repeats/
endpoint that provides detailed information for all Repeat shows - Add missing
original_show_id
andoriginal_show_date
forShow
,ShowDetails
,Shows
andShowsDetails
models
- Upgrade wwdtm from 2.12.1.post0 to 2.14.0
- Note: Even though wwdtm version >= 2.13.0 has initial support for Python 3.13, FastAPI has not been validated against Python 3.13; thus, api.wwdt.me_v2 still only supports Python 3.10, 3.11 and 3.12.
- Upgrade black from 24.8.0 to 24.10.0
- Upgrade ruff from 0.6.9 to 0.7.0
- Increase minimum pytest version from 8.0 to 8.3 in
pyproject.toml
- Add missing validation of
original_show_id
andoriginal_show_date
in endpoints that returnShow
,ShowDetails
,Shows
andShowsDetails
models
- Upgrade wwdtm from 2.11.0 to 2.12.1.post0
- Add initial pytest coverage reporting using
pytest-cov
, which can be generated by running:pytest --cov=app tests/
- NOTE: Results for
/v2.0/locations
and/v2.0/locations/recordings
are now sorted by venue name, city, then state. Previously, both endpoints had inconsistent behavior due to coding issues in thewwdtm
library. - Code cleanup and fix pylint errors and warnings
- Upgrade fastapi from 0.112.0 to 0.115.0
- Upgrade uvicorn from 0.30.5 to 0.30.6
- Upgrade httpx from 0.27.0 to 0.27.2
- Upgrade email-validator from 2.1.0.post1 to 2.2.0
- Upgrade wwdtm from 2.10.1 to 2.11.0
- Upgrade ruff from 0.5.7 to 0.6.7
- Upgrade pydantic from 2.5.3 to 2.8.2
- Upgrade fastapi from 0.109.1 to 0.112.0
- Upgrade uvicorn from 0.26.0 to 0.30.5
- Upgrade gunicorn from 22.0.0 to 23.0.0
- Upgrade httpx from 0.26.0 to 0.27.0
- Upgrade aiofiles from 23.2.1 to 24.1.0
- Upgrade ruff from 0.5.1 to 0.5.7
- Upgrade black from 24.4.2 to 24.8.0
- Upgrade pytest from 8.1.2 to 8.3.2
- Add support for Umami web analytics via
settings.umami_analytics
config object with the following keys:
Config Key | Description |
---|---|
_enabled |
Set value to true to enable adding Umami script tag (default: false ) |
url |
URL of the Umami analytics script |
data_website_id |
Umami Site ID |
data_auto_track |
Set value to false to disable auto event tracking (default: true ) |
data_host_url |
Override the location where Umami data is sent to |
data_domains |
Comma-delimited list of domains where the Umami script should be active |
- Upgrade wwdtm 2.10.0 to 2.10.1
- Upgrade ruff from 0.3.6 to 0.5.1
- Upgrade black from 24.3.0 to 24.4.2
- Upgrade pytest from 8.1.1 to 8.1.2
- Upgrade requests from 2.32.0 to 2.32.3
- Upgrade requests from 2.31.0 to 2.32.0
- Starting with application version 2.10.0 of the Stats API, the minimum required version of the Wait Wait Stats Database is 4.7
- Change the
pronouns
property for Hosts, Panelists and Scorekeepers from returning a string to a list of pronouns - Add
Pronouns
andPronounsInfoList
models - Add new Pronouns endpoints to retrieve all available pronouns or individual pronouns values
Note: The APP_VERSION
was not correctly incremented with version 2.9.1 and has been corrected with this release.
- Upgrade Jinja2 from 3.1.3 to 3.1.4
- Create
LocationCoordinates
andShowLocationCoordinates
models to contain location latitude and longitude values for locations and shows respectively
- Upgrade wwdtm from 2.9.0 to 2.9.1
- Starting with application version 2.9.0 of the Stats API, the minimum required version of the Wait Wait Stats Database is 4.6
- Add
latitude
andlongitude
to any location object returned. If a value for either are present in the Stats Database, a string representation of a decimal would be returned. If not,null
would be returned. - Add
pronouns
to any host, panelist and scorekeeper object returned. If a corresponding value is present in the State Database, a string would be returned. If not,null
would be returned.
- Upgrade wwdtm from 2.8.1 to 2.9.0
- Upgrade fastapi from 0.109.1 to 0.110.2
- Upgrade pydantic from 2.5.3 to 2.7.0
- Upgrade gunicorn from 21.2.0 to 22.0.0
- Upgrade ruff from 0.1.13 to 0.3.6
- Upgrade pytest from 7.4.4 to 8.1.1
- Upgrade black from 23.12.1 to 24.3.0
- Upgrade wwdtm from 2.8.0 to 2.8.1, which includes fixing an issue of panelists not being sorted by their decimal scores properly
- Upgrade fastapi from 0.109.0 to 0.109.1
- Add support for GitHub sponsorship link in the side pop-out nav, dropdown nav menu and in the footer by way of the
settings.github_sponsor_url
config key
- Update Show route docstrings to include mention of NPR.org show URL in the returned data
- Add support for Patreon link in the side pop-out nav, dropdown nav menu and in the footer by way of the
settings.patreon_url
config key
- Starting with application version 2.8.0 of the Stats API, the minimum required version of the Wait Wait Stats Database is 4.5
- Add support for returning show URL value from the Wait Wait Stats Database as
show_url
in returned show objects - Code cleanup and updating docstrings
- Upgrade wwdtm from 2.6.1 to 2.8.0
- Upgrade pydantic from 2.5.2 to 2.5.3
- Upgrade fastapi from 0.104.1 to 0.109.0
- Upgrade uvicorn from 0.24.0.post1 to 0.26.0
- Upgrade httpx from 0.25.2 to 0.26.0
- Switch to Ruff for code linting and formatting (with the help of Black)
- Upgrade black from 23.11.0 to 23.12.1
- Upgrade pytest from 7.4.3 from 7.4.4
- Upgrade jinja2 from 3.1.2 to 3.1.3
- Upgrade wwdtm from 2.6.0 to 2.6.1
- Add support for shows that have multiple Bluff the Listener-like segments.
- This changes includes renaming the
bluff
key returned in show details objects tobluffs
. The newbluffs
key now returns an array of objects that includes asegment
key used to denote which segment it is referencing, along with thechosen_panelist
andcorrect_panelist
objects.
- Upgrade wwdtm from 2.5.0 to 2.6.0, which requires Wait Wait Stats Database version 4.4 or higher
Starting with version 2.6.0, support for all versions of Python prior to 3.10 have been deprecated.
- Upgrade wwdtm from 2.4.1 to 2.5.0, which drops supports for Python versions prior to 3.10 and includes:
- Upgrade MySQL Connector/Python from 8.0.33 to 8.2.0
- Upgrade numpy from 1.24.4 to 1.26.0
- Upgrade pydantic from 2.3.0 to 2.5.2
- Upgrade fastapi from 0.103.1 to 0.104.1
- Upgrade uvicorn from 0.23.2 to 0.24.0.post1
- Upgrade httpx from 0.24.1 to 0.25.2
- Upgrade email-validator from 2.0.0.post2 to 2.1.0.post1
- Upgrade pytest from 7.4.0 to 7.4.3
- Upgrade black from 23.7.0 to 23.11.0
- Remove
py38
andpy39
fromtool.black
inpyproject.toml
- Bump minimum pytest version from 7.0 to 7.4 in
pyproject.toml
- Migrate to Pydantic 2, which requires re-working of models, which includes:
- Using bump-pydantic to migrate to Pydantic 2
- Replacing
conint
andconstr
withAnnotated[int, Path()]
andAnnotated[str, Path()]
respectively in routes - Replacing
strip_whitespace=True
tostring.strip()
when passing in values to a method
- Adding titles via
Path(title=)
to path elements in routes where applicable - Correct spelling errors
- Upgrade pydantic from
<2
to 2.3.0 - Upgrade wwdtm from 2.4.0 to 2.4.1, which includes:
- Upgrading numpy from 1.24.3 to 1.24.4
- Upgrading pytz from 2023.3 to 2023.3.post1
- Correct typo in the docstring for
LocationRecordings
model
- Upgrade wwdtm from 2.3.0 to 2.4.0
- Add support for Panelist Lightning Start and Correct decimal fields for the appropriate models
- Panelist Lightning Start and Correct decimal values will be added as additional fields rather than replacing the current fields
- Upgrade wwdtm from 2.2.0 to 2.3.0
- Fix issue where
panelists/scores/id
andpanelists/scores/slug
return scores asint
instead ofDecimal
due toUnion[int, Decimal]
would return anint
. Switched toUnion[Decimal, int]
to allowDecimal
to take precedence
- Change pydantic version pin from "==1.10.12" to "<2" to include potential future updates to 1.x while blocking 2.x or higher
- Add support for new column in the Wait Wait Stats Database that stores panelist scores as a decimal
- Add a new settings configuration key,
use_decimal_scores
, to enable or disable the new feature
- Upgrade wwdtm from 2.1.0 to 2.2.0
- Upgrade fastapi from 0.101.0 to 0.103.0
- Pin pydantic to 1.10.12
- FastAPI breaks with Pydantic version >=2.0.0
- Upgrade fastpi from 0.98.0 to 0.101.0
- Upgrade uvicorn from 0.22.0 to 0.23.2
- Upgrade gunicorn from 20.1.0 to 21.2.0
- Upgrade aiofiles from 23.1.0 to 23.2.1
- Upgrade email-validator from 1.3.1 to 2.0.0.post2
- Upgrade flake8 from 6.0.0 to 6.1.0
- Upgrade pycodestyle from 2.10.0 to 2.11.0
- Upgrade pytest from 7.3.1 to 7.4.0
- Upgrade black from 23.3.0 to 23.7.0
- Upgrade wwdtm from 2.0.9 to 2.1.0
- Upgrade fastapi from 0.95.1 to 0.98.0
- Upgrade uvicorn from 0.21.0 to 0.22.0
- Upgrade httpx from 0.24.0 to 0.24.1
- Upgrade requests from 2.28.2 to 2.31.0
- Upgrade wwdtm from 2.0.8 to 2.0.9, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.31 to 8.0.33
- Upgrade NumPy from 1.23.4 to 1.24.2
- Upgrade python-slugify from 6.1.2 to 8.0.1
- Upgrade pytz from 2022.6 to 2023.3
- Upgrade fastapi from 0.88.0 to 0.95.1
- Upgrade httpx from 0.23.1 to 0.24.0
- Upgrade uvicorn from 0.20.0 to 0.21.1
- Upgrade aiofiles from 22.1.0 to 23.1.0
- Upgrade email-validator from 1.3.0 to 1.3.1
- Upgrade requests from 2.28.1 to 2.28.2
- Move pytest configuration from
pytest.ini
intopyproject.toml
- Upgrade flake8 from 5.0.4 to 6.0.0
- Upgrade pycodestyle from 2.9.1 to 2.10.0
- Upgrade pytest from 7.2.0 to 7.3.1
- Upgrade black from 22.10.0 to 23.3.0
- Add
/v1.0
and/v1.0/docs
routes that redirect back to/
as part of deprecating Stats API v1.0 - Remove links to Stats API v1.0 docs and update v1.0 deprecation message
- Better handling of how
app.metadata.app_metadata
is populated in case the corresponding values are not set inconfig.json
- Add validation of
contact_email
,contact_name
andcontact_url
values when populatingapp.metadata.app_metadata
- Added
settings
section to the applicationconfig.json
andconfig.json.dist
template file with the following keys:stats_url
to set the URL for the Wait Wait Stats Pagecontact_email
to set a contact e-mail address for the OpenAPI metadatacontact_name
to set a contact name for the OpenAPI metadatacontact_url
to set a contact URL for the OpenAPI metadata
- Renamed
load_database_config
inapp.config
toload_config
that returns a dictionary withdatabase
andsettings
as keys containing the corresponding values as a dictionary fromconfig.json
- Update all references to
app.config.load_database_config
toapp.config.load_config
- Update
app/metadata.py
to make use of the new contact e-mail, name and URL configuration keys - Update the
index.html
template to make use of thestats_url
configuration key
- Upgrade wwdtm from 2.0.7 to 2.0.8, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.30 to 8.0.31
- Upgrade NumPy from 1.23.2 to 1.23.4
- Upgrade python-slugify from 5.0.2 to 6.1.2
- Upgrade pytz from 2022.2.1 to 2022.6
- Upgrade fastapi from 0.85.0 to 0.88.0
- Add httpx 0.23.1 as a requirement for fastapi 0.88.0
- Upgrade uvicorn from 0.18.3 to 0.20.0
- Upgrade aiofiles from 0.8.0 to 22.1.0
- Upgrade email-validator from 1.2.1 to 1.3.0
- Upgrade flake8 from 4.0.1 to 5.0.4
- Upgrade pycodestyle from 2.8.0 to 2.9.1
- Upgrade pytest from 7.1.2 to 7.2.0
- Upgrade black from 22.6.0 to 22.10.0
- Explicitly return
text/plain
as the media type for/robots.txt
- Upgrade fastapi from 0.79.0 to 0.85.0
- Upgrade uvicorn from 0.18.2 to 0.18.3
- Upgrade aiofiles from 0.8.0 to 22.1.0
- Upgrade pytest from 7.1.2 to 7.1.3
- Officially deprecate Stats API v1.0 and add a notice on the main index page. No other application changes were made.
- Upgrade wwdtm from 2.0.5 to 2.0.7, which also includes the following changes:
- Upgrade MySQL Connector/Python from 8.0.28 to 8.0.30
- Upgrade NumPy from 1.22.3 to 1.23.2
- Upgrade pytz from 2022.1 to 2022.2.1
- Upgrade requests from 2.27.1 to 2.28.1
- Correct required version of Black from 22.3.0 to 22.6.0 in
requirements-dev.txt
- Upgrade fastapi from 0.78.0 to 0.79.0
- Upgrade uvicorn from 0.17.6 to 0.18.2
- Upgrade black from 22.3.0 to 22.6.0
- Change Black
target-version
to removepy36
andpy37
, and addpy310
- Upgrade fastapi from 0.75.1 to 0.78.0
- Upgrade jinja2 from 3.1.1 to 3.1.2
- Upgrade email-validator from 1.1.3 to 1.2.1
- Upgrade pytest from 6.2.5 to 7.1.2
- Upgrade black from 22.1.0 to 22.3.0
- Upgrade fastapi from 0.73.0 to 0.75.1
- Upgrade uvicorn from 0.17.4 to 0.17.6
- Upgrade jinja2 from 3.0.3 to 3.1.1
For a list of changes for pre-release versions of the Wait Wait Stats API, check out the Releases page for api.wwdt.me_v2 on GitHub.