New interface for specifying different data sources for read/write
Personne n'a encore pris cette issue.
- Langage dominant
- Jupyter Notebook
- Étoiles
- 853
- Forks
- 322
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Looking at the current rdrecord for example, there are two parameters used to specify the location of the record:
record_name: strpn_dir: str
The current package supports reading files locally and from the global database index URL, which defaults to PhysioNet, as specified in download.py.
There are several things that we should aim to support:
- Reading/writing from more types of data sources, such as S3, and GCS.
- Having more than one remote source configured at a time.
One proposal might be to have a new DataSource class, and a global config dictionary with key:value pairs of ds_name(str):ds(DataSource). ie.
class DataSourceType(Enum):
LOCAL = 1 # Not sure if this is necessary?
HTTP = 2
GCS = 3
S3 = 4
class DataSource:
ds_type : DataSourceType
# Other type-specific params here
_physionet_ds = DataSource(ds_type=DataSourceType.HTTP, base_url="https://physionet.org/content/")
data_sources = { 'physionet' : _physionet_ds }
And the read/write functions could use these params:
record_name: strdata_source: str | DataSource - The key of the data source in the global data sources map, or aDataSourceobject.
This would be much more explicit. Thoughts?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par lire l’interface actuelle de rdrecord et download.py, que l’issue identifie comme les points d’entrée pertinents pour l’accès local et à PhysioNet. Comparez la manière dont ces chemins devraient représenter plusieurs sources distantes, puis documentez une API concrète et des critères d’acceptation pour la prise en charge de la lecture/écriture locale, HTTP, S3 et GCS avant l’implémentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend-api-design
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100