Skip to content

[pyos][suggestion] Type hints on i/o functions #435

Open
@sneakers-the-rat

Description

@sneakers-the-rat

Not going to suggest going through and adding type hints to all possible functions, but I think they would be especially useful on the i/o functions since you are traversing libraries and types - this would help the already good interoperability in mixed contexts where people are converting to and from different types, help people know what to expect with static analysis tools. I recognize that you might not have the correct packages imported/installed since they are optionals, but there are a few strategies that might work there -- splitting up the i/o module into a package with submodules where you try and import the necessary packages at the module level and then use string type hints:

something like...

IMPORTED = False
try:
    import networkx as nx
    from networkx.classes.digraph import DiGraph
    IMPORTED = True
except ImportError as e:
    # probably some logging idk
    raise e
    

def to_networkx(m, edge_attribute:str='weight') -> 'DiGraph':
    ...

that's pretty clumsy but hopefully illustrates the idea.

part of: pyOpenSci/software-submission#81

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussionDiscussing a topic with no specific actions yethygieneImprove code quality and reduce maintenance overhead

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy