Resolve wheel based dependencies
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 603
- Forks
- 142
- PR merge metrics
- No merged PRs in 30d
Description
We would like to use wheel based artifacts instead of tar for dependency resolution. For some python packages that are dependent on native libraries, it is always better to use wheels since these libraries are bundled together inside a wheel package.
Pivy importer is able to download the wheel file and create ivy based configuration using the below command.
`pivy-importer-0.12.10-all.jar --repo /pypi-ivy/repo confluent-kafka:1.5.0:cp37-cp37m-macosx_10_6_intel
`
In our build.gradle we are trying something like below
```
python ('wheel:confluent_kafka:1.5.0') {
exclude module: 'enum34'
exclude module: 'futures'
}
```
The problem is resolving the dependency for different environments such as windows/linux/mac. In the above, it will be helpful if we can also provide classifier information "cp37-cp37m-macosx_10_6_intel" similar to the above command as pivy. The classifier can be used to resolve the correct directory path for different environments in ivy artifactory
Contributor guide
No contributing guide indexed for this repository
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
Start with the dependency declaration in build.gradle and reproduce the pivy-importer command for confluent-kafka 1.5.0. Investigate how pygradle maps wheel dependencies and classifiers into Ivy repository paths. Done means wheel artifacts resolve correctly for Windows, Linux, and macOS classifiers while preserving the shown exclusions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, python
- Domain
- build-system, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100