mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 09:57:26 +03:00 
			
		
		
		
	Improve blis and numpy build dependencies (#6455)
* Fix blis build dependencies
* Add blis with python_version constraints to pyproject.toml
* Add blis to setup_requires
* Remove --only-binary from CI
* Reduce number of builds to speed up CI
* Add hack to install wheel for python 3.5 in linux
* Remove os spec from CI
* Remove detailed numpy build constraints
* Remove detailed numpy build constraints from `pyproject.toml` because
  it is too difficult to maintain for many architectures
  * These constraints are more a reflection of what is available on
    pypi as binary wheels rather than any real build requirements that
    it is necessary for users to follow when building from source
  * Users building their own binary packages will need to enforce the
    constraints that make sense in their environments, e.g., the `conda`
    compatible numpy pins
* Keep the build constraints in `build-constraints.txt` for use with our
  builds
  * Our builds with wheelwright are built against the earliest
    compatible binary versions of numpy on pypi
  * These constraints are documented within the distribution
* Revert "Remove os spec from CI"
This reverts commit 7489476688.
			
			
This commit is contained in:
		
							parent
							
								
									e931d3f72b
								
							
						
					
					
						commit
						dcecc75270
					
				| 
						 | 
					@ -38,34 +38,35 @@ jobs:
 | 
				
			||||||
      Python35Linux:
 | 
					      Python35Linux:
 | 
				
			||||||
        imageName: 'ubuntu-16.04'
 | 
					        imageName: 'ubuntu-16.04'
 | 
				
			||||||
        python.version: '3.5'
 | 
					        python.version: '3.5'
 | 
				
			||||||
 | 
					        os: linux
 | 
				
			||||||
      Python35Windows:
 | 
					      Python35Windows:
 | 
				
			||||||
        imageName: 'vs2017-win2016'
 | 
					        imageName: 'vs2017-win2016'
 | 
				
			||||||
        python.version: '3.5'
 | 
					        python.version: '3.5'
 | 
				
			||||||
 | 
					# Test on one OS per python 3.6/3.7/3.8 to speed up CI
 | 
				
			||||||
      Python36Linux:
 | 
					      Python36Linux:
 | 
				
			||||||
        imageName: 'ubuntu-16.04'
 | 
					        imageName: 'ubuntu-16.04'
 | 
				
			||||||
        python.version: '3.6'
 | 
					        python.version: '3.6'
 | 
				
			||||||
      Python36Windows:
 | 
					#      Python36Windows:
 | 
				
			||||||
        imageName: 'vs2017-win2016'
 | 
					#        imageName: 'vs2017-win2016'
 | 
				
			||||||
        python.version: '3.6'
 | 
					#        python.version: '3.6'
 | 
				
			||||||
      Python36Mac:
 | 
					#      Python36Mac:
 | 
				
			||||||
        imageName: 'macos-10.14'
 | 
					#        imageName: 'macos-10.14'
 | 
				
			||||||
        python.version: '3.6'
 | 
					#        python.version: '3.6'
 | 
				
			||||||
      # Don't test on 3.7 for now to speed up builds
 | 
					#      Python37Linux:
 | 
				
			||||||
      Python37Linux:
 | 
					#        imageName: 'ubuntu-16.04'
 | 
				
			||||||
        imageName: 'ubuntu-16.04'
 | 
					#        python.version: '3.7'
 | 
				
			||||||
        python.version: '3.7'
 | 
					 | 
				
			||||||
      Python37Windows:
 | 
					      Python37Windows:
 | 
				
			||||||
        imageName: 'vs2017-win2016'
 | 
					        imageName: 'vs2017-win2016'
 | 
				
			||||||
        python.version: '3.7'
 | 
					        python.version: '3.7'
 | 
				
			||||||
      Python37Mac:
 | 
					#      Python37Mac:
 | 
				
			||||||
        imageName: 'macos-10.14'
 | 
					#        imageName: 'macos-10.14'
 | 
				
			||||||
        python.version: '3.7'
 | 
					#        python.version: '3.7'
 | 
				
			||||||
      Python38Linux:
 | 
					#      Python38Linux:
 | 
				
			||||||
        imageName: 'ubuntu-16.04'
 | 
					#        imageName: 'ubuntu-16.04'
 | 
				
			||||||
        python.version: '3.8'
 | 
					#        python.version: '3.8'
 | 
				
			||||||
      Python38Windows:
 | 
					#      Python38Windows:
 | 
				
			||||||
        imageName: 'vs2017-win2016'
 | 
					#        imageName: 'vs2017-win2016'
 | 
				
			||||||
        python.version: '3.8'
 | 
					#        python.version: '3.8'
 | 
				
			||||||
      Python38Mac:
 | 
					      Python38Mac:
 | 
				
			||||||
        imageName: 'macos-10.14'
 | 
					        imageName: 'macos-10.14'
 | 
				
			||||||
        python.version: '3.8'
 | 
					        python.version: '3.8'
 | 
				
			||||||
| 
						 | 
					@ -108,9 +109,14 @@ jobs:
 | 
				
			||||||
      pip uninstall -y -r installed.txt
 | 
					      pip uninstall -y -r installed.txt
 | 
				
			||||||
    displayName: 'Uninstall all packages'
 | 
					    displayName: 'Uninstall all packages'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - script: |
 | 
				
			||||||
 | 
					      pip install wheel
 | 
				
			||||||
 | 
					    condition: and(eq(variables['os'], 'linux'), eq(variables['python.version'], '3.5'))
 | 
				
			||||||
 | 
					    displayName: 'Hack: install wheel for python 3.5'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - bash: |
 | 
					  - bash: |
 | 
				
			||||||
      SDIST=$(python -c "import os;print(os.listdir('./dist')[-1])" 2>&1)
 | 
					      SDIST=$(python -c "import os;print(os.listdir('./dist')[-1])" 2>&1)
 | 
				
			||||||
      pip install dist/$SDIST --only-binary :all:
 | 
					      pip install dist/$SDIST
 | 
				
			||||||
    displayName: 'Install from sdist'
 | 
					    displayName: 'Install from sdist'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - script: |
 | 
					  - script: |
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6,9 +6,8 @@ requires = [
 | 
				
			||||||
    "preshed>=3.0.2,<3.1.0",
 | 
					    "preshed>=3.0.2,<3.1.0",
 | 
				
			||||||
    "murmurhash>=0.28.0,<1.1.0",
 | 
					    "murmurhash>=0.28.0,<1.1.0",
 | 
				
			||||||
    "thinc>=7.4.1,<7.5.0",
 | 
					    "thinc>=7.4.1,<7.5.0",
 | 
				
			||||||
    "numpy==1.15.0; python_version<='3.7'",
 | 
					    "blis>=0.4.0,<0.8.0; python_version >= '3.6'",
 | 
				
			||||||
    "numpy==1.17.3; python_version=='3.8'",
 | 
					    "blis>=0.4.0,<0.5.0; python_version < '3.6'",
 | 
				
			||||||
    "numpy==1.19.3; python_version=='3.9'",
 | 
					    "numpy>=1.15.0",
 | 
				
			||||||
    "numpy; python_version>='3.10'",
 | 
					 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
build-backend = "setuptools.build_meta"
 | 
					build-backend = "setuptools.build_meta"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,6 +40,7 @@ setup_requires =
 | 
				
			||||||
    preshed>=3.0.2,<3.1.0
 | 
					    preshed>=3.0.2,<3.1.0
 | 
				
			||||||
    murmurhash>=0.28.0,<1.1.0
 | 
					    murmurhash>=0.28.0,<1.1.0
 | 
				
			||||||
    thinc>=7.4.1,<7.5.0
 | 
					    thinc>=7.4.1,<7.5.0
 | 
				
			||||||
 | 
					    blis>=0.4.0,<0.8.0
 | 
				
			||||||
install_requires =
 | 
					install_requires =
 | 
				
			||||||
    # Our libraries
 | 
					    # Our libraries
 | 
				
			||||||
    murmurhash>=0.28.0,<1.1.0
 | 
					    murmurhash>=0.28.0,<1.1.0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user