[TangerineSDR] Webserver for local host
Rob Wiesler
robert.wiesler at case.edu
Wed Dec 4 21:30:05 EST 2019
On Tue, Dec 03, 2019 at 18:38:57 +0000, Engelke, Bill via TangerineSDR wrote:
> Let's gravitate toward Python then. The framework that Evan mentioned
> (Flask) does seem to be of a lightweight variety, and should allow us
> to implement all the screens we need for controlling the TangerineSDR.
> (I have attached the latest version of the Detailed Design for what is
> planned to run in the SBC for review and comment. My idea is to
> implement all the web screens in the spec using whatever framework we
> pick).
Any chance the specification could end up in plain text or PDF?
> One question, to try and avoid "interdependency hell" – the latest
> GNUradio runs well with Python V3.6.9. (I’m hoping we can avoid using
> Python2, as I have seen a continuous feed of warnings that support is
> phasing out). I hope that Flask plays nice with Python3 (??)
It's been converted for years. The Debian package is python3-flask.
Okay, for fun only, here's the full story on Python 2 deprecation and
support (which are different matters). The tl;dr is that we shouldn't
have any issues with Python 3, so we should only write Python 3, and
anything we need that's Python 2-only will need to be converted anyway
(I haven't seen anything so far).
- The Python project is dropping support for Python 2 at the end of the
month. Then again, it wouldn't be the first super-mature software
package to end up being supported completely by some combination of
Debian, Ubuntu, Fedora, and OpenSUSE for over a decade after being
dropped by its own upstream.
- Debian is in the middle of removing Python 2 versions of its packages
as quickly as possible without breaking too many things at the same
time. This is resulting in a lot of packages being dropped from the
archive for bullseye (the next stable release, due to release sometime
around May 2021) (all of these packages remain in current stable,
minus a handful that are broken for other reasons). They may or may
not manage to remove everything, but AFAIR the goal is to continue
support for Python 2 through current stable (buster), plus a year
after the transition to bullseye (so, mid-2022).
- Ubuntu 18.04 LTS ("Bionic Beaver") continues to ship Python 2
packages. It'll go out of support in April 2028. For all practical
purposes, that means Python 2 will have some sort of support for
another eight years at least. This seems a little insane to me, but
Python 2 is really quite mature, so maybe it'll work out?
- Some individuals have infamously claimed to be willing to and capable
of supporting Python 2 indefinitely by themselves. Those individuals
lave largely relented, and ported their software to Python 3.
- There's at least one fork of Python 3 that claims full backwards
compatibility with Python 2. I am not telling you its name so as not
to tempt anyone into actually using it (it's a bit of a kludge). As
far as I know, nobody's been crazy enough to try packaging it for
Debian.
Again, despite plenty of support for Python 2 past 2020 (upstream
notwithstanding), there's basically no reason to write any new code in
it (*), and a lot of reasons to avoid Python libraries that aren't
compatible with Python 3.
*: If I could `from __past__ import division`, I would, and a lot of
code really doesn't deal well with raw bytes anymore without dumb
workarounds. That's basically it.
More information about the TangerineSDR
mailing list