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 of v4.0.0? #117

Merged
merged 63 commits into from Jun 19, 2020
Merged

Release of v4.0.0? #117

merged 63 commits into from Jun 19, 2020

Conversation

1313e
Copy link
Collaborator

@1313e 1313e commented Oct 9, 2019

Also create this PR in advance, such that we can keep track of what issues have already been dealt with. This includes changes made in any (non-merged) PR to the dev branch.

Issues solved:

NOTE: Before this gets merged, a v3 branch must be made of master.

1313e and others added 19 commits September 14, 2019 14:22
…ibes what the hkl_type is that will be saved to HDF5.
Any dict that is loaded will be initialized with the items sorted in that order.
For all types that derive from dict, the dict will be initialized using its true type directly (apparently, I had written it that way before already for some reason).
This fixes #65.
…group that contains the hickled Python object, instead of the entire file (this allows for hickled objects to be more easily added to already existing HDF5-files, without messing up the root of that file).
…a single item at that level.

All 'create_xxx' functions are now passed a string containing the name of the group/dataset that they should create.
Added missing 'six' requirement.
Added a test for testing the dumping and loading of an OrderedDict.
…sary.

Removed the auxiliary attributes that were required for reading it.
The true type of a dict key is now saved as well, even though it is not used for anything (simply saving it now in case we want to use it later).
@codecov
Copy link

codecov bot commented Oct 9, 2019

Codecov Report

Merging #117 into master will increase coverage by 10.24%.
The diff coverage is 96.78%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master     #117       +/-   ##
===========================================
+ Coverage   87.40%   97.65%   +10.24%     
===========================================
  Files          12        9        -3     
  Lines         762      596      -166     
===========================================
- Hits          666      582       -84     
+ Misses         96       14       -82     
Impacted Files Coverage Δ
hickle/hickle.py 93.57% <89.92%> (+10.30%) ⬆️
hickle/__init__.py 100.00% <100.00%> (ø)
hickle/__version__.py 100.00% <100.00%> (ø)
hickle/helpers.py 100.00% <100.00%> (+4.16%) ⬆️
hickle/loaders/load_astropy.py 100.00% <100.00%> (+15.50%) ⬆️
hickle/loaders/load_builtins.py 100.00% <100.00%> (ø)
hickle/loaders/load_numpy.py 100.00% <100.00%> (+11.53%) ⬆️
hickle/loaders/load_scipy.py 100.00% <100.00%> (ø)
hickle/lookup.py 100.00% <100.00%> (+11.94%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ed2b19b...77f29ad. Read the comment docs.

@1313e
Copy link
Collaborator Author

1313e commented Jun 3, 2020

@telegraphic I am currently planning on continuing with the rewrite for v4.0.0 this weekend (I will therefore also be renaming and moving some branches around).
Do you agree with me that v4 should be released rather soon, given the several improvements it brings (which are basically waiting for like 8 or 9 months now)?
If so, I would like your opinion on dealing with legacy versions: Should we keep supporting all hickle versions, or only those made with v3?

1313e and others added 9 commits June 9, 2020 13:24
…not necessary to restore the object's original state.
Added start of legacy support for v3.
v4 now stores its HDF5 attributes using a 'HICKLE_' prefix, to allow users to add attributes to the group without interference.
…on't contain any datasets or groups themselves.
Added legacy support for hickle v3 (currently uses v3.4.7).
As legacy_v3 is expected to be able to load files made with Python 2.7, these are not changed.
Converted all v4 files to be PEP8 compliant.
Rewritten 'load_python3' into 'load_builtins'.
The 'load_numpy' and 'load_builtins' modules are only loaded when they are required, like all other loaders.
Removed the 'containers_type_dict' as the true container type is already saved anyway.
Astropy's classes are now reinitialized using their true type instantly.
Astropy constants can now be properly dumped and loaded.
@1313e
Copy link
Collaborator Author

1313e commented Jun 10, 2020

@telegraphic Can you btw make a new release, as a legacy hickle file of v3.4.7 needs to be added to v4.
Also, would you like me to do some more code cleaning (like, checking if all documentation and comments is up-to-date; remove unnecessary lines; etc.)?

@1313e
Copy link
Collaborator Author

1313e commented Jun 19, 2020

@telegraphic Any chances we can get this done this weekend?
Currently, the only things that are remaining are (in this order):

Unless you have something that you would like to add (or like me to add) for v4, I am pretty much done I think.

Some more clean-up and adding of missing tests
Copy link
Owner

@telegraphic telegraphic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Downloaded and ran tests, LGTM

@telegraphic
Copy link
Owner

@telegraphic Any chances we can get this done this weekend?
Currently, the only things that are remaining are (in this order):

* Solve #90 (I actually just got an idea on how to fix this);

Will leave this one to you

* Make a decision on #130;

Agreed, we can dump the track_times as kwargs will catch it

* Release v3.4.7 (as I need to make a legacy v3 file for v4 testing);

Just released on pypi

* Migrate `hickle` from travis.org to travis.com;

I think I've done this (migration is in beta)

* Merge #132 (which then should contain the first two things as well);

Merged

* Review all the changes in this PR;

Done

* Make a `v3` branch based on `master` (for future maintenance by either us or someone else, as we are dropping Python 2.7 support);

Makes sense, v3 branch made

* Merge this PR into `master`;

About to do so

* Release v4.0.0.

Unless you have something that you would like to add (or like me to add) for v4, I am pretty much done I think.

Fantastic stuff
!

@telegraphic telegraphic merged commit 7bc9965 into master Jun 19, 2020
@1313e
Copy link
Collaborator Author

1313e commented Jun 19, 2020

@telegraphic You may want to wait with releasing v4 until I have removed the track_times kwargs.

@telegraphic
Copy link
Owner

was a bit trigger happy, yes will hold off.

@1313e
Copy link
Collaborator Author

1313e commented Jun 19, 2020

was a bit trigger happy, yes will hold off.

A little bit.

hernot pushed a commit to hernot/hickle that referenced this pull request Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment