mirror of
https://github.com/explosion/spaCy.git
synced 2024-12-25 01:16:28 +03:00
2c37e0ccf6
Our epic matrix multiplication odyssey is drawing to a close... I've now finally got the Blis linear algebra routines in a self-contained Python package, with wheels for Windows, Linux and OSX. The only missing platform at the moment is Windows Python 2.7. The result is at https://github.com/explosion/cython-blis Thinc v7.0.0 will make the change to Blis. I've put a Thinc v7.0.0.dev0 up on PyPi so that we can test these changes with the CI, and even get them out to spacy-nightly, before Thinc v7.0.0 is released. This PR also updates the other dependencies to be in line with the current versions master is using. I've also resolved the msgpack deprecation problems, and gotten spaCy and Thinc up to date with the latest Cython. The point of switching to Blis is to have control of how our matrix multiplications are executed across platforms. When we were using numpy for this, a different library would be used on pip and conda, OSX would use Accelerate, etc. This would open up different bugs and performance problems, especially when multi-threading was introduced. With the change to Blis, we now strictly single-thread the matrix multiplications. This will make it much easier to use multiprocessing to parallelise the runtime, since we won't have nested parallelism problems to deal with. * Use blis * Use -2 arg to Cython * Update dependencies * Fix requirements * Update setup dependencies * Fix requirement typo * Fix msgpack errors * Remove Python27 test from Appveyor, until Blis works there * Auto-format setup.py * Fix murmurhash version
52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
environment:
|
|
|
|
matrix:
|
|
|
|
# For Python versions available on Appveyor, see
|
|
# http://www.appveyor.com/docs/installed-software#python
|
|
|
|
#- PYTHON: "C:\\Python27-x64"
|
|
#- PYTHON: "C:\\Python34"
|
|
#- PYTHON: "C:\\Python35"
|
|
#- DISTUTILS_USE_SDK: "1"
|
|
#- PYTHON: "C:\\Python34-x64"
|
|
#- DISTUTILS_USE_SDK: "1"
|
|
- PYTHON: "C:\\Python35-x64"
|
|
- PYTHON: "C:\\Python36-x64"
|
|
- PYTHON: "C:\\Python37-x64"
|
|
|
|
install:
|
|
# We need wheel installed to build wheels
|
|
- "%PYTHON%\\python.exe -m pip install wheel"
|
|
- "%PYTHON%\\python.exe -m pip install cython"
|
|
- "%PYTHON%\\python.exe -m pip install -r requirements.txt"
|
|
- "%PYTHON%\\python.exe -m pip install -e ."
|
|
|
|
build: off
|
|
|
|
test_script:
|
|
# Put your test command here.
|
|
# If you don't need to build C extensions on 64-bit Python 3.4,
|
|
# you can remove "build.cmd" from the front of the command, as it's
|
|
# only needed to support those cases.
|
|
# Note that you must use the environment variable %PYTHON% to refer to
|
|
# the interpreter you're using - Appveyor does not do anything special
|
|
# to put the Python version you want to use on PATH.
|
|
- "%PYTHON%\\python.exe -m pytest spacy/ --no-print-logs"
|
|
|
|
after_test:
|
|
# This step builds your wheels.
|
|
# Again, you only need build.cmd if you're building C extensions for
|
|
# 64-bit Python 3.4. And you need to use %PYTHON% to get the correct
|
|
# interpreter
|
|
- "%PYTHON%\\python.exe setup.py bdist_wheel"
|
|
|
|
artifacts:
|
|
# bdist_wheel puts your built wheel in the dist directory
|
|
- path: dist\*
|
|
|
|
#on_success:
|
|
# You can use this step to upload your artifacts to a public website.
|
|
# See Appveyor's documentation for more details. Or you can simply
|
|
# access your wheels from the Appveyor "artifacts" tab for your build.
|