Skip to content

Commit 35556b8

Browse files
authored
Update README.md
1 parent 1511c27 commit 35556b8

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -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
6969
class CurlBinary(Binary):
7070
name: str = 'curl'
71-
binproviders: List[InstanceOf[BinProvider]] = [BrewProvider(), EnvProvider()]
71+
binproviders: list[InstanceOf[BinProvider]] = [BrewProvider(), EnvProvider()]
7272

7373
curl = CurlBinary().install()
7474
assert 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
185185
class 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
221221
class 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
313313
class 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

Comments
 (0)