| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  | { buildPythonPackage | 
					
						
							| 
									
										
										
										
											2017-04-22 23:44:00 +02:00
										 |  |  | , fetchPypi | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  | , python | 
					
						
							|  |  |  | , stdenv | 
					
						
							|  |  |  | , fetchurl | 
					
						
							| 
									
										
										
										
											2017-04-22 23:44:00 +02:00
										 |  |  | , pytest | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  | , glibcLocales | 
					
						
							|  |  |  | , cython | 
					
						
							|  |  |  | , dateutil | 
					
						
							|  |  |  | , scipy | 
					
						
							|  |  |  | , numexpr | 
					
						
							|  |  |  | , pytz | 
					
						
							|  |  |  | , xlrd | 
					
						
							|  |  |  | , bottleneck | 
					
						
							|  |  |  | , sqlalchemy | 
					
						
							|  |  |  | , lxml | 
					
						
							|  |  |  | , html5lib | 
					
						
							|  |  |  | , beautifulsoup4 | 
					
						
							|  |  |  | , openpyxl | 
					
						
							|  |  |  | , tables | 
					
						
							|  |  |  | , xlwt | 
					
						
							|  |  |  | , libcxx ? null | 
					
						
							|  |  |  | }: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let | 
					
						
							|  |  |  |   inherit (stdenv.lib) optional optionalString concatStringsSep; | 
					
						
							|  |  |  |   inherit (stdenv) isDarwin; | 
					
						
							|  |  |  | in buildPythonPackage rec { | 
					
						
							|  |  |  |   pname = "pandas"; | 
					
						
							| 
									
										
										
										
											2017-07-17 10:52:59 +02:00
										 |  |  |   version = "0.20.3"; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |   name = "${pname}-${version}"; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-22 23:44:00 +02:00
										 |  |  |   src = fetchPypi { | 
					
						
							|  |  |  |     inherit pname version; | 
					
						
							| 
									
										
										
										
											2017-07-17 10:52:59 +02:00
										 |  |  |     sha256 = "a777e07633d83d546c55706420179551c8e01075b53c497dcf8ae4036766bc66"; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   LC_ALL = "en_US.UTF-8"; | 
					
						
							| 
									
										
										
										
											2017-04-22 23:44:00 +02:00
										 |  |  |   buildInputs = [ pytest glibcLocales ] ++ optional isDarwin libcxx; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |   propagatedBuildInputs = [ | 
					
						
							|  |  |  |     cython | 
					
						
							|  |  |  |     dateutil | 
					
						
							|  |  |  |     scipy | 
					
						
							|  |  |  |     numexpr | 
					
						
							|  |  |  |     pytz | 
					
						
							|  |  |  |     xlrd | 
					
						
							|  |  |  |     bottleneck | 
					
						
							|  |  |  |     sqlalchemy | 
					
						
							|  |  |  |     lxml | 
					
						
							|  |  |  |     html5lib | 
					
						
							|  |  |  |     beautifulsoup4 | 
					
						
							|  |  |  |     openpyxl | 
					
						
							|  |  |  |     tables | 
					
						
							|  |  |  |     xlwt | 
					
						
							| 
									
										
										
										
											2017-05-30 02:14:46 +02:00
										 |  |  |   ]; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # For OSX, we need to add a dependency on libcxx, which provides | 
					
						
							|  |  |  |   # `complex.h` and other libraries that pandas depends on to build. | 
					
						
							| 
									
										
										
										
											2017-04-18 09:44:33 +02:00
										 |  |  |   postPatch = optionalString isDarwin ''
 | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |     cpp_sdk="${libcxx}/include/c++/v1"; | 
					
						
							|  |  |  |     echo "Adding $cpp_sdk to the setup.py common_include variable" | 
					
						
							|  |  |  |     substituteInPlace setup.py \ | 
					
						
							|  |  |  |       --replace "['pandas/src/klib', 'pandas/src']" \ | 
					
						
							|  |  |  |                 "['pandas/src/klib', 'pandas/src', '$cpp_sdk']" | 
					
						
							|  |  |  |   '';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   checkPhase = ''
 | 
					
						
							|  |  |  |     runHook preCheck | 
					
						
							| 
									
										
										
										
											2017-05-30 02:14:46 +02:00
										 |  |  |   ''
 | 
					
						
							|  |  |  |   # TODO: Get locale and clipboard support working on darwin. | 
					
						
							|  |  |  |   #       Until then we disable the tests. | 
					
						
							|  |  |  |   + optionalString isDarwin ''
 | 
					
						
							|  |  |  |     # Fake the impure dependencies pbpaste and pbcopy | 
					
						
							|  |  |  |     echo "#!/bin/sh" > pbcopy | 
					
						
							|  |  |  |     echo "#!/bin/sh" > pbpaste | 
					
						
							|  |  |  |     chmod a+x pbcopy pbpaste | 
					
						
							|  |  |  |     export PATH=$(pwd):$PATH | 
					
						
							|  |  |  |   '' + '' | 
					
						
							|  |  |  |     py.test $out/${python.sitePackages}/pandas --skip-slow --skip-network \ | 
					
						
							|  |  |  |       ${if isDarwin then "-k 'not test_locale and not test_clipboard'" else ""} | 
					
						
							| 
									
										
										
										
											2017-04-22 23:44:00 +02:00
										 |  |  |     runHook postCheck | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |   '';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   meta = { | 
					
						
							| 
									
										
										
										
											2017-03-01 13:01:13 +00:00
										 |  |  |     # https://github.com/pandas-dev/pandas/issues/14866 | 
					
						
							|  |  |  |     # pandas devs are no longer testing i686 so safer to assume it's broken | 
					
						
							|  |  |  |     broken = stdenv.isi686; | 
					
						
							| 
									
										
										
										
											2017-08-01 22:03:30 +02:00
										 |  |  |     homepage = http://pandas.pydata.org/; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |     description = "Python Data Analysis Library"; | 
					
						
							|  |  |  |     license = stdenv.lib.licenses.bsd3; | 
					
						
							| 
									
										
										
										
											2017-05-30 02:14:46 +02:00
										 |  |  |     maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ]; | 
					
						
							| 
									
										
										
										
											2016-12-25 10:40:57 +01:00
										 |  |  |     platforms = stdenv.lib.platforms.unix; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2017-03-01 13:01:13 +00:00
										 |  |  | } |