openml / openml/server-api

Add docstring linting (D-class rules) to ruff configuration

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

Nobody has claimed this yet.

Dominant language
Python
Stars
16
Forks
50
PR merge metrics
No merged PRs in 30d

Description

Description

The project currently ignores all docstring linting rules (D-class) in the ruff configuration with a TODO comment.

Location

pyproject.toml:60

[tool.ruff.lint]
# The D (doc) and DTZ (datetime zone) lint classes current heavily violated - fix later
select = ["ALL"]
ignore = [
    "D",  # todo: docstring linting
    # ...
]

Impact

  • Inconsistent or missing docstrings across the codebase
  • Reduced code maintainability and readability
  • Harder for new contributors to understand code functionality

Suggested Implementation

  1. Start by enabling specific D-rules that are least violated (e.g., D100, D101 for missing docstrings)
  2. Gradually fix existing violations or use per-file ignores for legacy code
  3. Eventually enable all D-rules for new code

Related

Similar TODO exists for DTZ (datetime zone) rules which should also be addressed.

Contributor guide

No contributing guide indexed for this repository

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

The Ruff configuration is in pyproject.toml:60; start by reviewing the ignored D class and the existing lint setup. Measure the current D-rule violations, then define the selected rules and per-file exceptions; done means the agreed D rules are enabled without unresolved legacy violations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.