Skip to content

docs: Revise README for improved clarity and installation info#128

Merged
garlontas merged 1 commit intomainfrom
feature/update-readme-for-better-onboarding
Apr 13, 2026
Merged

docs: Revise README for improved clarity and installation info#128
garlontas merged 1 commit intomainfrom
feature/update-readme-for-better-onboarding

Conversation

@garlontas
Copy link
Copy Markdown
Member

@garlontas garlontas commented Apr 13, 2026

Refactor README to enhance clarity and conciseness, updating descriptions and installation instructions.

Summary by Sourcery

Revise the README to provide a clearer introduction, simpler installation instructions, and a more focused feature overview.

Documentation:

  • Condense and clarify the library description, highlighting core capabilities like sequential/parallel streams and lazy evaluation.
  • Reorganize README sections into installation, feature highlights, streams overview, conditions, error handling, data loaders, and documentation links.
  • Add structured explanations and concise examples for conditions, error handling, and file loaders, including optional extras and docs references.

Refactor README to enhance clarity and conciseness, updating descriptions and installation instructions.
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai bot commented Apr 13, 2026

Reviewer's Guide

README has been significantly refactored to be shorter and more task-focused, emphasizing quick installation, core value proposition, and links to external docs while keeping a few focused examples for streams, conditions, error handling, and data loaders.

Flow diagram for the new README information structure

flowchart TD
  A_Landing_on_Repository --> B_Intro_and_value_proposition
  B_Intro_and_value_proposition --> C_Installation_section
  C_Installation_section --> D_First_Stream_example
  D_First_Stream_example --> E_Why_PyStreamAPI_bullets
  E_Why_PyStreamAPI_bullets --> F_Building_a_Stream_overview
  F_Building_a_Stream_overview --> G_Conditions_section
  G_Conditions_section --> H_Error_handling_section
  H_Error_handling_section --> I_Data_loaders_section
  I_Data_loaders_section --> J_Documentation_links
  J_Documentation_links --> K_Bug_reports_section
Loading

File-Level Changes

Change Details Files
Condensed and rephrased the introductory description and removed the Java comparison block to focus on a single Python example and a concise value statement.
  • Replaced multi-paragraph introduction and bullet list with a single concise paragraph describing PyStreamAPI features and behavior.
  • Removed the full Java code equivalent example to reduce noise and keep the README Python-focused.
README.md
Reworked conceptual and getting-started sections into streamlined installation and feature-overview sections.
  • Replaced the long "What is a Stream?" explanation and repeated Python example with shorter sections that reference external documentation for details.
  • Introduced a dedicated Installation section with a simple pip command and import example.
  • Added a "Why PyStreamAPI?" section summarizing key features as a short bullet list.
README.md
Simplified and reorganized stream creation content into a concise "Building a Stream" section.
  • Collapsed multiple subsections on stream types, factory methods, and notes into a brief description of Stream vs NumericStream and their sequential/parallel variants.
  • Provided a compact code block showing common factory methods like of, parallel_of, sequential_of, of_noneable, iterate, and concat.
  • Linked to the quick-start docs for comprehensive API details instead of duplicating them in the README.
README.md
Reintroduced conditions and error handling as focused, example-driven sections with links to specific documentation pages.
  • Added a short Conditions section including the existing image, a brief explanation, and a single illustrative example using one_of(even(), prime()).
  • Added a concise Error Handling section that demonstrates error_level() usage and enumerates the available error levels with a link to the dedicated docs.
README.md
Replaced verbose loader explanations with a summarized Data Loaders section and table plus a minimal example.
  • Summarized supported loaders (CSV, JSON, XML, YAML, TOML) in a small table including their optional extras.
  • Provided a short example of using the CSV loader within a stream pipeline and mentioned the streams.py[all] extra.
  • Linked to the data loaders documentation instead of keeping separate per-format code blocks and installation instructions in the README.
README.md
Simplified closing sections by pointing to the main docs and removing extended examples and performance notes.
  • Replaced the API Reference, Complex Examples, and Performance sections with a single Documentation section linking to the main docs site.
  • Kept the Bug Reports section as-is for issue reporting while reducing non-essential narrative content above it.
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@garlontas garlontas merged commit dd2c1ea into main Apr 13, 2026
7 checks passed
@garlontas garlontas deleted the feature/update-readme-for-better-onboarding branch April 13, 2026 16:38
Copy link
Copy Markdown

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The claim of 100% test coverage in the README is brittle and likely to go stale; consider rephrasing to something like high test coverage or linking to a badge/metric instead.
  • The loaders table suggests yaml and toml require no extras while earlier versions of the README and the code likely require optional dependencies (e.g., [yaml_loader]); double-check and align the extras column with the actual installation requirements.
  • The comment Stream.of([1, 2, 3]) # auto-selects sequential or numeric may confuse users about parallelization (it currently always returns a sequential stream); consider clarifying that it auto-selects between Stream and NumericStream but not between sequential and parallel.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The claim of `100% test coverage` in the README is brittle and likely to go stale; consider rephrasing to something like `high test coverage` or linking to a badge/metric instead.
- The loaders table suggests `yaml` and `toml` require no extras while earlier versions of the README and the code likely require optional dependencies (e.g., `[yaml_loader]`); double-check and align the extras column with the actual installation requirements.
- The comment `Stream.of([1, 2, 3])  # auto-selects sequential or numeric` may confuse users about parallelization (it currently always returns a sequential stream); consider clarifying that it auto-selects between `Stream` and `NumericStream` but not between sequential and parallel.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@sonarqubecloud
Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant