Skip to content

Update ADIT Client link & add documentation link to readme #297

Merged
mhumzaarain merged 5 commits intomainfrom
Fixing-adit-client-link
Feb 17, 2026
Merged

Update ADIT Client link & add documentation link to readme #297
mhumzaarain merged 5 commits intomainfrom
Fixing-adit-client-link

Conversation

@mhumzaarain
Copy link
Copy Markdown
Collaborator

@mhumzaarain mhumzaarain commented Feb 2, 2026

  • Fixed the adit-client link issue
  • Add MkDocs hook to dynamically set copyright in the site footer
  • Add documentation link to read me

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @mhumzaarain, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on maintaining up-to-date documentation and configuration. It corrects an outdated link for the ADIT Client to ensure users are directed to the correct resource on PyPI, and streamlines the MkDocs configuration by removing an unnecessary copyright declaration.

Highlights

  • ADIT Client Link Update: The link for the ADIT Client in the README.md file has been updated to point to its PyPI project page instead of the GitHub repository.
  • MkDocs Configuration Cleanup: The copyright entry has been removed from the mkdocs.yml configuration file.
Changelog
  • README.md
  • mkdocs.yml
    • Removed the 'copyright' entry from the MkDocs configuration.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

Adds a new MkDocs hook module that injects a dynamic copyright year, updates mkdocs.yml to use the hook (removing the static copyright entry), and modifies README.md to rename the API Client section to "ADIT Client" and point to the PyPI adit-client page.

Changes

Cohort / File(s) Summary
Docs content
README.md
Renamed "API Client" to "ADIT Client" and replaced the GitHub client link with the PyPI adit-client reference; wording tightened.
MkDocs configuration
mkdocs.yml
Removed top-level static copyright key and added a hooks: entry referencing docs/hooks/copyright.py.
Build hook
docs/hooks/copyright.py
Added new hook module defining on_config(config) that sets config["copyright"] to "Copyright © 2024-{current_year} CCI Bonn" using datetime.now().year.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I nudged a link, I planted a year,
A tiny hook hopped quietly near.
Docs now point where packages dwell,
And time rolls forward — all is well. 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary changes: updating the ADIT Client link in the README and adding a documentation link, which are the main modifications across the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch Fixing-adit-client-link

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request updates the link for the ADIT Client in the README and removes the copyright information from the mkdocs.yml configuration. While updating the link is a good improvement, I've suggested using a version-agnostic URL to avoid it becoming outdated. More importantly, the removal of the copyright notice is a significant change that should be carefully considered and documented, as it has potential legal implications.

Comment thread mkdocs.yml
repo_url: https://github.com/openradx/adit
edit_uri: edit/main/docs/

copyright: Copyright &copy; 2024-2025 CCI Bonn
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

high

This change removes the copyright notice from the documentation website's configuration. This is a significant change with potential legal implications that is not mentioned in the pull request description. Copyright information is crucial for defining ownership and licensing for the project. This removal should be reverted unless it is intentional and approved, in which case it should be explicitly justified in the PR description.

Comment thread README.md Outdated
## API Client

