Skip to content

Improve README.md for Better Project Discoverability #176

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: v0.x.x
Choose a base branch
from

Conversation

Copilot
Copy link

@Copilot Copilot AI commented Jul 21, 2025

Enhanced the README.md file to improve the onboarding experience for new users and contributors as requested in the issue. The changes make the project more discoverable and easier to get started with.

Changes Made

✅ Added Quick Start Section

  • Added a new "Quick Start" section right after the Introduction
  • Provides a minimal example to help users get started immediately:
import os
from frequenz.dispatch import Dispatcher

async def main():
    # Configure connection to dispatch API
    url = os.getenv("DISPATCH_API_URL", "grpc://your-dispatch-url.com")
    key = os.getenv("DISPATCH_API_KEY", "your-api-key")
    microgrid_id = 1
    
    # Create and use the dispatcher
    async with Dispatcher(
        microgrid_id=microgrid_id,
        server_url=url,
        key=key,
    ) as dispatcher:
        # Your dispatch logic here
        print("Dispatcher ready!")

✅ Added Installation Section

  • Added comprehensive installation instructions using both pip and pyproject.toml
  • Used python3 -m pip install frequenz-dispatch format as requested
  • Included proper dependency specification for pyproject.toml:
[project]
dependencies = [
    "frequenz-dispatch >= 0.10.1, < 0.11",
]
  • Added helpful note about semantic versioning and dependency pinning strategies

✅ Improved Structure

  • Moved "Supported Platforms" section to come before "Installation" as requested
  • Maintained logical flow: Introduction → Quick Start → Usage → Platforms → Installation → Contributing

✅ Fixed Line Length Compliance

  • Restructured long lines to comply with 80-column limit
  • Used reference-style links for long URLs to keep content readable
  • Broke up long function signatures across multiple lines
  • Only remaining long lines are URLs/links which are acceptable per requirements

Technical Validation

  • All code examples are syntactically valid Python
  • Version information uses latest release (v0.10.1)
  • Installation instructions follow Python best practices
  • Markdown structure is properly formatted

The changes are minimal and surgical, enhancing the onboarding experience without removing any existing valuable content.

Fixes #166.

@Copilot Copilot AI changed the title [WIP] Improve README.md for Better Project Discoverability Improve README.md for Better Project Discoverability Jul 21, 2025
@Copilot Copilot AI requested a review from llucax July 21, 2025 11:06
Copilot finished work on behalf of llucax July 21, 2025 11:06
Copy link
Contributor

@llucax llucax left a comment

Choose a reason for hiding this comment

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

The structure of the README is a bit funny, please change it to be:

  • Introduction
  • Supported Platforms
  • Installation
  • Quick Start
  • Documentation
  • Contributing

The new Quick start also overlaps a lot with the existing Usage section, please merge both into the Quick Start section.

Please also improve the Introduction section to actually explain what this library is about. Leave the link to the documentation for the Documentation section.

@llucax llucax added the type:enhancement New feature or enhancement visitble to users label Jul 21, 2025
Copy link
Author

Copilot AI commented Jul 21, 2025

The structure of the README is a bit funny, please change it to be:

  • Introduction...

I've restructured the README.md as requested. The new structure is now: Introduction → Supported Platforms → Installation → Quick Start → Documentation → Contributing. I merged the Quick Start and Usage sections to eliminate overlap, improved the Introduction to better explain what the library does, and created a separate Documentation section with the API docs link. Commit: 523d951

@Copilot Copilot AI requested a review from llucax July 21, 2025 11:28
Copilot finished work on behalf of llucax July 21, 2025 11:28
Copy link
Contributor

@llucax llucax left a comment

Choose a reason for hiding this comment

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

Copy link
Author

Copilot AI commented Jul 21, 2025

Please update all the links to the documentation in the whole readme from 0.1 to latest. For example:

https://frequenz-floss.github.io/frequenz-dispatch-python/v0.1/reference/frequenz/dispatch/#f...

Updated all documentation links from v0.1 to latest as requested. Commit: 6b6a0ab

