Releases
v40
Add a function text.coloured() for printing text with ANSI escape codes.
v39
Remove some debugging code that was left in v38.
v38
Remove the smartypants dependency from chives.text.
v37
Remove the rapidfuzz dependency from chives.static_site_tests.
v36
Fix another dependency issue with chives.static_site_tests.
v35
Fix an issue where installing chives.static_site_tests without chives.urls would complain about a missing certifi dependency.
v34
Improve the URL-handling in chives.fetch; in particular improve the case where you call fetch_url(url, params) with a URL that already has some query parameters or a fragment.
v33
Remove the fetch_image function from chives.fetch; either use fetch_url or download_image.
v32
Add a download_image function to chives.fetch.
v31
Remove the hyperlink dependency.
v30
Add a chives.fetch package which has some helper functions for making HTTP requests using the standard library.
v29
Add a chives.text package which exports a smartify() function for applying SmartyPants-style formatting to a string – adding curly quotes and smart dashes.
v28
Remove the httpx dependency in chives.urls.
v27
Don’t reuse the browser fixture between tests.
v26
Extract the browser fixture as a standalone fixture rather than binding it to a class, so it can be reused across multiple test suites.
v25
Change the type of StaticSiteTestSuite.pages_to_check from set to list to ensure consistent ordering of parametrised tests.
Fix a bug when testing URLs with query parameters.
v24
In StaticSiteTestSuite, add testing with Playwright that checks static websites render correctly.
Breaking change: the site root must now be specified as a classmethod get_site_root() rather than a site_root fixture.
v23
Change the format of VideoEntity.subtitles to be a list of SubtitlesEntity, so a single video can have multiple subtitles.
v22
Remove the start_radio parameter in clean_youtube_url().
v21
Add a method dates.now() to return the current time in the timestamp used by all my static sites.
v20
Use concurrency in test_no_videos_are_av1, which can make it faster for larger media collections.
v19
Allow passing both width and height as part of ThumbnailConfig, to constrain a thumbnail to a bounding box.
v18
Expose get_tint_colour() as a public function from chives.media.
v17
Account for EXIF orientation when getting the width/height of image entities.
v16
Don’t require defining list_tags_in_metadata() in projects that don’t use tags.
v15
Fix a bunch of lints from ruff; remove an unused dependency.
v14
Improve the error message on failed assertions in StaticSiteTestSuite.
v13
Mark a couple more folders/files as ignored in StaticSiteTestSuite.
v12
Add checks for fuzzy tag matching to StaticSiteTestSuite.
v11
Add a new class StaticSiteTestSuite which runs my standard set of tests for a static site, e.g. checking every file is saved, checking timestamps use the correct format.
v10
Add a new is_url_safe() function for checking if a path can be safely used in a URL.
v9
This adds three models to chives.media: ImageEntity, VideoEntity, and ImageEntity. These have all the information I need to show an image/video in a web page.
It also includes functions create_image_entity and create_video_entity which construct instances of these models.
v8
Add the is_mastodon_host() function.
v7
Add the parse_tumblr_post_url() function.
v6
Add the parse_mastodon_post_url() function.
v5
When calling reformat_date(), ensure all dates are converted to UTC.
v4
Rename chives.timestamps to chives.dates.
v3
Add the clean_youtube_url() function and urls extra. Rearrange the package structure slightly, to allow optional dependencies.
v2
Add the is_av1_video() function for detecting AV1-encoded videos.
v1
Initial release. Included functions:
date_matches_any_formatdate_matches_formatfind_all_datesreformat_date