There were two main issue:
- cloudsmith-api and cloudsmith-cli only provide wheels, no ".tar.gz"s. I'm not sure how to make pypi2nix look for wheels instead. It might already look for wheels, but there's the second problem:
- cloudsmith-api's file is "cloudsmith_api" and cloudsmith-cli is "cloudsmith_cli" (i.e. that file name and project name don't match)
This is simply fixed by providing an overrides file to pypi2nix that fetches "cloudsmith-api" for it:
pypi2nix -r requirements.txt -O bootstrap_overrides.nix
- Comment out "cloudsmith-api" in requirements.txt -> successfully generated.
- Create a "cloudsmith-cli" derivation using the requirements.nix generated, but provide "cloudsmith-cli" via "requirements_override.nix".
- Fix issues with the override till it works (ensure can fetch source, provide propagatedBuildInputs)
- Rename "requirements_override" to "bootstrap_override" and feed this back to pypi2nix.