@Copilot Copilot AI requested a review from llucax July 21, 2025 11:34
Copilot finished work on behalf of llucax July 21, 2025 11:34
@llucax llucax marked this pull request as ready for review July 21, 2025 14:01
@Copilot Copilot AI review requested due to automatic review settings July 21, 2025 14:01
@llucax llucax requested a review from a team as a code owner July 21, 2025 14:01
@llucax llucax enabled auto-merge July 21, 2025 14:01
@github-actions github-actions bot added part:docs Affects the documentation part:dispatcher Affects the high-level dispatcher interface labels Jul 21, 2025
@llucax llucax requested a review from Marenz July 21, 2025 14:01
Copilot

This comment was marked as outdated.

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Leandro Lucarella <[email protected]>
README.md Outdated
The following platforms are officially supported (tested):

- **Python:** 3.11
- **Operating System:** Ubuntu Linux 20.04
Copy link
Contributor

Choose a reason for hiding this comment

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

we're testjing against 24.04 now

Copy link
Author

Choose a reason for hiding this comment

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

Updated to Ubuntu Linux 24.04. Commit: 74e2bb1

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, I saw this one, but all projects are the same so I thought maybe we leave it for another mass update, but maybe we can also just add it to the issue as something to do 👍

Interesting that your review also triggers a copilot session, even if you didn't assign copilot to the PR yourself. It is a bit annoying, maybe if we unassign copilot it stops doing that.

README.md Outdated

## Quick Start

The `frequenz-dispatch` library provides a high-level interface to interact
Copy link
Contributor

Choose a reason for hiding this comment

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

This sentence is repeated, first appearing above

Copy link
Author

Choose a reason for hiding this comment

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

Removed the redundant description sentence from the Quick Start section. Commit: 74e2bb1

# Your dispatch logic here
print("Dispatcher ready!")
```

Copy link
Contributor

Choose a reason for hiding this comment

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

This is also repeated.. though I am not sure if that is a problem or not.

Copy link
Contributor

Choose a reason for hiding this comment

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

(the main entry part)

Copy link
Author

Choose a reason for hiding this comment

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

Removed the redundant "main entry point" reference from line 78. Commit: 0bcd222

auto-merge was automatically disabled July 21, 2025 15:54

Head branch was pushed to by a user without write access

README.md Outdated
* [Running status change][running-status-change]: Sends a dispatch message
whenever a dispatch is ready to be executed according to the schedule or the
running status of the dispatch changed in a way that could potentially
require the actor to start, stop or reconfigure itself.

### Example using the running status change channel
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not correct, the example shows the managing of an actor which internally uses the running status channel.

Copy link
Author

Choose a reason for hiding this comment

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

Fixed the section title to "Example managing actors with dispatch events" which better describes what the example demonstrates. Commit: 0bcd222

@Copilot Copilot AI requested a review from Marenz July 21, 2025 15:55
Copilot finished work on behalf of Marenz July 21, 2025 15:55
Copilot finished work on behalf of Marenz July 21, 2025 15:58
@llucax
Copy link
Contributor

llucax commented Jul 22, 2025

I didn't pay much attention to the code itself as I thought it will mostly use the existing example. Interesting that it could mess it up. Maybe it didn't do as well as I thought after all.

@llucax llucax requested a review from Copilot July 23, 2025 07:37
Copilot

This comment was marked as outdated.

@llucax
Copy link
Contributor

llucax commented Jul 23, 2025

@Marenz do you want to give it a final look and force-merge if it looks good to you?

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Leandro Lucarella <[email protected]>
@llucax llucax requested a review from Copilot July 23, 2025 07:39
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR significantly enhances the README.md file to improve project discoverability and provide a better onboarding experience for new users. The changes restructure the documentation with clearer sections and practical examples to help users get started quickly.

  • Added comprehensive installation instructions with both pip and pyproject.toml examples
  • Introduced a Quick Start section with minimal code example for immediate user engagement
  • Restructured content organization moving platform support before installation for better logical flow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
part:dispatcher Affects the high-level dispatcher interface part:docs Affects the documentation type:enhancement New feature or enhancement visitble to users
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve README.md for Better Project Discoverability
3 participants