Skip to main content

AWS Athena client

Project description

Pallas makes querying AWS Athena easy.

It is especially valuable for analyses in Jupyter Notebook, but it is designed to be generic and usable in any application.

Main features:

  • Friendly interface to AWS Athena.

  • Performance – Large results are downloaded directly from S3, which is much faster than using Athena API.

  • Pandas integration - Results can be converted to Pandas DataFrame with correct data types mapped automatically.

  • Local caching – Query results can be cached locally, so no data have to be downloaded when a Jupyter notebook is restarted.

  • Remote caching – Query IDs can be cached in S3, so team mates can reproduce results without incurring additional costs.

  • Fixes malformed results returned by Athena to DCL (for example DESCRIBE) queries.

  • Optional white space normalization for better caching.

  • Kills queries on KeyboardInterrupt.

import pallas
athena = pallas.environ_setup()
df = athena.execute("SELECT 'Hello world!").to_df()

Pallas is hosted at GitHub and it can be installed from PyPI.

Documentation

Documentation in the docs/ directory can be read online at Read the Docs.

Changelog

Changelog is the CHANGELOG.rst file. It is also available online in docs.

License

Copyright 2020 Akamai Technologies, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Contributing

By submitting a contribution (the “Contribution”) to this project,
and for good and valuable consideration, the receipt and sufficiency of which
are hereby acknowledged, you (the “Assignor”) irrevocably convey, transfer,
and assign the Contribution to the owner of the repository (the “Assignee”),
and the Assignee hereby accepts, all of your right, title, and interest in and
to the Contribution along with all associated copyrights, copyright
registrations, and/or applications for registration and all issuances,
extensions and renewals thereof (collectively, the “Assigned Copyrights”).
You also assign all of your rights of any kind whatsoever accruing under
the Assigned Copyrights provided by applicable law of any jurisdiction,
by international treaties and conventions and otherwise throughout the world.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pallas-0.7.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

pallas-0.7-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file pallas-0.7.tar.gz.

File metadata

  • Download URL: pallas-0.7.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for pallas-0.7.tar.gz
Algorithm Hash digest
SHA256 db42e0d7ab6656f5cc1d56ebbc7a1f7efa68fe1aec42958452cdcfc23a761fa2
MD5 458500a87a90404fc4fb4f332e2749cb
BLAKE2b-256 95e5b06a25bea9cfe617323dfe889f4444deadfec7d00b2bae448dd637e3c7ab

See more details on using hashes here.

File details

Details for the file pallas-0.7-py3-none-any.whl.

File metadata

  • Download URL: pallas-0.7-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for pallas-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0a082f3299642aa60285c6bf752c0a1e8883fe33f108d61cc49a1d0453e15bd5
MD5 d68e7690032ee41686bfd55a1f983bc3
BLAKE2b-256 df9c78fa5a98c19d2fc1e93a87fd8353942c3c895a99d5e28a4f88eecf00d196

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page