Skip to content
This repository has been archived by the owner on Apr 26, 2021. It is now read-only.

Support for Python 3 #594

Open
jhg opened this issue Jul 1, 2015 · 26 comments
Open

Support for Python 3 #594

jhg opened this issue Jul 1, 2015 · 26 comments

Comments

@jhg
Copy link

jhg commented Jul 1, 2015

https://wiki.python.org/moin/Python2orPython3

Support for Python 3.

@jbremer
Copy link
Member

jbremer commented Jul 1, 2015

I'm not sure if we have people that care about Python3 support - I don't.

@KillerInstinct
Copy link
Contributor

I don't either, but as a long term project, Python2 will eventually depricate.

@jbremer
Copy link
Member

jbremer commented Jul 1, 2015

Personally doubt it :p

@botherder
Copy link
Member

Currently very unlikely that we'll port to Python 3 any time soon. Closing until this becomes a realistic opportunity.

@csala
Copy link

csala commented Apr 25, 2018

Is this realistic enough?

https://pythonclock.org/

@csala
Copy link

csala commented Apr 25, 2018

Now, seriously, are there any plans regarding python 3 compatibility?
It would be interesting to not have cuckoo staying behind on this.

@jbremer
Copy link
Member

jbremer commented Apr 25, 2018

This is on our longterm roadmap - we've already started to port some of our libraries that are used by Cuckoo to be Python 3-compatible (e.g., https://github.com/jbremer/sflock, https://github.com/jbremer/roach) and most of our external dependencies are Python 3-compatible already.

Unfortunately Cuckoo becoming both Python 2 and Python 3 compatible (my personal preference for now) is a long development plan requiring lots of manual testing and new unit tests for all the code paths that are currently not tested. Otherwise we'll get daily reports of str vs bytes problems ;-)

Concluding: yes, but will take some time still.. unless somebody would like to donate resources in terms of time or money to sponsor such development.

@csala
Copy link

csala commented Apr 25, 2018

Great! Thanks for the response!
Perhaps it would be a good idea to reopen this issue to let people know that there is work in progress.

@jbremer
Copy link
Member

jbremer commented Apr 25, 2018

Sure, I guess ;-)

@jbremer jbremer reopened this Apr 25, 2018
@blshkv
Copy link

blshkv commented Mar 25, 2019

hatching/httpreplay#19

@LetMeR00t
Copy link

Hi,
Another proof that we need Python3 support (this happened when I run pip2) :
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.

@LetMeR00t
Copy link

Hi @jbremer ,
Do you have an idea of which dependencies need to be supported to Python3 ? Once we know that all dependencies are supported, we could start migrate to Python3
Thank you

@LetMeR00t
Copy link

LetMeR00t commented Apr 24, 2019

Oh, here is the answer :) :

Dependency (current used release) Current version is Python2/3 compatible Last release => Python3 supported ?
alembic==0.8.8 Yes Yes, last release 1.0.9
androguard==3.0.1 Unknown Yes, last release 3.3.5
beautifulsoup4==4.5.3 Yes Yes, last release 4.7.1
chardet==2.3.0 Yes Yes, last release 3.0.4
click==6.6 Yes Yes, last release 7.0
django==1.8.4 Yes Yes, last release 2.2
django_extensions==1.6.7 Yes Yes, last release 2.1.6
dpkt==1.8.7 Yes Yes, last release 1.9.2
egghatch>=0.2.3, <0.3 No Yes shortly (I hope) : hatching/egghatch#2
elasticsearch==5.3.0 Yes Yes, last release (if we keep the v5) 5.5.5
flask==0.12.2 Yes Yes , last release 1.0.2
flask-sqlalchemy==2.1 Yes Yes, last release 2.4.0
httpreplay>=0.2.4, <0.3 No (new PR will be only Python3) Yes shortly (I hope) : hatching/httpreplay#25
jinja2==2.9.6 Yes Yes, last release 2.10.1
jsbeautifier==1.6.2 Unknown Seems to be, last release is 1.9.1, I assume yes because the last release is recent
oletools==0.51 Yes Yes, last release 0.54.1
peepdf>=0.4.2, <0.5 No Seems to be, not sure
pefile2==1.2.11 Yes Seems to be, last release is recent, it seems to be this repository : https://github.com/erocarrera/pefile
pillow==3.2 Yes Yes, last release is 6.0.0
pyelftools==0.24 Yes Yes, last release is 0.25
pyguacamole==0.6 Yes Yes, last release is 0.8
pymisp==2.4.103 Yes Yes, last release is 2.4.103 (enjoy, nothing to do)
pymongo==3.0.3 Yes Yes, last release is 3.8.0
python-dateutil==2.4.2 Yes Yes, last release is 2.8.0
python-magic==0.4.12 Yes Yes, last release is 0.4.15
roach>=0.1.2, <0.2 No (new PR will be Python2/3 compatible) Yes shortly (I hope) : hatching/roach#7
sflock>=0.3.8, <0.4 Yes Yes, last release is 0.3.9
sqlalchemy==1.0.8 Yes Yes, last release is 1.3.3
unicorn==1.0.1 Yes Yes, last release is 1.0.1
wakeonlan==0.2.2 Yes (Python3.2) Yes, last release is 1.1.6
yara-python==3.6.3 Yes Yes, last release is 3.9.0
requests==2.13.0 Yes Yes, last release is 2.21.0
scapy==2.3.2 Unknown Yes, last release is 2.4.2
gevent==1.1.1 Yes Yes, last release is 1.4.0
psycopg2==2.6.2 Yes Seems to be, not sure : https://pypi.org/project/psycopg2/
weasyprint==0.36 Yes Yes, last release is 47 (One year development since)

