cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
623
Views
5
Helpful
1
Replies

CURRI with Python 3

Hi All,

 

Currently utilising CURRI via Python 2.7 - working fine. However, have a requirement to migrate to Python 3.x for compliance reasons.


Unfortunately, the SocketServer application no longer functions as expected in 3.x.

I've ran all code via 2to3 to ensure that the code is to 3.x standards, but the error encountered resides in socketserver.py as  AttributeError: module 'socket' has no attribute '_fileobject' - this appears to be a known problem in the python community and no solutions have been found.

Has anyone here found a viable workaround for a stable service for ECC/CURRI? I'm exploring the possibility of migrating to tornado or similar and moving away from HTTPserver/SocketServer given the Devnet articles have not been updated since 2013 (https://developer.cisco.com/site/curri/downloads/sample-apps/) and TAC say it is outside of scope to make it work on versions later than 2.7, which took me by surprise given it is a vulnerable piece of software and ECC is a current feature in UCM!

Are there any alternatives to python 2.7 that people have successfully deployed?

 

Many thanks in advance for any responses.

1 Reply 1

davidn#
Cisco Employee
Cisco Employee

Hi Christopher,

The sample python app is very old and is not meant to work in production. Hopefully, in a not so distant future, we will try to provide something more modern with Python 3.x. I have been using FastAPI to write similar web services for different applications.
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.

For more info: https://fastapi.tiangolo.com/

 

Hope that helps.

Regards,

 

David