@@ -68,7 +68,7 @@ from abx_pkg import Binary, BinProvider, BrewProvider, EnvProvider
6868# you can also define binaries as classes, making them usable for type checking
6969class CurlBinary (Binary ):
7070 name: str = ' curl'
71- binproviders: List [InstanceOf[BinProvider]] = [BrewProvider(), EnvProvider()]
71+ binproviders: list [InstanceOf[BinProvider]] = [BrewProvider(), EnvProvider()]
7272
7373curl = CurlBinary().install()
7474assert isinstance (curl, CurlBinary) # CurlBinary is a unique type you can use in annotations now
@@ -175,7 +175,7 @@ It can define one or more `BinProvider`s that it supports, along with overrides
175175- ` load() ` , ` install() ` , ` load_or_install() ` ` -> ` ` Binary `
176176- ` binprovider: InstanceOf[BinProvider] `
177177- ` abspath: Path `
178- - ` abspaths: List [Path] `
178+ - ` abspaths: list [Path] `
179179- ` version: SemVer `
180180- ` sha256: str `
181181
@@ -185,7 +185,7 @@ from abx_pkg import BinProvider, Binary, BinProviderName, BinName, ProviderLooku
185185class CustomBrewProvider (BrewProvider ):
186186 name: str = ' custom_brew'
187187
188- def get_macos_packages (self , bin_name : str , ** context ) -> List [str ]:
188+ def get_macos_packages (self , bin_name : str , ** context ) -> list [str ]:
189189 extra_packages_lookup_table = json.load(Path(' macos_packages.json' ))
190190 return extra_packages_lookup_table.get(platform.machine(), [bin_name])
191191
@@ -195,11 +195,11 @@ class YtdlpBinary(Binary):
195195 name: BinName = ' ytdlp'
196196 description: str = ' YT-DLP (Replacement for YouTube-DL) Media Downloader'
197197
198- binproviders_supported: List [BinProvider] = [EnvProvider(), PipProvider(), AptProvider(), CustomBrewProvider()]
198+ binproviders_supported: list [BinProvider] = [EnvProvider(), PipProvider(), AptProvider(), CustomBrewProvider()]
199199
200200 # customize installed package names for specific package managers
201- provider_overrides: Dict [BinProviderName, ProviderLookupDict] = {
202- ' pip' : {' packages' : [' yt-dlp[default,curl-cffi]' ]}, # can use literal values (packages -> List [str], version -> SemVer, abspath -> Path, install -> str log)
201+ provider_overrides: dict [BinProviderName, ProviderLookupDict] = {
202+ ' pip' : {' packages' : [' yt-dlp[default,curl-cffi]' ]}, # can use literal values (packages -> list [str], version -> SemVer, abspath -> Path, install -> str log)
203203 ' apt' : {' packages' : lambda : [' yt-dlp' , ' ffmpeg' ]}, # also accepts any pure Callable that returns a list of packages
204204 ' brew' : {' packages' : ' self.get_macos_packages' }, # also accepts string reference to function on self (where self is the BinProvider)
205205 }
@@ -221,9 +221,9 @@ from abx_pkg import BinProvider, Binary, BinProviderName, BinName, ProviderLooku
221221class DockerBinary (Binary ):
222222 name: BinName = ' docker'
223223
224- binproviders_supported: List [BinProvider] = [EnvProvider(), AptProvider()]
224+ binproviders_supported: list [BinProvider] = [EnvProvider(), AptProvider()]
225225
226- provider_overrides: Dict [BinProviderName, ProviderLookupDict] = {
226+ provider_overrides: dict [BinProviderName, ProviderLookupDict] = {
227227 ' env' : {
228228 # example: prefer podman if installed (falling back to docker)
229229 ' abspath' : lambda : os.which(' podman' ) or os.which(' docker' ) or os.which(' docker-ce' ),
@@ -313,7 +313,7 @@ from django_pydantic_field import SchemaField
313313class InstalledBinary(models.Model):
314314 name = models.CharField(max_length = 63 )
315315 binary: Binary = SchemaField()
316- binproviders: List [InstanceOf[BinProvider]] = SchemaField(default = [])
316+ binproviders: list [InstanceOf[BinProvider]] = SchemaField(default = [])
317317 version: SemVer = SchemaField(default = (0 ,0 ,1 ))
318318```
319319
0 commit comments