DEAP / deap

Distributed Evolutionary Algorithms in Python
http://deap.readthedocs.org/
GNU Lesser General Public License v3.0
5.75k stars 1.12k forks source link

Break Python backward compatibility for DEAP 2.0 - Python 3.7+ all the way #290

Open cmd-ntrf opened 6 years ago

cmd-ntrf commented 6 years ago

Mandatory thought provocating title.

This up for debate, but I think that DEAP 2.0 might be ready for a serious change of pace and moving to supporting only Python 3.7+ could be the right kick in the butt we need. I think 2.0 is not about new features, but mainly refactoring based on the numerous user feedback we got since DEAP 1.0 release.

It would allow us to close old issues like the following :

What do you think?

fmder commented 6 years ago

I totally agree that we shouldn't concern ourselfes with backward compatibility for old Python versions.

Do you have any feature you intend to use in 3.7 that is not in 3.6?

cmd-ntrf commented 6 years ago

Python 3.7 has data classes that could either simplify the creator or maybe even remove it completely. https://www.python.org/dev/peps/pep-0557/

We should probably also look at the package (attrs)[https://github.com/python-attrs/attrs]. It was released a few years after DEAP, but I think it tackles a problem similar to what we faced when we came up with the creator - simplifying data class creation.

TristanJM commented 6 years ago

I am also in agreement with moving to Python 3. I would say 3.7 is a step too far considering you still require 3.6 to run Tensorflow.

nielsgl commented 5 years ago

I know that this is an old topic but TensorFlow already supports 3.7 for a couple of months now.

fmder commented 4 years ago

@cmd-ntrf I think I'm onto something here. No more creator, no more fitness.values, no more toolbox.clone, easy multi-crossover.

https://gist.github.com/fmder/a8eb232e8b51a56a300b8494d5255622

Seanny123 commented 4 years ago

@fmder I really like that approach. It looks like would resolve #480

Seanny123 commented 4 years ago

@fmder have you already started a branch working on this? Alternatively, what would a Minimal Viable PR look like for this?

fmder commented 4 years ago

@Seanny123 I really appreciate your enthusiasm, but I think this is too mush of a big change for a PR ;).

nbro commented 3 years ago

@cmd-ntrf, @fmder Is this issue going to be discussed for how many years before something is actually done?