forked from pypa/python-manylinux-demo
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pypa#2 from rmcgibbo/readme
Add readme
- Loading branch information
Showing
1 changed file
with
34 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,37 @@ | ||
# python-manylinux-demo | ||
Demo project for building Python wheels for Linux with Travis-CI | ||
|
||
[](https://travis-ci.org/manylinux/python-manylinux-demo) | ||
[](https://travis-ci.org/manylinux/python-manylinux-demo) | ||
|
||
|
||
This is an example of how to use Travis-CI to build | ||
[PEP 513](https://www.python.org/dev/peps/pep-0513/)-compatible manylinux1 | ||
wheels for Python. It supports both Python 2 and 3 on 32 and 64 bit linux | ||
architectures. | ||
|
||
Because these wheels need to be compiled on CentOS 5, this example uses Docker | ||
running on Travis-CI to compile (you don't need to use docker at all to _use_ | ||
these wheels, it's just to compile them). The docker-based build environment | ||
images are: | ||
|
||
- quay.io/pypa/manylinux1_x86_64 | ||
- quay.io/pypa/manylinux1_i686 | ||
|
||
|
||
This sample project contains a very simple C compile extension module that links | ||
to an external library (ATLAS, a linear algebra library). The build is | ||
configured via the `setup.py` file. | ||
|
||
## Continuous integration setup with Travis + Docker | ||
|
||
The `.travis.yml` file in this repository sets up the build environment. The | ||
resulting build logs can be found at | ||
|
||
https://travis-ci.org/manylinux/python-manylinux-demo | ||
|
||
The `.travis.yml` file instructs Travis to run the script | ||
`travis/build-wheels.sh` inside of the 32-bit and 64-bit manylinux1 docker | ||
build environments. This script builds the package using `pip`. But these | ||
wheels link against an external library. So to create self-contained libraries, | ||
the build script runs the wheels through | ||
[`auditwheel`](https://pypi.python.org/pypi/auditwheel). |