Skip to content

Improve package meta (documentation, typing, etc) #14

@wfordh

Description

@wfordh

I think it'd be worthwhile to get the package polished up to help it stand out on pypi and make it easier to use, mainly with things like documentation, typing, testing, and linting. I was inspired by this blog post on Tubthumper, another open source repo. I wanted to open this issue to start the high level discussion on these potential additions, but am happy to split it out.

  • Documentation: stretch goal is move to readthedocs / sphinx and easier goal is to move to markdown files within a docs folder in the repo. Either way making sure the docstrings are helpful as we're currently pretty inconsistent there, though a lot of the functions are pretty self-explanatory.
  • Typing: stretch goal is to go all the way to mypy or another static type checker and easier goal is to just have the type hints in the code without checking them. I think this would help with usage and documentation. It might depend on which Python versions are supported / what the code is written in. I think it's currently 3.7?
  • Versions: stretch goal is to support 3.7 through 3.10 and have the tests and everything configured to support / validate each version.
  • Testing: Not entirely sure here but I guess have unit tests and maybe some code coverage tests?
  • Linting: adding black (or something else?) and isort to keep the code clean.
  • pyproject.toml: probably want to replace setup.py with pyproject.toml to keep with Python best practices

I'm by no means an expert here and it would be my first time figure out a bunch of these things, but think it'd be pretty cool. I might have some time in the next couple months to work on it, too. LMK your thoughts @dtsong

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions