apgsearch and Python 3.x
- Hdjensofjfnen
- Posts: 1743
- Joined: March 15th, 2016, 6:41 pm
- Location: re^jθ
apgsearch and Python 3.x
Does anybody know how to format apgsearch so it runs with Python 3.x?
Code: Select all
x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!
Code: Select all
x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!
Re: apgsearch and Python 3.x
Google can tell you most of the important stuff. However, it won't do you a whole lot of good, because apgsearch relies on Golly to do its Life-universe simulations for it, and Golly currently supports Python 2.x only.Hdjensofjfnen wrote:Does anybody know how to format apgsearch so it runs with Python 3.x?
Python 2.x is still being used by about a quarter of Python programmers, almost ten years after the first usable Python 3.x came out. I'm not sure when or if it will become a priority for the Golly Gang to make the jump to 3.x. In theory we'd like to see as many scripting tasks move to Lua as possible, since that will Just Work with no need for additional confusing Python installs.
But in practice, many of the more complex tasks that one might want to write a script for... are much easier to do in Python, because there are so many more libraries available. The old Python apgsearch is a case in point. I've ported a number of scripts from Python to Lua, and for simple scripts it's really fairly easy -- but I haven't been remotely tempted to try a Lua port of apgsearch.
-
- Posts: 1334
- Joined: July 1st, 2016, 3:58 pm
Re: apgsearch and Python 3.x
If Python 3.x does get support, can we please keep support for 2.x? It would make it so that most Golly scripts would not require changing. Then, everyone has support, the 2.x people, and the 3.x people.
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.
Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.
Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.
Re: apgsearch and Python 3.x
That does sound nice in theory, but it also sounds like something of a nightmare in practice. How exactly would Golly know whether a script currently being run is supposed to be a Python 2.x script or a Python 3.x script? To make both types of scripts work, presumably everyone would have to install Golly, Python 2.7.x, and Python 3.x. This can be done, but I've run into some mysterious problems now and then that seem to be due to competing Python installs... anyway, it just seems like one install too many.AforAmpere wrote:If Python 3.x does get support, can we please keep support for 2.x? It would make it so that most Golly scripts would not require changing. Then, everyone has support, the 2.x people, and the 3.x people.
Now, I'm not likely to be doing any Golly upgrades to Python 3.x myself, so I probably shouldn't talk.
However, it seems likely to me that after said hypothetical upgrade, people who want to use Python 2.x scripts can just keep an older version of Golly around, instead of downloading the latest and greatest Golly.
We already have people writing scripts that work equally well in Python 2.7.x and Python 3.x. And I suspect many of the simpler Golly scripts that have been written to date can be automatically converted from 2.x to 3.x with few or no ill effects -- Golly could probably include the conversion script for a while, or pop up a message suggesting that it be tried.
Re: apgsearch and Python 3.x
I'm a bit confused by this thread, because the latest version of apgsearch is already compatible with Python 3.x, without needing any further modifications. In fact, calcyman's comments in the link suggest it should be compatible with both 3.x and 2.x.
Re: apgsearch and Python 3.x
The way the question made sense to me was if Hdjensofjfnen wanted to run the old Python-script version of apgsearch, but with a computer that only had Python 3.x installed. If we're talking apgsearch 4.x, then your answer is much better.77topaz wrote:I'm a bit confused by this thread, because the latest version of apgsearch is already compatible with Python 3.x, without needing any further modifications. In fact, calcyman's comments in the link suggest it should be compatible with both 3.x and 2.x.
Re: apgsearch and Python 3.x
Python 2.7 support will cease before 2020 as specified in PEP 0373.dvgrn wrote:Python 2.x is still being used by about a quarter of Python programmers, almost ten years after the first usable Python 3.x came out. I'm not sure when or if it will become a priority for the Golly Gang to make the jump to 3.x.
It will become a priority in the next year and a half to add Python 3 support to Golly. Sooner seems better than later, to give time for scripts to be ported.
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: apgsearch and Python 3.x
Mind, that refers to the Python parts of apgluxe (apgsearch 4.x) and lifelib, not the pure-Python apgsearch running in Golly.77topaz wrote:I'm a bit confused by this thread, because the latest version of apgsearch is already compatible with Python 3.x, without needing any further modifications. In fact, calcyman's comments in the link suggest it should be compatible with both 3.x and 2.x.
Given that apgsearch 4.x exists, though, what use case is there left for the 1.x series?
- Hdjensofjfnen
- Posts: 1743
- Joined: March 15th, 2016, 6:41 pm
- Location: re^jθ
Re: apgsearch and Python 3.x
I really despise the idea of downloading C++ just so apgsearch can run. C++ is such an unreadable and confusing language that it's really almost impossible to work with.Apple Bottom wrote: Given that apgsearch 4.x exists, though, what use case is there left for the 1.x series?
Code: Select all
x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!
Code: Select all
x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!
- Apple Bottom
- Posts: 1034
- Joined: July 27th, 2015, 2:06 pm
- Contact:
Re: apgsearch and Python 3.x
You can't really "download C++" as such, but I understand what you mean. I think.Hdjensofjfnen wrote:I really despise the idea of downloading C++ just so apgsearch can run. C++ is such an unreadable and confusing language that it's really almost impossible to work with.
That said, even if C++ is unreadable and/or confusing, what does it matter? You don't have to see sausages being made to enjoy eating them. From a user's point of view, a program's judged by how well it does its job.
If you speak, your speech must be better than your silence would have been. — Arabian proverb
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
Catagolue: Apple Bottom • Life Wiki: Apple Bottom • Twitter: @_AppleBottom_
Proud member of the Pattern Raiders!
- Hdjensofjfnen
- Posts: 1743
- Joined: March 15th, 2016, 6:41 pm
- Location: re^jθ
Re: apgsearch and Python 3.x
Also, speaking of apgsearch, none of the C1 soups that claim to have gotten "two pulsar quadrants" actually contain the oscillator.
Code: Select all
x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!
Code: Select all
x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!
Re: apgsearch and Python 3.x
What do you mean? The ones I've checked certainly do:Hdjensofjfnen wrote:Also, speaking of apgsearch, none of the C1 soups that claim to have gotten "two pulsar quadrants" actually contain the oscillator.
Code: Select all
# m_P6PkexfnyjKc6081713
x = 16, y = 16, rule = B3/S23
bob3ob2o2bo2bo$b3ob4o6bo$ob4ob4o2bo$bo3bo2bobo4bo$bobobo4bo2b2o$3obo2b
3obo2b2o$2bob3o4bo2b2o$o2b2ob2ob5o$b2ob2o2b2o3b2o$3obo2b2obob4o$3bo3bo
b3ob2o$b3o3b6obo$4b4o3bobobo$ob2o2bo2bob2ob2o$4ob4o2b2ob2o$o3b4ob3ob3o
!
Code: Select all
# l_xBJDC85ruGFj2599536
x = 16, y = 16, rule = B3/S23
2b5o5b3o$6obo2bo2b2o$obob2o2b3obobo$8b3obobo$b2o2b2o2bob3obo$bo4b2obob
2o2bo$obo3bo2b2o2bo$bobo2b2o2b2o2bo$b2o2bo2b3obobo$3ob2obobob2o$5obo3b
2obo$2obo2b2ob4obo$obobob2o2b3o2bo$ob2o2b2obo3b3o$b2o2b2o3b2o2bo$b2o4b
o4bob2o!
Code: Select all
# n_iFZWuBeGCPeF205458
x = 16, y = 16, rule = B3/S23
3o2bo3bo2b2obo$bob3ob2obob3o$o3b2obo2bobo2bo$o3bob2obo3bobo$bo3b2o8bo$
3ob2o9bo$obob4ob2o3bo$ob3ob2obo2bo2bo$3o9b2obo$obo2bobob2o3bo$2o4bobo
3b4o$2b2o3bo5bobo$bo3b2o2b2o2b2o$b2ob2ob4ob4o$3obo2bob5o$o3bobo5b2obo!
What do you do with ill crystallographers? Take them to the mono-clinic!
- Hdjensofjfnen
- Posts: 1743
- Joined: March 15th, 2016, 6:41 pm
- Location: re^jθ
Re: apgsearch and Python 3.x
Oops.
Looks like I was running in HighLife, dammit.
Looks like I was running in HighLife, dammit.
Code: Select all
x = 5, y = 9, rule = B3-jqr/S01c2-in3
3bo$4bo$o2bo$2o2$2o$o2bo$4bo$3bo!
Code: Select all
x = 7, y = 5, rule = B3/S2-i3-y4i
4b3o$6bo$o3b3o$2o$bo!