# Third-Party Notices This file records every non-standard-library dependency declared by the Python edition, every CRAN package used by the R Shiny edition, and every third-party asset loaded or bundled by the `www/` clients. Python version ranges are taken from `migrate-studio-python/requirements.txt`; R package roles are taken from `migrate-studio-r-shiny/tools/check_env.R`. No third-party Python or R packages are vendored in this repository; they are installed separately by the user. | Component | Version | Use and location | License / attribution | |---|---:|---|---| | openpyxl | `>=3.1,<4` | Python workbook import and rule-book processing (`migrate-studio-python/migrate_studio.py`, `migrate-studio-python/python/mc_rules.py`, and `migrate-studio-python/python/mig_apply.py`) | MIT License; see the [openpyxl project](https://openpyxl.readthedocs.io/) for its copyright notice. | | pytest | `>=8,<10` | Python test runner (`migrate-studio-python/tests/` and `migrate-studio-python/python/test_mig_apply.py`) | MIT License; see the [pytest project](https://pytest.org/) for its copyright notice. | | fflate | 0.8.2 | Bundled ZIP/XLSX support in `migrate-studio-python/www/js/vendor/fflate.min.js` and `migrate-studio-r-shiny/www/js/vendor/fflate.min.js` | MIT License, Copyright (c) 2023 Arjun Barrett. Full license text is included beside each bundled file as `fflate.LICENSE`. | | IBM Plex Sans and IBM Plex Mono | Google Fonts delivery; versions selected by the service | Remote font stylesheets loaded by `migrate-studio-python/www/index.html` and `migrate-studio-r-shiny/www/index.html`; the font files are not bundled in this repository. | SIL Open Font License 1.1; copyright and full license are provided by the font distribution. | | shiny | 1.12.1 (validated) | R Shiny web application server (`migrate-studio-r-shiny/app.R`, `migrate-studio-r-shiny/R/`) | GPL-3; see the [shiny package](https://cran.r-project.org/package=shiny) for its copyright notice. Not bundled. | | htmltools | as installed with shiny | HTML generation for the Shiny edition (required) | GPL (>= 2); see the [htmltools package](https://cran.r-project.org/package=htmltools). Not bundled. | | httpuv | as installed with shiny | Web server underneath shiny; also used for free-port probing in `migrate-studio-r-shiny/run_migrate_studio.R` (required) | GPL (>= 2); see the [httpuv package](https://cran.r-project.org/package=httpuv). Not bundled. | | jsonlite | current CRAN | JSON handling in `migrate-studio-r-shiny/R/` (required) | MIT License; see the [jsonlite package](https://cran.r-project.org/package=jsonlite). Not bundled. | | digest | current CRAN | Hashing in `migrate-studio-r-shiny/R/api_native.R` (required) | GPL (>= 2); see the [digest package](https://cran.r-project.org/package=digest). Not bundled. | | reticulate | current CRAN | Optional bridge to the Python engine (`migrate-studio-r-shiny/R/py_bridge.R`) | Apache License 2.0; see the [reticulate package](https://cran.r-project.org/package=reticulate). Not bundled. | | readxl | current CRAN | Optional native workbook reading in `migrate-studio-r-shiny/R/batch.R` | MIT License; see the [readxl package](https://cran.r-project.org/package=readxl). Not bundled. | | testthat | current CRAN | Optional R test runner (`migrate-studio-r-shiny/tests/testthat/`) | MIT License; see the [testthat package](https://cran.r-project.org/package=testthat). Not bundled. | The remainder of the Python runtime uses only the Python standard library. The R Shiny edition otherwise uses only base R packages (`utils`, `tools`, `stats`).