-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Pre-automatic build wheels for each platform and release wheels on PyPI #94
Comments
I think that would be super useful and much appreciated!
As long as those steps are documented and it's possible to do those on a macOS system (or somebody with a windows machine is willing to help out taking care of those builds) that is good for me! @guyharris may also have some thoughts on this |
Nice. Well, I'm planning to use AppVeyor to compile pypcap for Windows so mac/linux contributors can download the artifact and upload to PyPI (like netifaces does). I really would like to do this but I'm not 100% sure if I have enough time. # Chocolatey
Invoke-Expression ((New-Object Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
# Build requirements
choco install -y microsoft-build-tools visualcppbuildtools --version 14.0.25420.1
# Build pypcap
$pypcap = "https://github.com/pynetwork/pypcap/archive/v1.2.3.zip"
$NpcapSDK = "https://nmap.org/npcap/dist/npcap-sdk-1.03.zip"
# Enable TLS
[System.Net.ServicePointManager]::SecurityProtocol = @( `
[Net.SecurityProtocolType]::Tls, `
[Net.SecurityProtocolType]::Tls11, `
[Net.SecurityProtocolType]::Tls12 `
)
# Download and extract pypcap
Invoke-WebRequest -UseBasicParsing -OutFile "$env:TEMP\pypcap.zip" -Uri $pypcap
Expand-Archive -Path "$env:TEMP\pypcap.zip" -DestinationPath "$env:TEMP\tmp"
Move-Item $(Get-ChildItem "$env:TEMP\tmp").FullName "$env:TEMP\pypcap"
Remove-Item $env:TEMP\tmp
# Download and extract NpcapSDK
Invoke-WebRequest -UseBasicParsing -OutFile "$env:TEMP\NpcapSDK.zip" -Uri $NpcapSDK
Expand-Archive -Path "$env:TEMP\NpcapSDK.zip" -DestinationPath "$env:TEMP\wpdpack"
Set-Location $env:TEMP\pypcap
python setup.py bdist_wheel |
I love pypcap and it is an awesome library but it does not provide wheels for each platform so users must build the library from source. It's quite painful, especially for Windows.
So what do you think about if I create a PR to provides a way to release wheels for each platform. I think I'll follow the netifaces method, which build wheels for Windows in AppVeyor and wheels for linux/mac in docker.
This would add extra steps when you release pypcap so I'd like to ask you the idea before I create a PR for it.
Thanks.
The text was updated successfully, but these errors were encountered: