-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Milestone
Description
What?
- Create a class
OSFProjectin ioSPI/datasets.py that refactors the code in:- the class
Projectin ioSPI's PR#70 - the class
OSFUploadin ioSPI/datasets.py module - the function
upload_dataset_from_filesof simSPI's tem_tutorial.ipynb
- the class
- Remove the function
upload_dataset_from_filesof simSPI's tem_tutorial.ipynb - Adapt the tutorial ioSPI/notebooks/download_and_upload_with_osf.ipynb from ioSPI that upload or download data using the
datasets.pymodule. - Add corresponding unit-tests.
- Use pre-commit (see README) to make sure that your code follows style guidelines.
Why?
There are several reasons for this task:
- Functionality in ioSPI and simSPI should not be entangled. The fact that they are, i.e. simSPI is using ioSPI, complicates the development: as any PR on ioSPI potentially requires a refactoring PR on simSPI.
- Functionalities that download or upload data with OSF use different logics that are hard to grasp for newcomers: this task creates one Python class only, i.e. one single point of entry with one logic.
The library ioSPI can only be useful if users can understand it quickly. This task is urgent and very much needed.
Where?
The class OSFProject should go into the ioSPI/datasets.py module.
This class replaces the classes Project and OSFUpload from ioSPI/datasets.py.
How?
The new class OSFProject should have (at least):
- a method
ls: listing the files of a OSF project - a method
download - a method
upload
and follow the logic that one object instantiated from this class corresponds to one OSF project.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo