ohbm / hackathon2022

Website for the 2022 OHBM Hackathon
https://ohbm.github.io/hackathon2022/
MIT License
5 stars 11 forks source link

Type hints for NiBabel #54

Open effigies opened 2 years ago

effigies commented 2 years ago

Title

Type hints for NiBabel

Short description and the goals for the OHBM BrainHack

Python has support for type annotations to help developers code more effectively by catching bugs via static analysis or making auto-complete suggestions. The more libraries that annotate their code with useful type hints, the more effective this assistance becomes.

The goal of this project is to annotate NiBabel to ease the development process for neuroimaging in Python and improve the reliability of code built on top of NiBabel. We will use mypy for static analysis and test out type hinting in VScode.

Link to the Project

https://github.com/nipy/nibabel/

Image for the OHBM brainhack website

https://nipy.org/nibabel/_static/reggie.png

Project lead

Chris Markiewicz (@effigies + Discord: Chris Markiewicz#5926)

Main Hub

Glasgow

Other Hub covered by the leaders

Skills

Minimum

Ideal

Recommended tutorials for new contributors

Good first issues

https://github.com/nipy/nibabel/issues/1109

Twitter summary

The type-hints for NiBabel project aims to make neuroimaging in Python easier and less error-prone.

Short name for the Discord chat channel (~15 chars)

nibabel-typing

Please read and follow the OHBM Code of Conduct

djarecka commented 2 years ago

Thank you for submitting the project! We have 35 projects right now, woohoo! But that means the projects pitches will have to be short. We will give you tomorrow 2 minutes to pitch your project, you can have one slide or no slides! If you decide to use a slide, please include the link to the slide here.

And don't worry, you will still have more time to talk about your project during the BrainHack :-)

effigies commented 2 years ago

Since I plan to use vscode to test out type annotations, I found this startup guide helpful: https://theproductiveengineer.net/how-to-set-up-vs-code-for-python/

effigies commented 2 years ago

Poll: What nibabel components would you like to see type hints for?

[![](https://api.gh-polls.com/poll/01G5P7XY5PHQVFRQD7DYBM2VCX/img.get_fdata())](https://api.gh-polls.com/poll/01G5P7XY5PHQVFRQD7DYBM2VCX/img.get_fdata()/vote)

jdkent commented 2 years ago

accidentally clicked other... (no suggestion)

HippocampusGirl commented 2 years ago

Nifti1Header (if that's not included in Nifti1Image already). I can never remember all those functions :-)