Python SQL Query Engine for Serverless Environments
Project description
Query your data, no database required
Opteryx is a distributed SQL Engine designed for cloud-native environments.
Documentation | Examples | Contributing
Scalable
Designed to run in Knative and similar environments like Google Cloud Run, Opteryx can scale down to zero, and scale up to respond to thousands of concurrent queries within seconds.
High Availability
Shared nothing design means each query can run in a separate container instance making it nearly impossible for a rogue query to affect any other users.
If a cluster, region or datacentre is unavailable, if you have instances able to run in another location, Opteryx will keep responding to queries. (inflight queries may not be recovered)
Bring your own Files
Opteryx supports many popular data formats, including Parquet, ORC, Feather and JSONL, stored on local disk or on Cloud Storage. You can mix-and-match formats, so one dataset can be Parquet and another JSONL, and Opteryx will be able to JOIN across them.
Consumption-Based Billing
Opteryx is perfect for deployments to environments which are pay-as-you-use, like Google Cloud Run. Great for situations where you low-volume usage, or many environments, where the costs of many traditional database deployment can quickly add up.
Python Native
Opteryx is an Open Source Python library, it quickly and easily integrates into Python code, including Jupyter Notebooks, so you can start querying your data within a few minutes.
Time Travel
Designed for data analytics in environments where decisions need to be replayable, Opteryx allows you to query data as at a point in time in the past to replay decision algorithms against facts as they were known in the past. (data must be structured to enable temporal queries)
How Can I Contribute?
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.
If you have a suggestion for an improvement or a bug, raise a ticket or start a discussion.
Want to help build Opteryx? See the Contribution Guide.
Security
See the project security policy for information about reporting vulnerabilities.
License
Status
Opteryx is in beta. Beta means different things to different people, to us, being beta means:
- Core functionality has good regression test coverage to help ensure stability
- Some edge cases may have undetected bugs
- Performance tuning may be incomplete
- Changes are focused on feature completion, bugs, performance, reducing debt, and security
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for opteryx-0.0.3b17-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c50fc12db97614f1f49e29a12e4fa5187583281a122e1579cdb4eae23eb7a010 |
|
MD5 | 05cc2066a80d3c0348d4bbd177107c15 |
|
BLAKE2b-256 | b2d8e263d9aa9ad21270d688fe5828155efe0023f4ee9fdf498b0d5f89c29c9c |
Hashes for opteryx-0.0.3b17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c00a079b447a7e0b2dc30399b4f8defa2ab32abc63fd710aba614aaf2de7f1be |
|
MD5 | ef215050c6975a6b4f0a87800aad286b |
|
BLAKE2b-256 | ed10fdbacb24bd6925c5cb9fadbaa15bc000e86657f9896e2dd2d1a1b2f2a78b |
Hashes for opteryx-0.0.3b17-cp310-cp310-macosx_10_15_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5d6ca3bbe9b60301b865b9ab907a97270465ecd69d79054ba8c179d955a6794 |
|
MD5 | 198133d31b2577170074cd9be47d96e5 |
|
BLAKE2b-256 | 1719feefa7fa2346737c2f63df739e3f6cb9a36abdbe19f798635ba4cac93499 |
Hashes for opteryx-0.0.3b17-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed08e702f3c1523f8f6265931f438a1d372a3d34b037c723656e2f538e7fd9d6 |
|
MD5 | 0f2f961f4a5a7628a69fab35e23b6228 |
|
BLAKE2b-256 | d6e0a6c0b71673d7780bc02dad9172cd1172947730d5de591e7593a7c945708e |
Hashes for opteryx-0.0.3b17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50696515d842303a5963197ba31a9d9d1ff45bfd638f471a15ad842a18cd8ed3 |
|
MD5 | 2823a1f8d5631ab9174317630e163d84 |
|
BLAKE2b-256 | 4129decf978dc52815a42af82fc1c29b05bcb359b8346ac47d13ac8ac40a81e0 |
Hashes for opteryx-0.0.3b17-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03981f4f9fd8eb424f8800b5891badb912897bcf637055648367951cd6f8c094 |
|
MD5 | 9ff942282e24885316d6335bb6fd6bef |
|
BLAKE2b-256 | f7c65bb6665b0d68a732b296eb196cd7c81294be848b939a66f38a90bbd06fef |
Hashes for opteryx-0.0.3b17-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa83fe432eb9b66e6f87efa6cc183f201de002692e353a8558f03bdf87e80067 |
|
MD5 | 7b842348c919b2f64817b57e17eb643c |
|
BLAKE2b-256 | 60e3995b639d307aaf564737522d1aabf6ae04398bf0152df5c9b2dad2f8b1ba |
Hashes for opteryx-0.0.3b17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25eb869655615cbbe42d6f8800c5be61b0704a0986da88412ce780b55660ccfd |
|
MD5 | 7cd5a5c57abcb3158c261626e145cd22 |
|
BLAKE2b-256 | e038d5fd84a055706030f1ded2c1ed107c9b78a734d60db959fa2ec52fd1eb12 |
Hashes for opteryx-0.0.3b17-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4241980cbac9d26bbde01ac02b4a6e703c0c2d79a9c80f3cca13193b02d4cd25 |
|
MD5 | 5f012cbe2f78c1b5f498292e15615e57 |
|
BLAKE2b-256 | d21bf58a2373b312635a3e5b23676e4d32a387cc6b78bde065a368ea3895c7c2 |
Hashes for opteryx-0.0.3b17-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec95e8ea2bc1e2d239d2975d70170eef24070048a3eb66970045f8fcae80e070 |
|
MD5 | 40347dda5a8b096e27feeb5c4e81ff7a |
|
BLAKE2b-256 | e4b80c145dd1dcfb0614dfb85e1dcadc5b67947036236bdcc197166df25931cc |