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

tribler: 7.1.2 -> 7.4.0-exp1 (python 3) #74195

Merged
merged 1 commit into from Nov 28, 2019
Merged

Conversation

d-goldin
Copy link
Contributor

Motivation for this change

Updating version for tribler to use python 3.
One most notable change is dropping the optional pythonPackages.meliae
as it does not support python 3 and addition pony, lz4 and pyqtgraph.

Depends on: #74193
Related: #73927

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

cc @xvapx

@d-goldin d-goldin mentioned this pull request Nov 25, 2019
10 tasks
@d-goldin d-goldin marked this pull request as ready for review November 25, 2019 21:08
@d-goldin
Copy link
Contributor Author

d-goldin commented Nov 25, 2019

Some info about this particular version, since it has a funky name:

Tribler 7.4.0-exp1 is the Python3 version for stable 7.3.2 release. It includes numerous bug fixes and Python3 fixes over 7.3.2 without any significant feature update.

From https://github.com/Tribler/tribler/releases

@d-goldin
Copy link
Contributor Author

A few remarks:

  • Ditched a few dependencies that aren't used (upstream doc is also very conflicting about that, with various out-dated files here and there and various sources)
  • There is a BTC functionality, which depends on some unclear version of bitcoinlib (uses import bitcoinlib) that does not seem to be the one from pypi. So this feature doesn't work.
  • The video playback feature doesn't work for me
  • The trust network view throws an error;
  File "/nix/store/mn14ajx3sv6vfi8dihdfkpl8jm23m42i-tribler-7.4.0-exp1/Tribler/Core/Modules/restapi/trustview_endpoint.py", line 57, in get_node
    return self.node[self.peers.index(peer_key)]
AttributeError: 'TrustGraph' object has no attribute 'node'

But overall it manages to do some search, discovery and torrent downloading. I'd say it's in medium shape.

Keeping commits separate for legibility. Will squash once maintainer and reviewers are happy.

Copy link
Contributor

@xvapx xvapx left a comment

Choose a reason for hiding this comment

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

Looks good to me.
The bitcoin feature is new so it's not a regression for it to be broken.
The video playback is a regression, but I think it's worth it to upgrade to python3, I'll look into it after this is merged and try to fix it.

Updating version for tribler to use python 3.
One most notable change is dropping the optional `pythonPackages.meliae`
as it does not support python 3 and addition pony, lz4 and pyqtgraph.

Also cleaned up a few other dependencies and removed an old workaround
for broken ui-graphics.
@d-goldin
Copy link
Contributor Author

@xvapx: Thanks for the review! While you are here, could you be interested in co-maintaining pony, which is a new dependency this tribler version brings in? (#74193)

@ofborg ofborg bot requested a review from xvapx November 26, 2019 09:42
@xvapx
Copy link
Contributor

xvapx commented Nov 26, 2019

@d-goldin: Thanks to you! I'm fine with co-maintaining pony, no problem.

@flokli flokli merged commit 917b37c into NixOS:master Nov 28, 2019
@flokli
Copy link
Contributor

flokli commented Nov 28, 2019

Thanks :-)

@d-goldin, @xvapx: can one of you open a PR regarding the maintainorship of pony?

@xvapx
Copy link
Contributor

xvapx commented Nov 28, 2019

@flokli: done in #74535, thanks!

@FlorianFranzen
Copy link
Contributor

FlorianFranzen commented Jan 22, 2020

I think the update to Python3 was rather premature. I still experience regular crashes under Python3 that have not been fixed yet i.e. Tribler/tribler#5069. I would for now recommend to go back to version 7.3.2 under Python2 before we hit the next stable release in March.

@ichorid
Copy link

ichorid commented Jan 22, 2020

Thanks for the bug report, guys! We're going to release 7.4 sometime next week. We deem it pretty stable after all the experimental releases. However, you should really wait until we're done with it, as one really important change regarding state/config directory handling is not implemented yet. Also, 7.5 is in the works and stable enough for testing now. It dumps Twisted in favour of Asyncio, adds Pathlib path handling, features complete package structure refactoring to adhere to Python standards, etc. Stay tuned!

@xvapx
Copy link
Contributor

xvapx commented Jan 30, 2020

@FlorianFranzen Thanks for the report, I'll look into it and either fix it or downgrade to 7.3.2 before 20.03

@d-goldin d-goldin deleted the tribler_python3 branch January 31, 2020 09:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants