posit-dev / posit-dev/rsconnect-python
Checkum mismatch in `write-manifest shiny` for requirements.txt
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 37
- Forks
- 28
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 7
Description
Hey guys,
this is related to issue #429 but different as I don't manually change the requirements file. On my windows machine (win11 and latest version of rsconnect, 1.31.1), I run this command to create the requirements:
rsconnect write-manifest shiny --requirements-file "pyproject.toml" --overwrite --verbose .
This runs flawlessly but when I deploy to shinyapps.io (okay soon deprecated 😁), I get the error that the checksum of the requirements file does not match and indeed:
manifest.json:
...
"files": {
"requirements.txt": {
"checksum": "9575666e0dd133b66c6ffad2ee76d0a7"
},
...
and the manual calculation:
certutil -hashfile requirements.txt MD5
MD5-Hash von requirements.txt:
5091c1d66ce4ff619a9787030deea0f8
Manually replacing the MD5 checksum in manifest.json results in successful deployment. However, when I run this command before automated deployment with GitHub Actions on Linux, there is no issue. Let me know if you need further information, or if I'm just doing it wrong 🙄
Cheers,
Tobi
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the rsconnect write-manifest shiny command on Windows using pyproject.toml, then compare the generated requirements.txt with its checksum in manifest.json. Contrast the Windows output with the Linux GitHub Actions result and verify that the manifest checksum matches the file contents so deployment succeeds without manual editing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100