Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.16.2 #1421

Merged
merged 40 commits into from
Jun 27, 2017
Merged

Release 0.16.2 #1421

merged 40 commits into from
Jun 27, 2017

Conversation

kain88-de
Copy link
Member

This is how a release 0.16.2 branch could look like. It starts from e24da32 and cherry-picks the commits from #1404.

I think I can do it that we merge #1404 into develop and I do a similar cherry picking after that. I think that is the cleanest option and keeps a steady development history in the develop branch while master continues to point to the latest stable release version.

@MDAnalysis/coredevs are you OK with this model?

richardjgowers and others added 30 commits June 3, 2017 23:52
point to new conda-forge release version
Removed TestCase usage
This fixes ERRORs and FAILs in the testsuite on 32bit:

TypeError: Cannot cast array data from dtype('int64') to dtype('int32') according to the rule 'safe'

and

assert_(out[0].dtype == np.int64)
  File "/usr/lib/python2.7/site-packages/numpy/testing/utils.py", line 92, in assert_
    raise AssertionError(smsg)
AssertionError
- Added tests for 32 bit index support
- added @rathann to AUTHORS
Issue #1362 : use np.intp types for indexing instead of np.int64

- According to numpy/numpy#4384 (comment), `np.intp` is the recommended dtype for indexing:
   "... use np.intp as dtype whenever things have to do with indexing or are logically related to 
   indexing/array sizes. This is the natural dtype for it and it will normally also be the fastest one.
- see https://docs.scipy.org/doc/numpy/user/basics.types.html
- see also PR #1391 for discussion
- This change should go some way towards increasing compatibility with i386/i696 (32 bit) platforms.

NOTE: No dedicated testing on 32 bit yet (see WIP PR #1392 )
Groups (AtomGroup, ResidueGroup, SegmentGroup) cannot be stored in sets
or used as dict key if they are not hashable. In python 3, the __hash__
method is not defined implicitly anymore when a class has a __eq__ method.

Fixes #1397
- Explicitly define __hash__ for groups:
   Groups (AtomGroup, ResidueGroup, SegmentGroup) cannot be stored in sets
   or used as dict key if they are not hashable. In python 3, the hash
   method is not defined implicitly anymore when a class has a eq method.
- fixes #1397
Merge into single command

Fix for root dir files

Move files in root dir to utils folder

Drop plugins directory

Merge coverage files

Fix covage run command

Fix test list env variable

Fix output coverage file

Fix covegae file

Fix case

Commnet out test__set_verbose

Fix minimal build

Fix merge command

Undo minial build change

Fix multiline command

Fix lint build

Remove plugins from the minimal build

Try to fix the doc build

Adds the test flags to the minimal build

Reactivate tests that pass in test_log.py

Remove if-else logic from "script" phase

Adds missing call to evail in "script" phase

Filip test flags and test directories

Adds cover package argument

Split command into constituent variables

Fix MAIN_CMD in full build

Have the same order of execution for all builds

Add lib folder to the testing command

Make the lib folder a python package

* Adds __init__.py file to the lib folder

Adds __future__ import
- closes #1383
- included deprecations:
  - #1373 Timeseries (targeted for 0.17)
    Note that the deprecation for core.Timeseries will always show up;
    this is deliberate so that users WILL see it as it will be gone in
    the next release!
  - #1377 Quick selectors (target 1.0)
  - #782 flags (target 1.0)
- updated CHANGELOG
- improved installation instructions (minimal/full install for pip, always full
  install for conda; also added entry on installation of tests)
- analysis landing page: better explained optional packages, removed scipy as example
  and replaced with sklearn and HOLE.
- removed imports in core and MDAnalysis
- replaced MDAnalysis.collection with a mock object that issues
  warnings and raises NotImplementedError
- added a test for MDAnalysis.collection
- instant selectors AtomGroup['<name>'], AtomGroup.<name>, ResidueGroup.<name>,
  Segment.<segid>, Segment.r<resid>, SegmentGroup.<segid>  emit warnings
- added tests
- updated docs with detailed deprecation and alternatives

Thanks to @richardjgowers for insights #1403 (comment)
orbeckst and others added 8 commits June 21, 2017 10:42
It turns out that with this warning in place we raise two deprecation warnings because we also
have a warning on _get_named_atom(item).

Example output:

 >>> w.atoms['AAA']
 .../mdanalysis/package/MDAnalysis/core/groups.py:1520: DeprecationWarning: Using the [] operator with strings is deprecated and will be removed in 1.0. Please use `select_atoms('name AAA')` instead.
   category=DeprecationWarning)
 .../mdanalysis/package/MDAnalysis/core/groups.py:1522: DeprecationWarning: `_get_named_atom` is deprecated!
 Instant selector AtomGroup['<name>'] or AtomGroup.<name> is deprecated and will be removed in 1.0. Use AtomGroup.select_atoms('name <name>') instead.
   return self._get_named_atom(item)
 <Atom 1: AAA of resname RsA, resid 1 and segid SegA>
