diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 000000000..3fc447c6b --- /dev/null +++ b/.coveragerc @@ -0,0 +1,3 @@ +# .coveragerc to control coverage.py +[report] +omit = elephant/test/* diff --git a/.travis.yml b/.travis.yml index 20c71d025..c8cd03727 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,14 +41,14 @@ matrix: python: 3.7 env: DISTRIB="conda" - exclude: - - name: "pip 3.6 requirements min version" - # excluded due to unmet dependencies in neo, quantities, and scipy + - name: "pip 3.6 requirements-extras min version" python: 3.6 env: DISTRIB="pip" before_install: - - sudo apt install libblas-dev liblapack-dev libatlas-base-dev gfortran - - sed -i 's/>=/==/g' requirements.txt + - sudo apt install -y libopenmpi-dev openmpi-bin + - sudo apt install -y libblas-dev liblapack-dev libatlas-base-dev gfortran + - sed -i 's/>=/==/g' requirements*.txt + before_script: pip install -r requirements-extras.txt install: diff --git a/elephant/current_source_density_src/KCSD.py b/elephant/current_source_density_src/KCSD.py index d2bdf6d5e..d4bac7c8f 100644 --- a/elephant/current_source_density_src/KCSD.py +++ b/elephant/current_source_density_src/KCSD.py @@ -48,7 +48,7 @@ def validate(self, ele_pos, pots): if ele_pos.shape[0] < 1+ele_pos.shape[1]: #Dim+1 raise Exception("Number of electrodes must be at least :", 1+ele_pos.shape[1]) - if utils.check_for_duplicated_electrodes(ele_pos) is False: + if utils.contains_duplicated_electrodes(ele_pos): raise Exception("Error! Duplicated electrode!") def sanity(self, true_csd, pos_csd): diff --git a/elephant/current_source_density_src/utility_functions.py b/elephant/current_source_density_src/utility_functions.py index 9ebba2a9a..8ecbc2e47 100644 --- a/elephant/current_source_density_src/utility_functions.py +++ b/elephant/current_source_density_src/utility_functions.py @@ -35,17 +35,19 @@ def patch_quantities(): lastdefinition = definition return -def check_for_duplicated_electrodes(elec_pos): + +def contains_duplicated_electrodes(elec_pos): """Checks for duplicate electrodes Parameters ---------- elec_pos : np.array + Returns ------- has_duplicated_elec : Boolean """ - unique_elec_pos = np.unique(elec_pos, axis=0) - has_duplicated_elec = unique_elec_pos.shape == elec_pos.shape + unique_elec_pos = set(map(tuple, elec_pos)) + has_duplicated_elec = len(unique_elec_pos) < len(elec_pos) return has_duplicated_elec diff --git a/requirements-extras.txt b/requirements-extras.txt index 17fec19af..4b66ca186 100644 --- a/requirements-extras.txt +++ b/requirements-extras.txt @@ -1,4 +1,4 @@ -pandas>=0.14.1 -scikit-learn +pandas>=0.18.0 +scikit-learn>=0.19.0 mpi4py>=3.0.1 tqdm diff --git a/requirements.txt b/requirements.txt index 354b946d7..9f282a239 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ neo>=0.7.1,<0.8.0 -numpy>=1.8.2 -quantities>=0.10.1 -scipy>=0.14.0 +numpy>=1.10.1 +quantities>=0.12.1 +scipy>=0.17.0 six>=1.10.0