Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
559 commits
Select commit Hold shift + click to select a range
f3de2d5
reference binder project from documentation
wjakob Dec 26, 2016
f331843
Make non-ancient version of GCC explicit in documentation (it means 4…
MathMagique Dec 28, 2016
2ef3599
added link to gitter chat room
wjakob Dec 29, 2016
4010081
updated release instructions
wjakob Dec 29, 2016
e33ef9c
v2.0.0 release
wjakob Jan 1, 2017
fb4e104
begin work on v2.1.0
wjakob Jan 1, 2017
11bc16e
Remove allow-fails (#581)
jagerman Jan 1, 2017
2723a38
minor setup.py updates
wjakob Jan 1, 2017
5f07fac
Fix pointer to reference error in type_caster on MSVC (#583)
dean0x7d Jan 3, 2017
0e49c02
use a more conservative mechanism to check for pytest
wjakob Jan 4, 2017
cd7eacc
fix segfault in test suite due to typo (fixes #586)
wjakob Jan 4, 2017
f8dafe9
changelog for 2.0.1 release
wjakob Jan 4, 2017
0f294e2
removed mdash characters from setup.py
wjakob Jan 4, 2017
a9730be
use -x flag to strip shared libraries on OSX (fixes #595)
wjakob Jan 6, 2017
5b5e3de
Make Python version selection in CMake more convenient (#589)
dean0x7d Jan 6, 2017
53a338c
fix one lingering ::pybind11 --> ::module target name (#603)
loriab Jan 13, 2017
05bc1ff
Correct function signature of module init function generated PYBIND11…
stukowski Jan 13, 2017
9b815ad
Docs: Fix several errors of examples from the doc (#592)
myd7349 Jan 13, 2017
7830e85
Docs: minor clarifications (#590)
jbarlow83 Jan 13, 2017
cc88aae
Add check for matching holder_type when inheriting (#588)
Jan 31, 2017
57a9bbc
Automate generation of reference docs with doxygen and breathe (#598)
dean0x7d Jan 31, 2017
c2d1d95
Update common.h (#606)
TinyTinni Jan 31, 2017
f7f5bc8
Numpy: better compilation errors, long double support (#619)
jagerman Jan 31, 2017
ec009a7
Improve custom holder support (#607)
dean0x7d Jan 31, 2017
18d7df5
Documentation: explicitly call out that the GIL is held (#615)
virtuald Jan 31, 2017
102c94f
Add i386 build (#612)
jagerman Jan 31, 2017
2686da8
Add support for positional args with args/kwargs
jagerman Jan 22, 2017
3b4b921
Changed keep_alive template arguments from int to size_t
jagerman Jan 22, 2017
34d308a
Move constexpr_first/last to common.h
jagerman Jan 23, 2017
70ed2a4
Use constexpr_first for args/kwargs positional checks
jagerman Jan 23, 2017
bfcf952
Pack all function call data into a single struct
jagerman Jan 30, 2017
ab60bf1
Very minor code style changes, and fixed a typo
wjakob Jan 31, 2017
1249452
Minor fixes (#613)
jagerman Jan 31, 2017
0558a9a
Add warning about binding multiple modules (#635)
jagerman Feb 1, 2017
40db2c7
RFC - Add documentation for strings and Unicode issues (#636)
jbarlow83 Feb 2, 2017
709675a
Made arithmetic and complex casters respect `convert`
jagerman Feb 4, 2017
abc29ca
Add support for non-converting arguments
jagerman Jan 23, 2017
e550589
Prefer non-converting argument overloads
jagerman Feb 3, 2017
18e34cb
Merge pull request #634 from jagerman/noconvert-arguments
wjakob Feb 5, 2017
6fa316d
Merge pull request #643 from jagerman/two-pass-dispatch
wjakob Feb 5, 2017
0defac5
renamed _check -> check_
wjakob Feb 6, 2017
70c2a1a
Add a GitHub issue template
dean0x7d Feb 7, 2017
93cc4bd
Merge pull request #655 from dean0x7d/issue-template
wjakob Feb 8, 2017
1eaacd1
Fix debugging output for nameless py::arg_v annotations (#648)
jagerman Feb 8, 2017
d534bd6
Fix handling of Python exceptions during module initialization (#657)
dean0x7d Feb 8, 2017
e15fa9f
Avoid C-style const casts (#659)
mwoehlke-kitware Feb 8, 2017
5e92b3e
Fix path to libsize.py (#658)
mwoehlke-kitware Feb 8, 2017
a76ed42
Fix sequence_item reference leak (#660)
dean0x7d Feb 14, 2017
bee8827
Template array constructor (#582)
SylvainCorlay Feb 14, 2017
1bee6e7
Overhaul LTO flag detection
jagerman Jan 17, 2017
c137c0a
Store LTO flags in PYBIND11_LTO_{CXX,LINKER}_FLAGS cache variables
jagerman Feb 10, 2017
ada763b
Temporary gcc travis-ci build fixes
jagerman Feb 10, 2017
11a337f
Unicode fixes and docs (#624)
jagerman Feb 14, 2017
329d983
Revert "Template array constructor (#582)"
dean0x7d Feb 14, 2017
cec052b
Fix readthedocs build
dean0x7d Feb 14, 2017
d5ce82b
CMake installation path consistency (#652)
SylvainCorlay Feb 14, 2017
d361ea1
Don't strip debug symbols in debug mode (#669)
dean0x7d Feb 14, 2017
1d7998e
Revert noexcept deduction in favour of better SFINAE on lambda functi…
jagerman Feb 17, 2017
e72eaa4
changed return_value:: to return_value_policy:: (#672)
thorink Feb 17, 2017
baec23c
minor stl caster clarifications
wjakob Feb 17, 2017
c8e5069
fix msvc warning when Python.h was included before pybind11.h (#683)
TinyTinni Feb 18, 2017
c7fcde7
Fixed compilation error when binding function accepting some forms of…
Lunderberg Feb 22, 2017
a3f4a02
Minor docs build maintenance (#692)
dean0x7d Feb 23, 2017
c91f8bd
Reimplement static properties by extending PyProperty_Type
dean0x7d Feb 13, 2017
08cbe8d
Make all classes with the same instance size derive from a common base
dean0x7d Feb 15, 2017
dd01665
Enable static properties (py::metaclass) by default
dean0x7d Feb 16, 2017
ee2e5a5
Make string conversion stricter (#695)
jagerman Feb 24, 2017
60d0e0d
Independent tests (#665)
jagerman Feb 24, 2017
caa1379
Make bad kwarg arguments try next overload
jagerman Feb 24, 2017
231e167
Show kwargs in failed method invocation
jagerman Feb 24, 2017
a04410b
Workaround style check false positive
jagerman Feb 24, 2017
d9d224f
Eigen: fix partially-fixed matrix conversion
jagerman Jan 13, 2017
7d46c6f
Make is_template_base_of ignore cv qualification
jagerman Jan 14, 2017
88fff9d
Change numpy constants to non-deprecated versions
jagerman Jan 17, 2017
f86dddf
array: fix base handling
jagerman Jan 17, 2017
fd75170
Change array's writeable exception to a ValueError
jagerman Jan 20, 2017
546f6fc
Add an ability to avoid forcing rvp::move
jagerman Jan 20, 2017
17d0283
Eigen<->numpy referencing support
jagerman Jan 17, 2017
2a75784
Move requires_numpy, etc. decorators to globals
jagerman Jan 24, 2017
0861be0
Fix numpy tests for big endian architectures
jagerman Feb 25, 2017
df24488
Skip .match on older pytest (pre-3.0)
jagerman Feb 25, 2017
cecb577
fix -Wunused-lambda-capture warning
wjakob Feb 26, 2017
f768582
Handle all py::iterator errors
dean0x7d Feb 8, 2017
1fac1b9
Make py::iterator compatible with std algorithms
dean0x7d Feb 9, 2017
5637af7
Add lightweight iterators for tuple, list and sequence
dean0x7d Feb 9, 2017
5fe9908
Add and remove some PyPy iterator workarounds
dean0x7d Feb 10, 2017
620a808
Test with debug build of Python when DEBUG=1 on Travis
dean0x7d Feb 27, 2017
5687b33
Fix negative refcount in PyCapsule destructor
dean0x7d Feb 27, 2017
5143989
Fix compilation of Eigen casters with complex scalars
dean0x7d Feb 28, 2017
11c9f32
fix python version check (#705)
eirrgang Mar 1, 2017
af936e1
Expose enum_ entries as "__members__" read-only property. Getters get…
Mar 3, 2017
414ee16
Merge pull request #666 from mdcb/master
jagerman Mar 3, 2017
e370520
Remove extraneous enum_ python constructor
jagerman Mar 4, 2017
38fc542
Merge pull request #709 from jagerman/enum-extra-constructor
jagerman Mar 4, 2017
c44fe6f
array_t overload resolution support
jagerman Feb 26, 2017
10d1304
Fix extra docstring newlines under `options.disable_function_signatur…
jagerman Mar 8, 2017
303ee29
Use trusty for travis-ci pypy build (#716)
jagerman Mar 10, 2017
d47febc
Minor pytest maintenance (#702)
dean0x7d Mar 10, 2017
28a837a
Add failure-allowed clang-4.0/libc++-4.0 build
jagerman Mar 8, 2017
e5456c2
Fix for floating point durations
jagerman Mar 12, 2017
ee92963
Call PyUnicode_DecodeUTF* directly
jagerman Mar 9, 2017
b7017c3
Fix readthedocs build (#721)
dean0x7d Mar 12, 2017
2d965d4
Add MSVC 2017 cpp_function ICE workaround
jagerman Mar 12, 2017
139a082
Add static_assert failure for non-static def_static
jagerman Mar 12, 2017
dc5ce59
Use move assignment for eigen ref copy
jagerman Mar 13, 2017
16afbce
Improve py::array_t scalar type information (#724)
dean0x7d Mar 13, 2017
5467979
Add the buffer interface for wrapped STL vectors
patstew Nov 8, 2016
0b6d08a
Add function for comparing buffer_info formats to types
patstew Nov 21, 2016
9f383a5
added @patstew to README.md
wjakob Mar 14, 2017
1769ea4
Add __module__ attribute to all pybind11 builtin types (#729)
dean0x7d Mar 15, 2017
dfd89a6
remove all pybind11 namespace prefixes from stl_bind.h
wjakob Mar 16, 2017
819cb55
Fix nullptr to None conversion for builtin type casters
dean0x7d Mar 15, 2017
cabbf61
Add VS 2017 build, and bump conda to 3.6
jagerman Mar 12, 2017
68e089a
Use custom definitions for negation and bool_constant (#737)
jcelerier Mar 17, 2017
efa8726
Eigen: don't require conformability on length-1 dimensions
jagerman Mar 17, 2017
d51acb6
Use C++17 fold expression macro
jagerman Mar 17, 2017
b961626
Fail to compile with MI via class_ ctor parameters
jagerman Mar 16, 2017
3d591e8
Document make_iterator/make_key_iterator
jagerman Mar 18, 2017
5a92478
Added minimum compiler version assertions
jagerman Mar 14, 2017
0f5ec0a
Error message wording tweak
jagerman Mar 19, 2017
cd3d1fc
Throw an exception when attempting to load an incompatible holder
dean0x7d Mar 20, 2017
ae5a8f7
Stop forcing c-contiguous in py::vectorize
jagerman Mar 15, 2017
b0292c1
vectorize: trivial handling for F-order arrays
jagerman Mar 19, 2017
0d765f4
Support class-specific operator new and delete
dean0x7d Mar 21, 2017
423a49b
array: add unchecked access via proxy object
jagerman Mar 19, 2017
773339f
array-unchecked: add runtime dimension support and array-compatible m…
jagerman Mar 20, 2017
ed8a461
Change pypy travis-ci PyPy build to 5.7 release
jagerman Mar 22, 2017
ab26259
added note about trailing commas (fixes #593)
wjakob Mar 22, 2017
b16421e
Nicer API to pass py::capsule destructor (#752)
wjakob Mar 22, 2017
62e5fef
Changelog for v2.1.0 (#759)
wjakob Mar 22, 2017
f0e58a6
Fix compilation with clang 4.0 in -std=c++1z mode
dean0x7d Mar 22, 2017
d405b1b
updated version information for v2.2 development
wjakob Mar 22, 2017
0d92938
minor style fix
wjakob Mar 22, 2017
5b50376
Arch-indep CMake packaging (#764)
ghisvail Mar 24, 2017
d6fdafb
Fix unchecked type caster template Dim type
jagerman Mar 26, 2017
6db60cd
Deprecated borrowed/stolen for borrowed_t{}/stolen_t{} (#771)
jagerman Mar 28, 2017
194d8b9
Support raw string literals as input for py::eval (#766)
dean0x7d Mar 28, 2017
aa1b316
adjusted module::add_object signature so that it accepts a py::handle
wjakob Mar 30, 2017
280470d
updated cindex.py submodule to latest version
wjakob Mar 30, 2017
37ef74c
Wrong msvc version
SylvainCorlay Mar 31, 2017
83a8a97
Add a method to check Python exception types (#772)
Apr 2, 2017
1ac1903
Add a scope guard call policy
dean0x7d Mar 16, 2017
82ece94
Replace first_of_t with exactly_one_t
dean0x7d Mar 29, 2017
8f010cc
AppVeyor: use parallel builds
wjakob Apr 5, 2017
6906b27
Improve make_tuple error message under debugging
jagerman Apr 5, 2017
7348c40
Fix -Wmissing-braces warning
aldanor Apr 5, 2017
087b8d8
Skip VS2015/x86 builds
jagerman Apr 5, 2017
555dc4f
Fix test_cmake_build failure with bare python exe name (fix #783)
dean0x7d Apr 6, 2017
16c8663
Remove object::borrowed/stolen
jagerman Apr 6, 2017
db20095
changelog for v2.1.1
wjakob Apr 7, 2017
e0e2ea3
Fix overriding static properties in derived classes
dean0x7d Apr 6, 2017
d994db2
Remove gcc 6/7 LTO and -Werror workarounds
jagerman Apr 3, 2017
501135f
Add static_assert to holder casters
jagerman Apr 7, 2017
e9e1774
Fix Eigen argument doc strings
jagerman Apr 8, 2017
4c72ec2
Appveyor: Remove /m to attempt to resolve build failures
jagerman Apr 9, 2017
3983a8e
AppVeyor: Update eigen to 3.3.3
jagerman Apr 10, 2017
46469d4
AppVeyor: suppress debug messages about generate.stamp
wjakob Apr 11, 2017
257df10
improve mkdoc.py determinism
wjakob Apr 12, 2017
5749b50
array: set exception message on failure
jagerman Apr 10, 2017
dbb4c5b
Move buffer_info to its own header
jagerman Apr 7, 2017
5f38386
Accept abitrary containers and iterators for shape/strides
jagerman Apr 7, 2017
201796d
Make any_container implicitly constructible from arithmetic values
jagerman Apr 12, 2017
02ffbf1
Fix PyBuffer_Release leak
jagerman Apr 14, 2017
2d14c1c
Fixed bad_arg_def imports
jagerman Apr 15, 2017
b4cbd7a
Appveyor: Disable fast_finish for now
jagerman Apr 17, 2017
3d50051
travis-ci: switch to trusty; cache pip packages
jagerman Apr 13, 2017
f0c7c00
Switch clang-4.0 build to trusty; cache libc++
jagerman Apr 14, 2017
d170731
Remove unneeded exports
jagerman Apr 14, 2017
90bac96
Keep skipping buffer tests on pypy
jagerman Apr 14, 2017
d355f2f
Don't allow mixed static/non-static overloads
jagerman Apr 17, 2017
fb50ce1
Add static_assert-raising error for overload_cast in c++11
jagerman Apr 17, 2017
deb85f4
Switch to regular breathe package on Travis
dean0x7d Apr 22, 2017
9290099
Expose more instance management functions
jagerman Apr 20, 2017
14e7065
Fix downcasting of base class pointers
jagerman Apr 21, 2017
1f8a100
Track base class pointers of instances
jagerman Apr 21, 2017
ce494d6
Add numpy version check (#819)
jagerman Apr 28, 2017
a7f704b
Fix Python 3 `bytes` conversion to std::string/char*
jagerman Apr 26, 2017
0a90b2d
Don't let PyInstanceMethod hide itself
jagerman Apr 17, 2017
2761f78
travis-ci: Remove clang 4/c++17 from allow_failures
jagerman Apr 28, 2017
51d18aa
Fix ambiguous initialize_list arguments
jagerman Apr 28, 2017
e6fd2cd
enum_: fix implicit conversion on Python 2.7
wjakob Apr 28, 2017
7653a11
pytest target: add USE_TERMINAL flag
wjakob Apr 28, 2017
a01b6b8
functional: support bound methods
jagerman Apr 24, 2017
4ffa76e
Add type caster for std::variant and other variant-like classes
dean0x7d Apr 21, 2017
083a021
array: implement array resize
uentity Apr 13, 2017
271b27f
Remove obsolete comment
jagerman May 2, 2017
2b941b3
Add missing header to setup.py
jagerman May 7, 2017
d400f60
Python buffer objects can have negative strides.
Apr 5, 2017
627da3f
Making a copy when casting a numpy array with negative strides to Eigen.
Apr 6, 2017
b68959e
Use numpy rather than Eigen for copying
jagerman Apr 6, 2017
30d43c4
Now `shape`, `size`, `ndims` and `itemsize` are also signed integers.
Apr 14, 2017
36f0a15
Deprecate handle::operator== in favor of object_api::is
dean0x7d Feb 8, 2017
0c4e037
Improve PYBIND11_DEPRECATED by showing the message on all compilers
dean0x7d Apr 29, 2017
076c738
Add py::exec() as a shortcut for py::eval<py::eval_statements>()
dean0x7d Apr 29, 2017
88ebc49
gcc 7 disable warning
jagerman May 9, 2017
616e3d8
attr.h: Fix header copy-and-paste typo
jagerman May 9, 2017
d15b217
Only disable -Wnoexcept-type on gcc >= 7
jagerman May 9, 2017
ca0e82b
Update PYBIND11_CPP1{4,7} macros for MSVC
jagerman May 9, 2017
77710ff
Make PYBIND11_CPP_STANDARD work under MSVC
jagerman May 9, 2017
78f1dcf
Fix std::nullptr_t caster (#840)
dean0x7d May 9, 2017
8e0d832
Support arrays inside PYBIND11_NUMPY_DTYPE (#832)
bmerry May 10, 2017
b82c0f0
Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831)
bmerry May 10, 2017
7fb01ec
Fix gcc 7 warning
jagerman May 9, 2017
93e3eac
Defer None loading to second pass
jagerman May 9, 2017
94d0a9f
Improve constructor resolution in variant_caster
dean0x7d May 10, 2017
4567f1f
Fix Eigen shape assertion error in dense matrix caster
dean0x7d May 11, 2017
731a9f6
Fix Py_buffer leak on GetBuffer failure
jagerman May 16, 2017
a4d0d95
Make static internals ptr pybind version specific
jagerman May 17, 2017
d2da33a
static_assert should be testing ssize_t not size_t
jagerman May 20, 2017
acad05c
Fix /= operator under Python 3
jagerman May 21, 2017
1ac51a0
Minor operators.h style cleanups
jagerman May 21, 2017
35998a0
Define both __div__ and __truediv__ for Python 2
jagerman May 21, 2017
b8ac438
Use dynamic cast for shared_from_this holder init
jagerman May 19, 2017
37b2383
Style cleanup of javadoc-style comments
jagerman May 22, 2017
fe0cf8b
Support pointers to member functions in def_buffer.
bmerry May 17, 2017
813d7e8
Add movable cast support to type casters
jagerman May 14, 2017
4e1e4a5
Allow py::arg().none(false) argument attribute
jagerman May 17, 2017
926e2cf
Add PYBIND11_EXPAND_SIDE_EFFECTS macro
jagerman Mar 26, 2017
129a725
Add and use detail::remove_reference_t
jagerman Mar 26, 2017
41f8da4
array_t: make c_style/f_style work for array creation
jagerman Mar 27, 2017
f3ce00e
vectorize: pass-through of non-vectorizable args
jagerman Mar 26, 2017
8dc63ba
Force MSVC to compile in utf-8 mode
jagerman May 25, 2017
6a0f6c4
Fix quadratic-time behaviour of vector extend
bmerry May 25, 2017
eee4f4f
Fix invalid memory access in vector insert method
bmerry May 25, 2017
39b9e04
Correct error in numpy.rst
chenzeyuczy May 26, 2017
4f9ee6e
Fix exception reference error
jagerman May 27, 2017
46dbee7
Avoid explicitly resetting a std::[experimental::]optional
bmerry May 26, 2017
7f5c85c
Add CMake target for embedding the Python interpreter
dean0x7d Mar 23, 2017
9693a5c
Add Catch framework for testing embedding support and C++-side features
dean0x7d Mar 23, 2017
22c413b
Add C++ interface for the Python interpreter
dean0x7d Mar 29, 2017
931b9e9
Support restarting the interpreter and subinterpreters
dean0x7d Apr 20, 2017
6d2411f
Add tutorial page for embedding the interpreter
dean0x7d Apr 22, 2017
427e4af
Fix buffer protocol inheritance
dean0x7d May 28, 2017
b700c5d
Convenience constructor templates for buffer_info (#860)
YannickJadoul May 29, 2017
443ab59
Replace PYBIND11_PLUGIN with PYBIND11_MODULE
dean0x7d Apr 23, 2017
005fde6
Filter warnings on pytest >= v3.1
dean0x7d May 28, 2017
7cdf9f1
Move reference_wrapper test from test_issues to test_python_types
jagerman May 12, 2017
acedd6c
std::reference_wrapper: non-generic types; no None
jagerman May 12, 2017
8f6c129
Fix CMake example code in embedding docs
dean0x7d May 31, 2017
91bbe2f
Explicitly define copy/move constructors for accessor
eirrgang Jun 6, 2017
1d3c4bc
Fix missing default globals in eval/exec when embedding
dean0x7d Jun 6, 2017
ef2dfd4
Tweak GitHub issue template
dean0x7d Jun 7, 2017
4edb1ce
Destroy internals if created during Py_Finalize()
jagerman Jun 7, 2017
6223b18
Update basics.rst
Jun 8, 2017
e27ea47
Enable detection of private operator new on MSVC
dean0x7d Jun 8, 2017
0365d49
Remove feature macro for <experimental/optional>
jagerman Jun 8, 2017
74b501c
Fix passing in utf8 encoded strings with python 2
benfred Jun 6, 2017
17cc39c
Don't let pytest discover tests from test_cmake_build and test_embed
dean0x7d Jun 9, 2017
caedf74
Fix py::make_iterator's __next__() for past-the-end calls
dean0x7d Jun 9, 2017
e45c211
Support multiple inheritance from python
jagerman Feb 23, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 34 additions & 8 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,35 @@
version: 1.0.{build}
os: Visual Studio 2015
image:
- Visual Studio 2017
- Visual Studio 2015
test: off
build:
parallel: true
platform:
- x86
- x64
- x86
environment:
matrix:
- CONDA: 36
CPP: 14
- CONDA: 27
- CONDA: 35
CPP: 14
- CONDA: 36
CPP: latest
matrix:
exclude:
- image: Visual Studio 2015
platform: x86
- image: Visual Studio 2015
CPP: latest
- image: Visual Studio 2017
CPP: latest
platform: x86
install:
- ps: |
if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" }
if ($env:APPVEYOR_JOB_NAME -like "*Visual Studio 2017*") { $env:CMAKE_GENERATOR = "Visual Studio 15 2017" }
else { $env:CMAKE_GENERATOR = "Visual Studio 14 2015" }
if ($env:PYTHON) {
if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" }
$env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH"
Expand All @@ -20,14 +39,21 @@ install:
if ($env:CONDA -eq "27") { $env:CONDA = "" }
if ($env:PLATFORM -eq "x64") { $env:CONDA = "$env:CONDA-x64" }
$env:PATH = "C:\Miniconda$env:CONDA\;C:\Miniconda$env:CONDA\Scripts\;$env:PATH"
$env:PYTHONHOME = "C:\Miniconda$env:CONDA"
conda install -y -q pytest numpy scipy
}
- ps: |
Start-FileDownload 'http://bitbucket.org/eigen/eigen/get/3.2.9.zip'
7z x 3.2.9.zip -y > $null
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-dc6cfdf9bcec"
Start-FileDownload 'http://bitbucket.org/eigen/eigen/get/3.3.3.zip'
7z x 3.3.3.zip -y > $null
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-67e894c6cd8f"
build_script:
- cmake -A "%CMAKE_ARCH%" -DPYBIND11_WERROR=ON
- cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%"
-DPYBIND11_CPP_STANDARD=/std:c++%CPP%
-DPYBIND11_WERROR=ON
-DDOWNLOAD_CATCH=ON
-DCMAKE_SUPPRESS_REGENERATION=1
- set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
- set PYTEST_ADDOPTS="-s" # workaround for pytest capture issue, see #351
- cmake --build . --config Release --target pytest -- /v:m /logger:%MSBuildLogger%
- cmake --build . --config Release --target cpptest -- /v:m /logger:%MSBuildLogger%
- cmake --build . --config Release --target test_cmake_build -- /v:m /logger:%MSBuildLogger%
on_failure: if exist "tests\test_cmake_build" type tests\test_cmake_build\*.log*
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,6 @@ MANIFEST
/build
/cmake/
.cache/
sosize-*.txt
pybind11Config*.cmake
pybind11Targets.cmake
3 changes: 3 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python:
version: 3
requirements_file: docs/requirements.txt
186 changes: 139 additions & 47 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,109 +1,201 @@
language: cpp
dist: trusty
sudo: false
matrix:
include:
- os: linux
env: PYTHON=2.7 CPP=11 GCC=4.8
addons:
apt:
sources: [ubuntu-toolchain-r-test, kubuntu-backports]
packages: [g++-4.8, cmake]
packages: [cmake=2.\*, cmake-data=2.\*]
- os: linux
env: PYTHON=3.5 CPP=11 GCC=4.8
env: PYTHON=3.6 CPP=11 GCC=4.8
addons:
apt:
sources: [ubuntu-toolchain-r-test, kubuntu-backports, deadsnakes]
packages: [g++-4.8, cmake, python3.5-dev]
sources: [deadsnakes]
packages: [python3.6-dev python3.6-venv, cmake=2.\*, cmake-data=2.\*]
- sudo: true
services: docker
env: PYTHON=2.7 CPP=14 GCC=6
- sudo: true
services: docker
env: PYTHON=3.5 CPP=14 GCC=6
env: PYTHON=3.5 CPP=14 GCC=6 DEBUG=1
- sudo: true
services: docker
env: PYTHON=3.5 CPP=17 GCC=7
- os: linux
env: PYTHON=3.6 CPP=17 CLANG=4.0
addons:
apt:
sources: [deadsnakes, llvm-toolchain-trusty-4.0]
packages: [python3.6-dev python3.6-venv clang-4.0 llvm-4.0-dev]
- os: osx
osx_image: xcode7.3
env: PYTHON=2.7 CPP=14 CLANG
- os: osx
osx_image: xcode7.3
env: PYTHON=3.5 CPP=14 CLANG
# A barebones build makes sure everything still works without optional deps (numpy/scipy/eigen)
# and also tests the automatic discovery functions in CMake (Python version, C++ standard).
env: PYTHON=3.6 CPP=14 CLANG
# Test a PyPy 2.7 build
- os: linux
env: BAREBONES
env: PYPY=5.7 PYTHON=2.7 CPP=11 GCC=4.8
addons:
apt:
sources: [ubuntu-toolchain-r-test, kubuntu-backports]
packages: [g++-4.8, cmake]
install: false
packages: [libblas-dev, liblapack-dev, gfortran]
- sudo: true
services: docker
env: ARCH=i386 PYTHON=3.5 CPP=14 GCC=6
# This next one does a make install *before* testing, then builds the tests against the installed version:
- sudo: true
services: docker
env: PYTHON=3.5 CPP=14 CLANG=3.9 INSTALL=1
script:
- |
$SCRIPT_RUN_PREFIX sh -c "set -e
cmake ${CMAKE_EXTRA_ARGS} -DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0
make install
cp -a tests /pybind11-tests
mkdir /build-tests && cd /build-tests
cmake ../pybind11-tests ${CMAKE_EXTRA_ARGS} -DPYBIND11_WERROR=ON
make pytest -j 2"
# A barebones build makes sure everything still works without optional deps (numpy/scipy/eigen)
# and also tests the automatic discovery functions in CMake (Python version, C++ standard).
- os: linux
env: BAREBONES PYTHON=3.5
install: $PY_CMD -m pip install --user --upgrade pytest
# Documentation build:
- os: linux
language: docs
env: DOCS
install: pip install sphinx sphinx_rtd_theme
script: make -C docs html SPHINX_OPTIONS=-W
env: DOCS STYLE LINT
install:
- export PATH="~/.local/bin:$PATH"
- $PY_CMD -m pip install --user --upgrade sphinx sphinx_rtd_theme breathe flake8 pep8-naming
- |
curl -fsSL ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.12.linux.bin.tar.gz | tar xz
export PATH="$PWD/doxygen-1.8.12/bin:$PATH"
script:
- make -C docs html SPHINX_OPTIONS=-W
- tools/check-style.sh
- flake8
allow_failures:
- env: PYTHON=3.5 CPP=17 GCC=7
cache:
directories:
- $HOME/.cache/pip
- $HOME/Library/Caches/pip
- $HOME/.local/bin
- $HOME/.local/lib
- $HOME/.local/include
- $HOME/Library/Python
before_install:
- |
# Configure build variables
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
if [ -z "$GCC" ]; then export GCC=4.8; fi
export CXX=g++-$GCC CC=gcc-$GCC;
if [ "$GCC" = "6" ]; then export DOCKER=debian:testing CXX=g++ CC=gcc; fi
if [ -n "$CLANG" ]; then
export CXX=clang++-$CLANG CC=clang-$CLANG
COMPILER_PACKAGES="clang-$CLANG llvm-$CLANG-dev"
else
if [ -z "$GCC" ]; then GCC=4.8
else COMPILER_PACKAGES=g++-$GCC
fi
export CXX=g++-$GCC CC=gcc-$GCC
fi
if [ "$GCC" = "6" ] || [ "$CLANG" = "3.9" ]; then DOCKER=${ARCH:+$ARCH/}debian:testing
elif [ "$GCC" = "7" ]; then DOCKER=debian:experimental APT_GET_EXTRA="-t experimental"
fi
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export CXX=clang++ CC=clang;
fi
if [ -n "$CPP" ]; then export CPP=-std=c++$CPP; fi
if [ "${PYTHON:0:1}" = "3" ]; then export PY=3; fi
if [ -n "$CPP" ]; then CPP=-std=c++$CPP; fi
if [ "${PYTHON:0:1}" = "3" ]; then PY=3; fi
if [ -n "$DEBUG" ]; then CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_BUILD_TYPE=Debug"; fi
- |
# Initialize enviornment
# Initialize environment
set -e
if [ -n "$DOCKER" ]; then
docker pull $DOCKER
export containerid=$(docker run --detach --tty \

containerid=$(docker run --detach --tty \
--volume="$PWD":/pybind11 --workdir=/pybind11 \
--env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
--env=GCC_COLORS=\ \
$DOCKER)
docker exec --tty "$containerid" apt-get update
docker exec --tty "$containerid" apt-get -y upgrade
export SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
$SCRIPT_RUN_PREFIX sh -c 'for s in 0 15; do sleep $s; apt-get update && apt-get -qy dist-upgrade && break; done'
else
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
pip install --user --upgrade pip virtualenv
virtualenv -p python$PYTHON venv
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
if [ "$PY" = "3" ]; then
brew update; brew install python$PY;
else
curl -fsSL -O https://bootstrap.pypa.io/get-pip.py
sudo -H python get-pip.py
if [ "$PYPY" = "5.7" ]; then
curl -fSL https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.7.1-linux64.tar.bz2 | tar xj
PY_CMD=$(echo `pwd`/pypy2-v5.7.1-linux64/bin/pypy)
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE:FILEPATH=$PY_CMD"
else
PY_CMD=python$PYTHON
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
if [ "$PY" = "3" ]; then
brew update; brew install python$PY;
else
curl -fsSL https://bootstrap.pypa.io/get-pip.py | $PY_CMD - --user
fi
fi
pip$PY install --user --upgrade pip virtualenv
python$PY -m virtualenv venv
fi
source venv/bin/activate
if [ "$PY" = 3 ] || [ -n "$PYPY" ]; then
$PY_CMD -m ensurepip --user
fi
$PY_CMD -m pip install --user --upgrade pip wheel
fi
set +e
install:
- |
# Install dependencies
set -e
if [ -n "$DOCKER" ]; then
docker exec --tty "$containerid" apt-get -y --no-install-recommends install \
python$PYTHON-dev python$PY-pip python$PY-setuptools python$PY-scipy \
libeigen3-dev cmake make g++
if [ -n "$DEBUG" ]; then
PY_DEBUG="python$PY-dbg python$PY-scipy-dbg"
CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
fi
$SCRIPT_RUN_PREFIX sh -c "for s in 0 15; do sleep \$s; \
apt-get -qy --no-install-recommends $APT_GET_EXTRA install \
$PY_DEBUG python$PY-dev python$PY-pytest python$PY-scipy \
libeigen3-dev cmake make ${COMPILER_PACKAGES} && break; done"
else
pip install numpy scipy

wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.2.9.tar.gz
if [ "$CLANG" = "4.0" ]; then
if ! [ -d ~/.local/include/c++/v1 ]; then
# Neither debian nor llvm provide a libc++ 4.0 deb; luckily it's fairly quick
# to build, install (and cache), so do it ourselves:
git clone --depth=1 https://github.com/llvm-mirror/llvm.git llvm-source
git clone https://github.com/llvm-mirror/libcxx.git llvm-source/projects/libcxx -b release_40
git clone https://github.com/llvm-mirror/libcxxabi.git llvm-source/projects/libcxxabi -b release_40
mkdir llvm-build && cd llvm-build
# Building llvm requires a newer cmake than is provided by the trusty container:
CMAKE=cmake-3.8.0-Linux-x86_64
curl https://cmake.org/files/v3.8/$CMAKE.tar.gz | tar xz
./$CMAKE/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/.local ../llvm-source
make -j2 install-cxxabi install-cxx
cp -a include/c++/v1/*cxxabi*.h ~/.local/include/c++/v1
cd ..
fi
export CXXFLAGS="-isystem $HOME/.local/include/c++/v1 -stdlib=libc++"
export LDFLAGS="-L$HOME/.local/lib"
export LD_LIBRARY_PATH="$HOME/.local/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
if [ "$CPP" = "-std=c++17" ]; then CPP="-std=c++1z"; fi
fi

export NPY_NUM_BUILD_JOBS=2
echo "Installing pytest, numpy, scipy..."
${PYPY:+travis_wait 30} $PY_CMD -m pip install --user --upgrade --quiet pytest numpy scipy
echo "done."

wget -q -O eigen.tar.gz https://bitbucket.org/eigen/eigen/get/3.3.3.tar.gz
tar xzf eigen.tar.gz
export CMAKE_EXTRA_ARGS="${CMAKE_EXTRA_ARGS} -DCMAKE_INCLUDE_PATH=$PWD/eigen-eigen-dc6cfdf9bcec"
export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH:+:}$PWD/eigen-eigen-67e894c6cd8f"
fi
set +e
script:
- $SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS}
-DPYBIND11_PYTHON_VERSION=$PYTHON
-DPYBIND11_CPP_STANDARD=$CPP
-DPYBIND11_WERROR=ON
-DPYBIND11_WERROR=${WERROR:-ON}
-DDOWNLOAD_CATCH=ON
- $SCRIPT_RUN_PREFIX make pytest -j 2
- $SCRIPT_RUN_PREFIX make cpptest -j 2
- $SCRIPT_RUN_PREFIX make test_cmake_build
after_failure: cat tests/test_cmake_build/*.log*
after_script:
- if [ -n "$DOCKER" ]; then docker stop "$containerid"; docker rm "$containerid"; fi
Loading