EUDAT-B2HANDLE / B2HANDLE

B2Handle Python library for interaction with Handle services
https://eudat-b2handle.github.io/
Apache License 2.0
22 stars 24 forks source link

Support for Python3.6 #122

Open muccix opened 7 years ago

muccix commented 7 years ago

Does the library support Python 3.6?

We are going to relay on this library in the B2STAGE HTTP-API which is based on py 3.6

Thanks!

cookie33 commented 7 years ago

Hi,

It is tested against python 3.5: https://jenkins.argo.grnet.gr/job/B2HANDLE_devel/

The documentation also states python 3.5

muccix commented 7 years ago

Let me try to reformulate the question: do you have plan for supporting python 3.6?

Many thanks

SofianeB commented 7 years ago

The solution proposed in (#115) does not resolve the random dictionary order issue in python 3.6..

muccix commented 7 years ago

Does the issue affect only the tests? If that is the case we could start using the library anyway (maybe forking and editing the setup.py)

SofianeB commented 7 years ago

I just performed some operations like creating and retrieving handles (python 3.6.0) and it works. The issue concerns only the testcase "test_create_revlookup_query_normal_checksum_and_url".

muccix commented 7 years ago

Ok. I have forked the repo here. Just for the record: I couldn't install with pip3 install b2handle-1.1.1-py3.6.egg receiving the error:

Collecting b2handle-1.1.1-py3.6.egg
  Could not find a version that satisfies the requirement b2handle-1.1.1-py3.6.egg (from versions: )
No matching distribution found for b2handle-1.1.1-py3.6.egg

It worked with easy_install b2handle-1.1.1-py3.6.egg

I leave you the choice whether to close the issue. Thanks!

TobiasWeigel commented 7 years ago

Just talked again with Sofiane and we think that the dictionary ordering issue is a Python issue that has already been discussed in the community for quite a while now. But this does not affect the functionality of b2handle; so our solution is to deactivate the test. This could then go together with configured support for Py3.6 and further testing into one of the next releases. Currently, the splitting of the library / pyhandle development takes priority.

raphael-ritz commented 7 years ago

I admit I'm missing context here but if the core of the problem is that comparing dicts may yield failures because the order is undefined why not use cmp instead of ==. Or use an OrderedDict (from collections) to begin with.

Just my 2 cents,

Raphael - a lurker

stefan-wolfsheimer commented 5 years ago

I wonder if there is any progress on this? Does the fork of @muccix solve this issue? Would it make sense to merge it back to the main project?

SofianeB commented 4 years ago

@stefan-wolfsheimer we will release a new version of the B2HANDLE library that supports Python 3.6. / 3.7

avbentem commented 3 years ago

Meanwhile, the October 2019 https://github.com/EUDAT-B2SAFE/B2HANDLE/commit/256b5a96b759d35e142e5d359dfb4a9b99f2bd58 says:

The library currently supports Python 2.6, 2.7, 3.5, 3.6 and 3.7, and requires at least a Handle System server 8.1.

It seems this was also merged into the October 2019 pre-release 1.1.2.