Git Product home page Git Product logo

Comments (6)

sitingren avatar sitingren commented on July 27, 2024

https://github.com/vertica/vertica-python/releases/tag/1.2.0

The latest version that supports python v3.6 is 1.2.0

from vertica-python.

scherepanov avatar scherepanov commented on July 27, 2024

Is it really vertica-python uses some functionality not available in python v3.6?

Python versions are very hard to upgrade.
All our current codebase are for python 3.6. Upgrading even to 3.7 is practically impossible due to massive codebase size. We even cannot get rid of python 2.

from vertica-python.

sitingren avatar sitingren commented on July 27, 2024

Yes, we have added and will add more functionalities that requires >= v3.7 to improve vertica-python's performance and development efficiency.

You can try to remove the below line from source code

python_requires=">=3.7",

and pip install the source code to see how it goes on python 3.6.

You should set up an ongoing process to update your dependencies regularly. Python 3.7 reached its end of life at the end of June 2023. In the short-term, vertica-python doesn't consider dropping Python 3.7 support, but at the very minimum you want to be on Python 3.8.

from vertica-python.

scherepanov avatar scherepanov commented on July 27, 2024

We installed vertica-python with python 3.6 and ran tests.
This is failing:

=========================== short test summary info ============================
FAILED vertica_python/tests/integration_tests/test_cursor.py::SimpleQueryTestCase::test_copy_local_glob
FAILED vertica_python/tests/integration_tests/test_loadbalance.py::PrepStmtLoadBalanceTestCase::test_failover_one_backup
FAILED vertica_python/tests/integration_tests/test_loadbalance.py::LoadBalanceTestCase::test_failover_one_backup
====== 3 failed, 341 passed, 10 skipped, 165 warnings in 81.87s (0:01:21) ======

Looking on what failed:
test_copy_local_glob writes a temporary file and runs a "COPY

FROM LOCAL" query to load it, everything runs but we get actual != expected
test_failover_one_backup (both of them) fail because of an error in the Python socket library (changelog for python 3.7 here):

self = <socket.socket fd=-1, family=AddressFamily.AF_UNSPEC, type=0, proto=0>
family = <AddressFamily.AF_INET6: 10>, type = <SocketKind.SOCK_STREAM: 1>
proto = 0, fileno = None
 
    def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None):
        # For user code address family and type values are IntEnum members, but
        # for the underlying _socket.socket they're just integers. The
        # constructor of _socket.socket converts the given argument to an
        # integer automatically.
>       _socket.socket.__init__(self, family, type, proto, fileno)
E       OSError: [Errno 97] Address family not supported by protocol

Nothing critical. Absence of IPv6 is just fine. Failing test for COPY LOCAL probably can be easily fixed.

Conclusion: may be you will consider including python 3.6 into supported versions? It does not looks hard to continue to support it.

from vertica-python.

scherepanov avatar scherepanov commented on July 27, 2024

I can submit PR to extend support of python to 3.6.
Would you accept this PR?

from vertica-python.

sitingren avatar sitingren commented on July 27, 2024

Python 3.6 has already reached its end of life in 2021, we won't consider support it again. You can customize vertica-python's source code to python 3.6 and apply to your codebase during your transition from Python 3.6 to the latest python version. Again, instead of one massive scary upgrade event every few years, it’s much safer to have a continuous, ongoing process of smaller upgrades.

from vertica-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.