rstudio / rstudio/pins-python

Tracking Issue - Pyright Compliance

Open
#272 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.typing
Dominant language
Python
Stars
59
Forks
11
PR merge metrics
No merged PRs in 30d

Description

This is a tracking issue for addressing stricter compliance with pyright. Each issue needs to be considered on a case-by-case basis, in some cases it might be best to keep the rule disabled.

### Tasks
- [ ] `reportArgumentType`: None defaults without None in their type hint, Variety of other issues
- [ ] https://github.com/rstudio/pins-python/issues/291
- [ ] `reportAttributeAccessIssue`: Variety of issues
- [ ] `reportCallIssue`: Passing extra args to the IFileSystem Protocol, Missing overloads for as_df arg in pin_search and pin_versions
- [ ] https://github.com/rstudio/pins-python/issues/304
- [ ] `reportIncompatibleMethodOverride`: Issues with ExtendMethodDoc, RSConnect implementation of the IFileSystem Protocol
- [ ] https://github.com/rstudio/pins-python/issues/276
- [ ] https://github.com/rstudio/pins-python/issues/312
- [ ] `reportMissingImports`: https://github.com/rstudio/pins-python/issues/262#issuecomment-2240875273
- [ ] `reportMissingTypeStubs`: Missing stubs for fsspec: https://github.com/fsspec/filesystem_spec/issues/625, Missing stubs for joblib: https://github.com/joblib/joblib/issues/1516
- [ ] https://github.com/rstudio/pins-python/issues/306
- [ ] `reportOptionalMemberAccess`: RSConnect API _raw_query return type issue, prepare_pin_version unhandled case
- [ ] `reportOptionalSubscript`: RSConnect API _raw_query return type issue, RSConnect implementation of the IFileSystem Protocol
- [ ] `reportPossiblyUnboundVariable`: Mostly False positives arising from fragmented if statements and integer comparisons
- [ ] `reportReturnType`: Variety of issues
- [ ] https://github.com/rstudio/pins-python/issues/308

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the task list and the linked issues, grouping the reported pyright rules and deciding each case individually, including where a rule should remain disabled. Review the affected issues and pyright findings; done means the listed compliance tasks are resolved or explicitly justified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience, tooling
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.