This allows code to use the `getattr` function and only throw
an error if the requested attribute is an atom name.
- updated all modules
- removed any code that guards against scipy or matplotlib import
- conforms to style guide https://github.com/MDAnalysis/mdanalysis/wiki/Style-Guide#module-imports-in-mdanalysisanalysis
- fixes #1159
- fixes #1361
@orbeckst
Copy link
Member

orbeckst commented Jun 21, 2017 via email

@orbeckst
Copy link
Member

Given that Travis full is timing out, I am trying to do a quick local test.

@kain88-de
Copy link
Member Author

So #1404 is merged now. There haven't been any changes since I made the original PR. This is a viable branch for release 0.16.2 now.

@kain88-de
Copy link
Member Author

@richardjgowers you need to fix the merge conflicts during the merge. I can't get rid of them. I'm not sure why to be honest.

@orbeckst
Copy link
Member

orbeckst commented Jun 22, 2017

FYI: Running the full tests (including ncdf, HOLE, ClustalW, ...) on Linux x86_64

./testsuite/MDAnalysisTests/mda_nosetests -v --processes=12 --process-timeout=400 --no-open-files analysis auxiliary core coordinates formats lib topology utils

mostly passes:

   Ran 5439 tests in 149.601s
   FAILED (KNOWNFAIL=4, SKIP=3, errors=2)

The errors are due to trajectory index files not being readable by numpy/zipfile (see testlog.txt), which I think is actually due to race conditions when running the tests at high parallelization levels (I used 12 processes); I will re-run with 2 procs and will post results when that is done.

EDIT: Running with 2 procs passes everything:

  Ran 5439 tests in 482.904s
  OK (KNOWNFAIL=4, SKIP=3)

Side note:

It took me a while that (at least at the moment – perhaps due to #1370 ?) we cannot run the tests in the way we recommend testing for developers:

cd testsuite/MDAnalysisTests
./mda_nosetests -v --processes=4 --process-timeout=120

If I try to have mda_nosetests collect the files itself, then I get ~100 ERRORs and various weird failures.

@kain88-de
Copy link
Member Author

really I always collect with mda_nosetests and it works fine.

@orbeckst
Copy link
Member

orbeckst commented Jun 22, 2017

Then I don't really have a good explanation why it does not work for me (see
testing_implicittests_2core.txt).

 Ran 6013 tests in 522.195s
 FAILED (KNOWNFAIL=4, SKIP=6, errors=62, failures=10)

I work in a venv, actually pip-uninstalled MDAtests before pip install --upgrade testsuite/, I removed all *.pyc files from my source tree.

cd ./testsuite/MDAnalysisTests && ./mda_nosetests -v --processes=2 --process-timeout=400 --no-open-files 2>&1 | tee ../../testing_implicittests_2core.txt

It's not worth making a big fuss about it given that the testing is changing anyway.

@kain88-de kain88-de changed the title WIP Release 0.16.2 Release 0.16.2 Jun 23, 2017
@kain88-de
Copy link
Member Author

I can run all tests on my machine in a single process. Only the testsuite_test_authors test files for a reason that is unkown to me.

@kain88-de
Copy link
Member Author

I removed the TRZ fix

@richardjgowers
Copy link
Member

@kain88-de can you rebase the CHANGELOG/fix the conflict with @utkbansal now needing to be in 16.2

@kain88-de
Copy link
Member Author

@richardjgowers I'd love to solve the merge conflict but I can't I honestly don't know why there is an error in the first place. I tried yesterday to fix it on my laptop with local test merges but I just can't get git to work right on this one.

Conflicts:
	package/CHANGELOG
@richardjgowers richardjgowers merged commit 5b55e0e into master Jun 27, 2017
@richardjgowers richardjgowers deleted the release-0.16.2 branch June 27, 2017 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants