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

👌 ub-test-reports: dedent a literal block after splitting it, so relative indentation survives every line boundary

Open Beginner friendly
#2,184 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
python
Domain
documentation

Research direction

Start by reading ub_test_reports.needs_export._literal_block and the tests covering literal block indentation. The issue describes the behavior change: split the text into lines before dedenting, while preserving byte-identical output for LF-only text. Add a test pinning a mixed-boundary block and confirm the existing LF-only behavior still passes.

Written by the indexing model from the issue text.

Description

enhancement P5 pkg: ub-test-reports

ub_test_reports.needs_export._literal_block dedents a block's text with textwrap.dedent and then splits it with str.splitlines() (#2179), indenting every line so none ends the block early. textwrap.dedent works on line-feed lines only, so a sub-line produced by another line boundary (CR, NEL, LINE SEPARATOR, …) keeps its own leading whitespace: it stays INSIDE the block, but the block's relative indentation — which the docstring promises for tracebacks and diffs — holds across line feeds only (#2179's review, V3-F2; documented as such).

Enhancement: split first (splitlines()), then dedent the resulting lines, so the relative indentation survives every boundary. Byte-identical for text holding line feeds only; one pin for a mixed-boundary block.

Dominant language
Python
Stars
309
Forks
103
Avg merge
4h 40m
Merged PRs (30d)
154

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.