Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🐛 ub-needs-exchange: needs_defaults_removed with a non-object needs_schema reports nothing

Open
#2,231 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
devtools

Research direction

Start from the reader's check that tests "needs_schema" not in data, which treats a null or non-object needs_schema as present. Then find the corpus case defaults-removed-with-a-schema-that-is-not-an-object and contract §7.3, which pin the current behaviour. Done means a non-object schema counts as absent, the finding fires, that case is flipped, and the contract text and changelog are updated. This is a behaviour change that needs a maintainer decision first.

Written by the indexing model from the issue text.

Description

bug pkg: ub-needs-exchange

needs_defaults_removed: true with needs_schema: null (or any non-object needs_schema) counts as "schema present" in the reader ("needs_schema" not in data is the test), so no defaults_removed_without_schema is reported although nothing can be restored. Pinned as-is by the corpus case defaults-removed-with-a-schema-that-is-not-an-object (contract §7.3) because the 1.0.0 slice forbade behaviour changes.

Candidate rule: a non-object schema counts as absent, so the finding fires. A behaviour change: contract text, the case flipped, a changelog line in the package and (through the dependency) in sphinx-needs.

From the ub-needs-exchange 1.0.0 build (#2219, follow-up F2).

Dominant language
Python
Stars
309
Forks
103
Avg merge
10h 41m
Merged PRs (30d)
128

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from useblocks/sphinx-needs

All issues in useblocks/sphinx-needs

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.