1+ from __future__ import annotations
2+
13import functools
24import inspect
35import logging
79from datetime import datetime , timedelta
810from io import IOBase
911from pathlib import Path
10- from typing import Mapping , Optional , Protocol , Sequence
12+ from typing import Mapping , Protocol , Sequence
1113
1214from importlib_resources import files
1315
2325
2426
2527class IFileSystem (Protocol ):
26- protocol : " str | list"
28+ protocol : str | list
2729
2830 def ls (self , path : str ) -> Sequence [str ]: ...
2931
@@ -47,11 +49,11 @@ class BaseBoard:
4749
4850 def __init__ (
4951 self ,
50- board : " str | Path" ,
52+ board : str | Path ,
5153 fs : IFileSystem ,
5254 versioned = True ,
5355 meta_factory = MetaFactory (),
54- allow_pickle_read : " bool | None" = None ,
56+ allow_pickle_read : bool | None = None ,
5557 ):
5658 self .board = str (board )
5759 self .fs = fs
@@ -170,7 +172,7 @@ def pin_list(self):
170172
171173 return [name for name in pin_names if name not in self .reserved_pin_names ]
172174
173- def pin_fetch (self , name : str , version : Optional [ str ] = None ) -> Meta :
175+ def pin_fetch (self , name : str , version : str | None = None ) -> Meta :
174176 meta = self .pin_meta (name , version )
175177
176178 # TODO: sanity check caching (since R pins does a cache touch here)
@@ -182,7 +184,7 @@ def pin_fetch(self, name: str, version: Optional[str] = None) -> Meta:
182184 # so they could pin_fetch and then examine the result, a la pin_download
183185 return meta
184186
185- def pin_read (self , name , version : Optional [ str ] = None , hash : Optional [ str ] = None ):
187+ def pin_read (self , name , version : str | None = None , hash : str | None = None ):
186188 """Return the data stored in a pin.
187189
188190 Parameters
@@ -216,13 +218,13 @@ def pin_read(self, name, version: Optional[str] = None, hash: Optional[str] = No
216218 def _pin_store (
217219 self ,
218220 x ,
219- name : Optional [ str ] = None ,
220- type : Optional [ str ] = None ,
221- title : Optional [ str ] = None ,
222- description : Optional [ str ] = None ,
223- metadata : Optional [ Mapping ] = None ,
224- versioned : Optional [ bool ] = None ,
225- created : Optional [ datetime ] = None ,
221+ name : str | None = None ,
222+ type : str | None = None ,
223+ title : str | None = None ,
224+ description : str | None = None ,
225+ metadata : Mapping | None = None ,
226+ versioned : bool | None = None ,
227+ created : datetime | None = None ,
226228 ) -> Meta :
227229 if type == "feather" :
228230 warn_deprecated (
@@ -301,13 +303,13 @@ def _pin_store(
301303 def pin_write (
302304 self ,
303305 x ,
304- name : Optional [ str ] = None ,
305- type : Optional [ str ] = None ,
306- title : Optional [ str ] = None ,
307- description : Optional [ str ] = None ,
308- metadata : Optional [ Mapping ] = None ,
309- versioned : Optional [ bool ] = None ,
310- created : Optional [ datetime ] = None ,
306+ name : str | None = None ,
307+ type : str | None = None ,
308+ title : str | None = None ,
309+ description : str | None = None ,
310+ metadata : Mapping | None = None ,
311+ versioned : bool | None = None ,
312+ created : datetime | None = None ,
311313 ) -> Meta :
312314 """Write a pin object to the board.
313315
@@ -386,7 +388,7 @@ def pin_download(self, name, version=None, hash=None) -> Sequence[str]:
386388
387389 def pin_upload (
388390 self ,
389- paths : " str | list[str]" ,
391+ paths : str | list [str ],
390392 name = None ,
391393 title = None ,
392394 description = None ,
@@ -440,7 +442,7 @@ def pin_version_delete(self, name: str, version: str):
440442 pin_version_path = self .construct_path ([pin_name , version ])
441443 self .fs .rm (pin_version_path , recursive = True )
442444
443- def pin_versions_prune (self , name , n : " int | None" = None , days : " int | None" = None ):
445+ def pin_versions_prune (self , name , n : int | None = None , days : int | None = None ):
444446 """Delete old versions of a pin.
445447
446448 Parameters
@@ -534,7 +536,7 @@ def pin_search(self, search=None, as_df=True):
534536 # looks with meta objects in it.
535537 return res
536538
537- def pin_delete (self , names : " str | Sequence[str]" ):
539+ def pin_delete (self , names : str | Sequence [str ]):
538540 """Delete a pin (or pins), removing it from the board.
539541
540542 Parameters
@@ -611,14 +613,14 @@ def prepare_pin_version(
611613 self ,
612614 pin_dir_path ,
613615 x ,
614- name : Optional [ str ] = None ,
615- type : Optional [ str ] = None ,
616- title : Optional [ str ] = None ,
617- description : Optional [ str ] = None ,
618- metadata : Optional [ Mapping ] = None ,
619- versioned : Optional [ bool ] = None ,
620- created : Optional [ datetime ] = None ,
621- object_name : Optional [ str ] = None ,
616+ name : str | None = None ,
617+ type : str | None = None ,
618+ title : str | None = None ,
619+ description : str | None = None ,
620+ metadata : Mapping | None = None ,
621+ versioned : bool | None = None ,
622+ created : datetime | None = None ,
623+ object_name : str | None = None ,
622624 ):
623625 meta = self ._create_meta (
624626 pin_dir_path ,
@@ -642,14 +644,14 @@ def _create_meta(
642644 self ,
643645 pin_dir_path ,
644646 x ,
645- name : Optional [ str ] = None ,
646- type : Optional [ str ] = None ,
647- title : Optional [ str ] = None ,
648- description : Optional [ str ] = None ,
649- metadata : Optional [ Mapping ] = None ,
650- versioned : Optional [ bool ] = None ,
651- created : Optional [ datetime ] = None ,
652- object_name : Optional [ str ] = None ,
647+ name : str | None = None ,
648+ type : str | None = None ,
649+ title : str | None = None ,
650+ description : str | None = None ,
651+ metadata : Mapping | None = None ,
652+ versioned : bool | None = None ,
653+ created : datetime | None = None ,
654+ object_name : str | None = None ,
653655 ):
654656 if name is None :
655657 raise NotImplementedError ("Name must be specified." )
@@ -933,9 +935,7 @@ def pin_list(self):
933935 return names
934936
935937 @ExtendMethodDoc
936- def pin_write (
937- self , * args , access_type = None , versioned : Optional [bool ] = None , ** kwargs
938- ):
938+ def pin_write (self , * args , access_type = None , versioned : bool | None = None , ** kwargs ):
939939 """Write a pin.
940940
941941 Extends parent method in the following ways:
@@ -1121,7 +1121,7 @@ def path_to_deploy_version(self, name: str, version: str):
11211121 def user_name (self ):
11221122 return self .fs .api .get_user ()["username" ]
11231123
1124- def prepare_pin_version (self , pin_dir_path , x , name : " str | None" , * args , ** kwargs ):
1124+ def prepare_pin_version (self , pin_dir_path , x , name : str | None , * args , ** kwargs ):
11251125 # RSC pin names can have form <user_name>/<name>, but this will try to
11261126 # create the object in a directory named <user_name>. So we grab just
11271127 # the <name> part.
0 commit comments