Filter repository artifacts#
Note
New in 2.0.0
In this guide, we’ll walk through strategies to filter lazyscribe.repository.Repository
instances based on a version.
In our other documentation on versioning, we discuss how to load different
versions of individual artifacts. In 2.0, we have added a feature to filter an entire
lazyscribe.repository.Repository, creating a single set of output artifacts.
Datetime filtering#
Many times, we are looking for the latest set of artifacts available as of a given date. If you
provide lazyscribe.repository.Repository.filter() with a datetime value or string, that’s exactly
what it will give you:
from lazyscribe import Repository
repo = Repository(...)
new_repo: Repository = repo.filter("2025-01-01T00:00:00")
new_repo is a read-only repository with a maximum of one artifact version per unique name. That version
will be the latest version available as of January 1, 2025.
Explicit versioning#
Datetime filtering is nice, but what if you want an explicit list of artifact versions?
from lazyscribe import Repository
repo = Repository(...)
new_repo = repo.filter(
version=[
("my-first-artifact", 1),
("my-second-artifact", 0),
("my-third-artifact", 2)
]
)