vertica-python Becomes Vertica’s First Officially Supported Open Source Database Client

Tom Wall authored this post. We are very excited to announce that vertica-python, the open source python database client for Vertica created by Uber Technologies Inc., will officially become a supported database client for Vertica! This is a great milestone for Vertica and our community of users and developers. Not only do we expect to build a better Python ecosystem for Vertica with this project, but we also aim to open up Vertica’s protocol to the world to make for more interesting integrations and connectivity to Vertica from any programming environment.

Will the project remain open?

As part of this transition, Uber has kindly transferred control of the vertica-python GitHub repo to Vertica. The Vertica development team intends to keep the project open, and we are excited to share improvements and accept contributions faster than you may have expected from the normal Vertica release cycle. We hope that the community will contribute to and extend this work to other projects. In particular, we expect that this Python client will eventually serve as a complete reference implementation of the Vertica client protocol. While early versions of Vertica’s protocol have some resemblance to the Postgres protocol, there have been many deviations and extensions built to better support Vertica’s unique functionality that until now have not been well-known outside of the Vertica development organization. We hope that our work towards a better Python client will also accelerate the development of other open source connectors and protocol-aware tools for Vertica.

How will development happen?

Ongoing work will merge to master as it is ready and stable. We will periodically tag the repo to align with the Vertica release schedule, roughly 4 times per year, and publish a GitHub & PyPI release using the existing mechanisms that are in place in the project. Future Vertica releases may include prebuilt clients and documentation for convenience, but you’ll always be able to build yourself directly from the latest source on GitHub too. While the open source team at Uber and the broader customer community has gotten the project off to a great start, there are still many additions and extensions to build. To start, we will soon be pushing support for client load balancing & failover to master. If some particular protocol or functionality is important to you, you can let us know and help us prioritize the work via the GitHub issue tracker.

What will happen to vertica-db-client?

Vertica’s existing python interface will remain a supported client. However, as the world marches towards the Python 2 deprecation in early 2020, we expect vertica-python to eventually replace vertica-db-client, as it is more open and portable than vertica-db-client can be. Today the two have some incompatibilities, but in the coming months we will be working towards making vertica-python a full implementation of the database client functionality with all the functionality of the old client and then some. Our goal is to make it a drop-in replacement with all the same functionalities and behaviors available to make for a smooth transition.

Thank You!

Our sincerest thanks to Uber and the contributors that have helped make this a possibility. We will continue enhancing this project with the help of the Vertica community and hope see many more open Vertica integrations in the future! If you have any questions, you can reach the team by contacting vertica-python-client@groups.ext.hpe.com. Also visit the vertica-python GitHub page for downloads and the latest updates on the project at http://github.com/vertica/vertica-python.