Skip to content

Add complete third-party license notices for all dependencies#18

Open
mkagenius wants to merge 16 commits intomainfrom
update-third-party-notices
Open

Add complete third-party license notices for all dependencies#18
mkagenius wants to merge 16 commits intomainfrom
update-third-party-notices

Conversation

@mkagenius
Copy link
Copy Markdown
Collaborator

Summary

Adds legally required attribution notices for all dependencies in requirements.txt to THIRD_PARTY_NOTICES.md.

What's new

  • MIT License — 12 components (beautifulsoup4, duckdb, fastapi, mcp, openpyxl, pdf2image, pdfkit, pdfplumber, python-docx, python-pptx, pytz, tabula-py)
  • MPL-2.0 + MIT — tqdm
  • BSD 3-Clause — 8 components (httpx, joblib, mpmath, numpy, pypdf, scikit-learn, uvicorn, websockets)
  • BSD 2-Clause — added xlsxwriter (imageio, imageio-ffmpeg were already listed)
  • BSD (unspecified) — 10 components (bash_kernel, jupyter-server, pandas, python-dateutil, reportlab, scipy, seaborn, statsmodels, sympy, xlrd)
  • PSF License — matplotlib
  • LGPLv3 — img2pdf (used as library only, with source code link)

What's unchanged

  • GPLv3 (FFmpeg), MIT-CMU (Pillow), SIL OFL (fonts) — already present

What's excluded

  • Apache-2.0 deps (aiofiles, fastmcp, openai, pyarrow, playwright, etc.) — not required since the project itself is Apache-2.0 licensed

abhishek-anand and others added 16 commits February 2, 2026 16:11
- Rewrite README: library-first, code execution focus, no AI slop
- Add versioned API endpoints (/v1/execute, /v1/sessions, /v1/browser)
- Add deprecated wrappers for old endpoints with Deprecation header
- Add /health endpoint
- Create Python client library (coderunner package)
- Add pyproject.toml for pip installability

Breaking changes (deprecated, still work):
- /execute -> /v1/execute
- /v1/sessions/session -> /v1/sessions, /v1/sessions/{id}
- /v1/browser/interactions/* -> /v1/browser/*

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tests:
- Add 25 unit tests for client library
- Add parsing tests for skill frontmatter
- All tests pass without requiring running server

Container improvements:
- Add SIGTERM/SIGINT handler for graceful kernel shutdown
- Add 10-minute timeout to container system start in install.sh
- Improve cleanup.sh with graceful stop (no aggressive pkill)
- Simplify Homebrew install command (auto-tap syntax)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds legally required attribution notices for all MIT, BSD, PSF,
MPL-2.0, and LGPLv3 dependencies from requirements.txt. Apache-2.0
dependencies are omitted since the project itself is Apache-2.0 licensed.

Grouped by license type:
- MIT License (12 components)
- MPL-2.0 AND MIT (tqdm)
- BSD 3-Clause (8 components)
- BSD 2-Clause (3 components, was 2)
- BSD unspecified (10 components)
- Python Software Foundation License (matplotlib)
- LGPLv3 (img2pdf)
- Existing: GPLv3 (FFmpeg), MIT-CMU (Pillow), SIL OFL (fonts)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown

@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 introduces a Python client library and CLI for CodeRunner, rewrites the README for better clarity, and enhances the server with graceful shutdown logic, health checks, and session management. It also adds a comprehensive test suite and support for running Claude via Microsoft LiteBox. Feedback includes correcting a typo in the .gitignore file, removing unused imports in server.py, and adding a missing trailing newline at the end of the server script.

third_party/

cleaup.sh No newline at end of file
cleaup.sh
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The filename in the ignore list contains a typo. It should be cleanup.sh to match the actual script name in the repository.

cleanup.sh

Comment on lines +8 to 10
import signal
import sys
import zipfile
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The signal and sys modules are imported but not used anywhere in this script. Removing unused imports is recommended to maintain code cleanliness and reduce overhead.

Suggested change
import signal
import sys
import zipfile
import zipfile

app.add_route("/v1/sessions/session", deprecated_session_get, methods=["GET"])
app.add_route("/v1/sessions/session", deprecated_session_delete, methods=["DELETE"])
app.add_route("/v1/browser/interactions/navigate", deprecated_browser_navigate, methods=["POST"])
app.add_route("/v1/browser/interactions/content", deprecated_browser_content, methods=["POST"]) No newline at end of file
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The file is missing a newline at the end, which is recommended by PEP 8 for Python files to ensure compatibility with various tools and to follow standard formatting practices.

Suggested change
app.add_route("/v1/browser/interactions/content", deprecated_browser_content, methods=["POST"])
app.add_route("/v1/browser/interactions/content", deprecated_browser_content, methods=["POST"])

@mkagenius
Copy link
Copy Markdown
Collaborator Author

Need just the 3rd party license commit cherry picked. Not others.

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.

2 participants