Skip to content
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

docs: [FC-0074] enrich docstrings following a template with more details #246

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

mariajgrimaldi
Copy link
Member

@mariajgrimaldi mariajgrimaldi commented Jan 7, 2025

Description

This PR modifies the docstrings of all current filters by adding:

  • Better descriptions of their purpose.
  • Typing hints.
  • Filter type embedded in the docstring to be reflected in the docs generated by RTD.
  • Trigger information to locate the filter in the corresponding services.

Supporting information

This PR addresses a concern raised by this PR removing hooks docs from edx-platform: openedx/edx-platform#35921 (comment), where the table referencing where each event was triggered from was dropped.

Testing instructions

You can review the changes here: https://docsopenedxorg--246.org.readthedocs.build/projects/openedx-filters/en/246/reference/filters.html

Deadline

None

Checklists

Check off if complete or not applicable:

Merge Checklist:

  • All reviewers approved
  • Reviewer tested the code following the testing instructions
  • CI build is green
  • Version bumped
  • Changelog record added with short description of the change and current date
  • Documentation updated (not only docstrings)
  • Code dependencies reviewed
  • Fixup commits are squashed away
  • Unit tests added/updated
  • Noted any: Concerns, dependencies, migration issues, deadlines, tickets

Post Merge:

  • Create a tag
  • Create a release on GitHub
  • Check new version is pushed to PyPI after tag-triggered build is
    finished.
  • Delete working branch (if not needed anymore)
  • Upgrade the package in the Open edX platform requirements (if applicable)

@openedx-webhooks openedx-webhooks added the open-source-contribution PR author is not from Axim or 2U label Jan 7, 2025
@openedx-webhooks
Copy link

openedx-webhooks commented Jan 7, 2025

Thanks for the pull request, @mariajgrimaldi!

This repository is currently maintained by @openedx/hooks-extension-framework.

Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review.

🔘 Get product approval

If you haven't already, check this list to see if your contribution needs to go through the product review process.

  • If it does, you'll need to submit a product proposal for your contribution, and have it reviewed by the Product Working Group.
    • This process (including the steps you'll need to take) is documented here.
  • If it doesn't, simply proceed with the next step.

🔘 Provide context

To help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:

  • Dependencies

    This PR must be merged before / after / at the same time as ...

  • Blockers

    This PR is waiting for OEP-1234 to be accepted.

  • Timeline information

    This PR must be merged by XX date because ...

  • Partner information

    This is for a course on edx.org.

  • Supporting documentation
  • Relevant Open edX discussion forum threads

🔘 Get a green build

If one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green.


Where can I find more information?

If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources:

When can I expect my changes to be merged?

Our goal is to get community contributions seen and reviewed as efficiently as possible.

However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:

  • The size and impact of the changes that it introduces
  • The need for product review
  • Maintenance status of the parent repository

💡 As a result it may take up to several weeks or months to complete a review and merge your PR.

@mariajgrimaldi mariajgrimaldi changed the title docs: enrich docstrings following a template with more details docs: [FC-0074] enrich docstrings following a template with more details Jan 7, 2025
@mariajgrimaldi mariajgrimaldi added the FC Relates to an Axim Funded Contribution project label Jan 7, 2025
@mariajgrimaldi mariajgrimaldi force-pushed the MJG/enrich-descriptions branch 2 times, most recently from 68f37c3 to d17276b Compare January 8, 2025 11:21
@mariajgrimaldi mariajgrimaldi marked this pull request as ready for review January 8, 2025 11:22
@mariajgrimaldi mariajgrimaldi requested a review from a team as a code owner January 8, 2025 11:22
@mariajgrimaldi mariajgrimaldi requested a review from sarina January 8, 2025 11:22
Copy link
Contributor

@sarina sarina left a comment

Choose a reason for hiding this comment

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

I think generally it is better practice to separate commits from changes from commits with version upgrades, it looks like you've done it all in one commit. But I am not going to block on this feedback.

openedx_filters/course_authoring/filters.py Outdated Show resolved Hide resolved
openedx_filters/learning/filters.py Outdated Show resolved Hide resolved
openedx_filters/learning/filters.py Outdated Show resolved Hide resolved
openedx_filters/learning/filters.py Outdated Show resolved Hide resolved
Comment on lines 87 to 88
- message: error message for the exception.
- response: custom response which will be returned by the account settings view.
Copy link
Contributor

Choose a reason for hiding this comment

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

Same as above

This filter is triggered when a user requests a certificate, just before the certificate is created allowing the
filter to act on the user, course key, mode, status, grade, and generation mode.

Usage:
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you think we should add this Usage in the other filters?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, this was not supposed to be here. Thanks for noticing.

Comment on lines 848 to 849
message: error message for the exception.
response: custom response which will be returned by the XBlock render view.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
message: error message for the exception.
response: custom response which will be returned by the XBlock render view.
- message (str): error message for the exception.
- response (Optional[HttpResponse]): custom response which will be returned by the XBlock render view.

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think we need this level of detail in the docstrings though, since we already have the typing.

message: error message for the exception.
response: custom response which will be returned by the XBlock render view.
"""
def __init__(self, message: str, response: HttpResponse = None):
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
def __init__(self, message: str, response: HttpResponse = None):
def __init__(self, message: str, response: Optional[HttpResponse] = None):

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for this!


Arguments:
course_key (CourseKey): The course key for which the home url is being requested.
course_home_url (String): The url string for the course home
course_home_url (String): The url string for the course home.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
course_home_url (String): The url string for the course home.
- course_home_url (str): The url string for the course home.


Arguments:
serialized_courserun (dict): courserun data
serialized_courserun (dict): courserun data.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
serialized_courserun (dict): courserun data.
- serialized_courserun (dict): courserun data.

@mariajgrimaldi mariajgrimaldi force-pushed the MJG/enrich-descriptions branch from 105a7ac to 35ffa69 Compare January 14, 2025 09:40
@mariajgrimaldi
Copy link
Member Author

@BryanttV @sarina: thank you both for the review!

Bryann, you can review again :)

@mariajgrimaldi
Copy link
Member Author

mariajgrimaldi commented Jan 14, 2025

Comment to reviewers: The type-hint annotations are for documentation only for now. In another PR, I'll add the additional mypy checks. So there will probably be more changes around this. Thanks for the patience!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FC Relates to an Axim Funded Contribution project open-source-contribution PR author is not from Axim or 2U
Projects
Status: In Eng Review
Development

Successfully merging this pull request may close these issues.

4 participants