=> Current version is Python2/3 compatible : No need to update, or few fixes :)
I think that the migration should be first to Python3.4, maybe Python3.5

[EDIT]
3 i'm not sure
3 soon (my PRs) :)

@jaredthecoder
Copy link

Where does this issue stand? @LetMeR00t has open PRs on the unsupported libraries. It has been 2 months. We're less than 6 months from Python 2 EOL across the board.

Cuckoo Sandbox is the only open-source, commercially competitive tool for sandboxing; this project needs to stay alive. The only non-compatible libraries are the ones written by a single GitHub organization (github.com/hatching). Additionally, there isn't a reason to keep support for Python 2, especially because mitmproxy won't work with it on the latest version. Why make it compatible with Python 2, when in 6 months people can't use this software for any project that they're not okay getting wrecked with a Python 2 zero-day.

IMO (and I'm sure of many others as well if they realized the full problem), Python 3 should be the only priority until its implemented. Non-critical bugs and stability issues (like rewriting the results processor in the 2.0.7 release) make zero sense when Cuckoo will be unusable for any company or person that only uses officially supported software (here, Python is the underlying foundation that won't be supported for version 2).

I see Cuckoo up there with projects like Tensorflow, Requests, and similar major players, and they all moved to Python 3 long ago: https://python3statement.org/.

@SparkyNZL
Copy link

SparkyNZL commented Jul 4, 2019 via email

@wroersma
Copy link
Contributor

wroersma commented Jul 4, 2019 via email

@jaredthecoder
Copy link

What’s toxic is not informing those of us that depend on this system what the state of development is. I’m super glad that Python 3 is a priority. But not informing us is exactly what causes me to post these kinds of requests.

You have to remember that the people that use Cuckoo are not just independent individuals, but entire companies that depend on it (which is where I come from). Though I wish we could support it officially, we don’t have the ability to do so. To that end, that’s why I’m asking if this is still a priority two months after the last comment as made on this post.

@SparkyNZL
Copy link

SparkyNZL commented Jul 5, 2019 via email

@blshkv
Copy link

blshkv commented Jul 5, 2019

@jaredthecoder Disclaimer: I'm not involved in this project. I totally understand your frustration but is very common with any open source projects. You will get a frustrated reply from developers that they are not getting paid and so on. But it was company decision to use this project accepting all risks. So now, since it is important for you, there are multiple options available to make it kicking. You can make an arrangement and donate/pay to authors for this bug to be resolved. You can fork this project and fix it yourself or hire programmers to do it for you.

@wroersma You have created something useful during your free time. There is no point replying in toxic way too. Github introduced an interesting initiative https://github.com/sponsors. You might want to think how to get paid for doing what you like.

@rhertzog
Copy link

Hello everybody, as a Debian and Kali packager, I'm super interested in having a python 3 version of cuckoo. Is the python 3 port happening privately or in some public branch? Or is the master branch getting compatible with py2 and py3 at the same time?

FWIW, volatility3 is out and supports Python 3: https://github.com/volatilityfoundation/volatility3

@noraj
Copy link

noraj commented Feb 3, 2020

🕙 We are in 2020 and python 2 is deprecated now
https://www.python.org/doc/sunset-python-2/

We have decided that January 1, 2020, will be the day that we sunset Python 2. That means that we will not improve it anymore after that day, even if someone finds a security problem in it. You should upgrade to Python 3 as soon as you can.

Python 2 was dead for years, but now it is officially really dead 😆

@nscaife
Copy link

nscaife commented May 26, 2020

Just dropping a note to say that I was not able to get Cuckoo to work on Ubuntu 20.04 with KVM. I can install and use Cuckoo in Python 2.7, but the current libvirt requires python-libvirt>=6.0.0, which does not support Python 2.7.

@blshkv
Copy link

blshkv commented May 26, 2020

Somebody suggested https://github.com/kevoreilly/CAPEv2/ in our tracker

@benignbala
Copy link

@wroersma - Do you think some of us can be of help in your efforts to getting this to be py3 compatible ? I see that you have said that you have got this mostly working. So wondering if some additional help would be of use to you. Thanks

@wroersma
Copy link
Contributor

@benignbala So I have the front end converted to python 3 with a lot of changes here https://github.com/AUCR/cuckoo_plugin the actual python3 version I should release at some point here in a fork of cuckoo https://github.com/AUCR/cuckoo
Really I was pretty close and just lost passion for working on any open source projects. If you want to help still lmk I could attempt to make it so I can have help. In the past, any offered help just ends up in more work splitting things up just to not have anyone help with anything.

@mrtnrdl
Copy link

mrtnrdl commented Jan 22, 2021

@wroersma I'd be interested in helping you - if @benignbala would also be up to it even better.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

16 participants