[ADIT Client](https://github.com/openradx/adit-client) is a Python library to query, retrieve and upload DICOM images programmatically from a Python script. Thereby it can interact with DICOM (e.g. PACS) servers connected to an ADIT server.
[ADIT Client](https://pypi.org/project/adit-client/0.5.0/) is a Python library to query, retrieve and upload DICOM images programmatically from a Python script. Thereby it can interact with DICOM (e.g. PACS) servers connected to an ADIT server.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Linking to a specific version of the adit-client on PyPI can cause the documentation to become outdated quickly. It's generally better to link to the main project page, which always shows the latest version.

Suggested change
[ADIT Client](https://pypi.org/project/adit-client/0.5.0/) is a Python library to query, retrieve and upload DICOM images programmatically from a Python script. Thereby it can interact with DICOM (e.g. PACS) servers connected to an ADIT server.
[ADIT Client](https://pypi.org/project/adit-client/) is a Python library to query, retrieve and upload DICOM images programmatically from a Python script. Thereby it can interact with DICOM (e.g. PACS) servers connected to an ADIT server.

@claude
Copy link
Copy Markdown

claude Bot commented Feb 2, 2026

PR Review: Update ADIT Client Link

Thank you for the contribution! I've reviewed the changes and have some feedback:

Code Quality & Best Practices

README.md - Link Change:
The change from linking to the GitHub repository to PyPI has both pros and cons:

Issues:

  1. Version-specific link is problematic: Linking to /0.5.0/ hardcodes a specific version that will become outdated. Users may not get the latest version information.
  2. GitHub link provides more context: The GitHub repository offers documentation, issues, contribution guidelines, and source code - more valuable for developers wanting to understand or contribute to the client.
  3. PyPI link is useful for installation: However, PyPI is indeed the right place to direct users for installation instructions.

Recommendation:
Consider one of these alternatives:

  • Link to PyPI without version: https://pypi.org/project/adit-client/ (redirects to latest)
  • Keep GitHub link as primary reference and mention PyPI for installation
  • Use both: "ADIT Client (GitHub | PyPI)"

mkdocs.yml - Copyright Removal:

  1. Questionable change: The PR title mentions "Update ADIT Client link" but doesn't mention removing the copyright notice.
  2. Scope creep: This change seems unrelated to fixing the link issue mentioned in the PR description.
  3. Missing justification: No explanation provided for why the copyright should be removed.

Concerns

  1. Incomplete PR description: The body says "Fixed the adit-client link issue" but doesn't explain what the issue was or why the copyright was removed.
  2. Two unrelated changes: Link update and copyright removal should ideally be separate commits/PRs.
  3. No test coverage needed: For documentation changes, manual verification is sufficient.

Suggestions

  1. Revert the copyright removal unless there's a specific reason (if so, please explain in the PR description)
  2. Update the link to not include the version number: https://pypi.org/project/adit-client/
  3. Update PR description to explain both changes if both are intentional
  4. Consider the hybrid approach of linking to both GitHub (for developers) and PyPI (for users)

Security & Performance

No security or performance concerns - these are documentation-only changes.

Would you like to discuss these suggestions?

@claude
Copy link
Copy Markdown

claude Bot commented Feb 3, 2026

PR Review: Update ADIT Client link

Summary

This PR updates the ADIT Client reference in README.md to point to the PyPI package page instead of a GitHub repository link, and removes the copyright field from mkdocs.yml.

Code Quality ✅

Strengths:

  • Clean, straightforward changes
  • Minimal diff with clear intent
  • No code logic changes, only documentation updates

Changes Analysis

1. README.md Link Update (Line 80)

Change: github.com/openradx/adit-clientpypi.org/project/adit-client/

Assessment:Good decision

  • PyPI is the correct canonical location for users to discover and install the package
  • Aligns with Python ecosystem best practices (linking to package registry rather than source code)
  • The package is already published to PyPI (confirmed by GitHub workflow in .github/workflows/publish-client.yml)
  • Users typically want pip install adit-client instructions, which PyPI provides prominently

Note: The GitHub repository still exists at adit-client/ as a monorepo subdirectory, which is the correct architecture.

2. mkdocs.yml Copyright Removal (Lines 9-10)

Change: Removed copyright: Copyright &copy; 2024-2025 CCI Bonn

Consideration: ⚠️ Needs clarification

  • The commit message states "remove copyright notice" but doesn't explain why
  • This appears unrelated to the main purpose (fixing the ADIT Client link)
  • Copyright information is typically retained in documentation
  • The copyright is still present in the LICENSE file (AGPL-3.0-or-later)

Question for maintainers: Was this removal intentional, or should it be a separate PR with proper justification?

Potential Issues

Missing Updates in Documentation

The documentation files also reference the ADIT Client but weren't updated:

  1. docs/user-docs/user-guide.md:101 - Mentions adit-client but has no link
  2. docs/dev-docs/architecture.md:48 - Mentions adit-client but has no link

Recommendation: Consider adding PyPI links to these documentation files for consistency:

The **[ADIT Client](https://pypi.org/project/adit-client/)** is a Python package...

adit-client/README.md Reference

The client's own README (adit-client/README.md:5) still links to the main ADIT repository on GitHub, which is correct and should remain unchanged.

Testing ✅

No functional code changes - documentation only. Manual verification of the PyPI link would be sufficient.

Security ✅

No security concerns. External links are to trusted domains (pypi.org).

Best Practices

Commit messages: Both commits have clear, descriptive messages that explain the changes well.

Scope: The first commit mixes two unrelated changes (link update + copyright removal). Best practice would be to separate these into distinct commits.

Recommendations

  1. Add PyPI links to documentation files for consistency (user-guide.md, architecture.md)
  2. Clarify copyright removal rationale - either restore it or document why it was removed
  3. Consider updating CLAUDE.md (line 128) to mention the PyPI package link as well

Overall Assessment: ✅ Approve with Minor Suggestions

The core change (updating the README link to PyPI) is correct and beneficial. The copyright removal warrants clarification but doesn't block the PR. The documentation files could be updated in a follow-up PR for consistency.

Suggested follow-up:

  • Add PyPI links to docs/user-docs/user-guide.md and docs/dev-docs/architecture.md
  • Verify the copyright removal was intentional

@claude
Copy link
Copy Markdown

claude Bot commented Feb 17, 2026

PR Review

This is a small documentation-only PR. Here's my feedback:

Summary of Changes

  • README.md: Adds a link to the documentation site, renames "API Client" → "ADIT Client", and redirects the link from GitHub to PyPI. Also rewrites the section description for clarity.
  • docs/hooks/copyright.py: New MkDocs hook to dynamically set the copyright year range.
  • mkdocs.yml: Switches from a static copyright string to the new hook.

Feedback

README.md — documentation link placement
The new line The detailed documentation of ADIT can be found at <https://openradx.github.io/adit/>. is inserted after the first paragraph but before the "Developed at" section. This placement is reasonable, but a dedicated "Documentation" section or a badge in the header area (like other projects do) might be more prominent and consistent.

README.md — PyPI vs. GitHub link for ADIT Client
Linking to the PyPI page is a valid choice for end-users looking to install the package. However, the GitHub repo link communicates more context (source, issues, changelog). Consider linking to both:

[ADIT Client](https://pypi.org/project/adit-client/) ([source](https://github.com/openradx/adit-client))

docs/hooks/copyright.py — dynamic year is a good improvement
Replacing the hardcoded 2024-2025 with a dynamic year is the right approach. One minor note: datetime.now().year returns a local system time year, which could theoretically differ from UTC in rare edge cases around New Year. For a copyright notice this is entirely inconsequential, so no action needed.

docs/hooks/copyright.py — HTML entity in Python string
The string "Copyright &copy; 2024-{datetime.now().year} CCI Bonn" contains an HTML entity (&copy;). This was already present in the original mkdocs.yml, so this is not a regression — MkDocs renders it correctly. Just worth being aware of if this string is ever used in a non-HTML context.

mkdocs.yml — hardcoded start year
The start year 2024 is now defined in docs/hooks/copyright.py. If this ever needs changing it is in one place, which is fine.


Verdict

The changes are correct and improve the docs. No functional code is affected. The PR is safe to merge. The suggestions above are minor improvements, not blockers.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/hooks/copyright.py (1)

1-6: Clean and correct hook implementation.

Minor observations:

  1. If the build runs in 2024, the copyright renders as "2024-2024". You could conditionally collapse to a single year, but this is purely cosmetic.
  2. Adding a type annotation for the config parameter would satisfy pyright and align with the Google Python Style Guide.
♻️ Optional refinement
-from datetime import datetime
+from datetime import datetime
+
+from mkdocs.config.defaults import MkDocsConfig
 
 
-def on_config(config):
-    config["copyright"] = f"Copyright &copy; 2024-{datetime.now().year} CCI Bonn"
+def on_config(config: MkDocsConfig) -> MkDocsConfig:
+    current_year = datetime.now().year
+    start_year = 2024
+    year_range = str(start_year) if current_year == start_year else f"{start_year}-{current_year}"
+    config["copyright"] = f"Copyright &copy; {year_range} CCI Bonn"
     return config
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/hooks/copyright.py` around lines 1 - 6, The on_config hook sets a year
range unconditionally and lacks a type annotation; update on_config(config) to
accept a typed mapping (e.g., dict[str, Any] or MutableMapping) and compute
current_year = datetime.now().year then set config["copyright"] to either
"Copyright © 2024 CCI Bonn" when current_year == 2024 or "Copyright ©
2024-{current_year} CCI Bonn" otherwise, ensuring the value uses the formatted
string and return the annotated config.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/hooks/copyright.py`:
- Around line 1-6: The on_config hook sets a year range unconditionally and
lacks a type annotation; update on_config(config) to accept a typed mapping
(e.g., dict[str, Any] or MutableMapping) and compute current_year =
datetime.now().year then set config["copyright"] to either "Copyright © 2024 CCI
Bonn" when current_year == 2024 or "Copyright © 2024-{current_year} CCI Bonn"
otherwise, ensuring the value uses the formatted string and return the annotated
config.

@mhumzaarain mhumzaarain changed the title Update ADIT Client link Update ADIT Client link & add documentation link to readme Feb 17, 2026
@mhumzaarain mhumzaarain added the documentation Improvements or additions to documentation label Feb 17, 2026
@claude
Copy link
Copy Markdown

claude Bot commented Feb 17, 2026

PR Review: Update ADIT Client link & add documentation link to readme

This is a small, focused documentation PR with three changes. Overall the changes are reasonable, but I have a few observations.


README.md — Documentation link

Good addition — linking to the hosted docs early in the README improves discoverability.

Minor nit: The documentation link sentence sits between the project description and the "Developed at" section, which feels a bit abrupt. Placing it at the end of the description paragraph, or under a ## Documentation heading, would improve flow. Not a blocker.


README.md — ADIT Client section rename + link change

Rewording: The new wording is clearer and more natural — good improvement.

Concern — link target changed from GitHub to PyPI: Swapping the GitHub source link for a PyPI link is a trade-off worth discussing:

  • PyPI is useful for users who just want to install the package.
  • The GitHub repo link is more useful for contributors or anyone who wants to browse source, open issues, or check the project README.

A common pattern is to keep the GitHub link and separately mention pip install adit-client, or link to both. As-is, users wanting to contribute or file issues on adit-client lose the direct path.


docs/hooks/copyright.py (new file)

Functionality is correct. Using an MkDocs hook to auto-update the copyright end year is a clean, standard approach — no more manual year bumps.

Minor nit — hardcoded start year: The 2024 start year is a magic number. A named constant or brief comment would make the intent explicit for future maintainers:

# Project copyright started in 2024
START_YEAR = 2024
config["copyright"] = f"Copyright &copy; {START_YEAR}-{datetime.now().year} CCI Bonn"

Note on timing: The previous static value in mkdocs.yml was 2024-2025. Merging this PR will immediately render the footer as 2024-2026 (correct, since today is 2026-02-17).


mkdocs.yml

Clean removal of the now-static string and replacement with the hook reference. No issues.


Summary

Area Status
Documentation link in README Good addition
Section rename (API ClientADIT Client) Appropriate
PyPI vs GitHub link for ADIT Client Worth discussing — consider keeping or adding back the GitHub link
Copyright hook Correct pattern; minor nit on magic start year
Tests N/A (documentation-only change)
Security No concerns

@claude
Copy link
Copy Markdown

claude Bot commented Feb 17, 2026

PR Review

This is a small, focused documentation improvement PR. Overall it's clean and reasonable. A few observations:

README.md

  • Documentation link: Adding the link to the MkDocs site is a good addition for discoverability.
  • Section rename: Renaming "API Client" → "ADIT Client" and updating the link from the GitHub repo to PyPI is sensible — PyPI is the canonical installation source for end users.
  • Description rewrite: The updated wording is clearer and more natural.

docs/hooks/copyright.py — Potential Issue

The hook uses datetime.now() which returns the local system time. On CI/CD servers this is typically fine, but it would be more robust to use:

from datetime import datetime, timezone

def on_config(config):
    config["copyright"] = f"Copyright &copy; 2024-{datetime.now(timezone.utc).year} CCI Bonn"
    return config

Using timezone.utc avoids any timezone ambiguity (e.g. near year-end on a server in a non-UTC timezone). Minor issue, but worth considering.

Additionally, the hook hardcodes 2024 as the start year. If the project predates 2024 or if this ever needs to change, it's just another manual edit — but that's acceptable for this kind of copyright string.

mkdocs.yml

  • Replacing the hardcoded 2024-2025 with the hook is the right approach — no more manual year bumps needed.

No concerns about:

  • Test coverage (documentation-only changes don't need tests)
  • Security
  • Performance

Summary

The changes are correct and improve the project's documentation. The only minor suggestion is using timezone-aware datetime in the MkDocs hook. Everything else looks good.

@mhumzaarain mhumzaarain merged commit d51ffef into main Feb 17, 2026
3 checks passed
@mhumzaarain mhumzaarain deleted the Fixing-adit-client-link branch February 17, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No clear installation/setup guidelines Improve user help Add documentation on how to inform users via Announcement

1 participant