{ "info": { "author": "Erathos", "author_email": "heron@erathos.com", "bugtrack_url": null, "classifiers": [], "description": "# Lahap\nLahap is a utility package for AWS Athena and AWS Glue.\n\n\"Code\n\n## Usage\nIn order to run Lahap functions you must instantiate a Lahap session, a `boto3.Session` wrapper to manage boto3 calls. Use can provide any valid `boto3.Session` parameter to it.\n```python\nfrom lahap import create_session\n\nlahap = create_session(region_name=\"us-east-1\", profile_name=\"profile\") # using profile\nlahap = create_session(region_name=\"us-east-1\", aws_access_key_id=\"access-key\", \n aws_secret_access_key=\"secret-key\") # using explicit key credentials\n```\n\n### Truncate table\nDeletes all S3 files located in a Glue Table's S3 location. Be careful.\n```python\nlahap.truncate_table(database=\"catalog-database\", table=\"catalog-table\")\n```\n\n### Drop table\nDrops Glue Table with or without its respective data in S3. Be careful.\n```python\nlahap.drop_table(database=\"catalog-database\", table=\"catalog-table\", only_schema=False)\n```\n\n### Convert table to Parquet\nCopies a table storing it as Parquet files through CTA.\n```python\nlahap.convert_table_to_parquet(\n query_database=\"source-database\",\n query_table=\"source-table\",\n compression=\"parquet-compression\", # \"UNCOMPRESSED\", \"SNAPPY\", \"LZO\", \"GZIP\"\n result_database=\"result-database\",\n result_table=\"result-table-parquet\",\n external_location=\"s3://my-bucket/path\",\n)\n```\n\n### Convert query to Parquet\nCreate a new table from query and storing it as Parquet files through CTA.\n```python\nlahap.convert_query_to_parquet(\n query=\"SELECT * FROM database.table\",\n compression=\"parquet-compression\", # \"UNCOMPRESSED\", \"SNAPPY\", \"LZO\", \"GZIP\"\n result_database=\"result-database\",\n result_table=\"result-table-parquet\",\n external_location=\"s3://my-bucket/path\",\n)\n```\n\n## References\n### Amazon Athena CTA\nhttps://docs.aws.amazon.com/athena/latest/ug/create-table-as.html\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/erathoslabs/lahap", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Lahap", "package_url": "https://pypi.org/project/Lahap/", "platform": "", "project_url": "https://pypi.org/project/Lahap/", "project_urls": { "Homepage": "https://github.com/erathoslabs/lahap" }, "release_url": "https://pypi.org/project/Lahap/0.2.1/", "requires_dist": [ "boto3" ], "requires_python": "", "summary": "Utility package to AWS Athena and AWS Glue.", "version": "0.2.1", "yanked": false, "yanked_reason": null }, "last_serial": 6225812, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "e01df019c846cea3393c91a8e6677276", "sha256": "77cffa117ac47ae99bf1aba1d51963e011bfc7c29f7385b16246ca62c524136b" }, "downloads": -1, "filename": "Lahap-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "e01df019c846cea3393c91a8e6677276", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5563, "upload_time": "2019-10-18T17:46:22", "upload_time_iso_8601": "2019-10-18T17:46:22.136751Z", "url": "https://files.pythonhosted.org/packages/b8/dd/511bf9a3107fec721bcd8ea6af50cd972371bc39f5ff82a64d92afd61d42/Lahap-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "db26062fbe40944dce48b362d592037a", "sha256": "bbc274800f38e22995bccb9ce17136562f9781ba36739eb816a2805db907770e" }, "downloads": -1, "filename": "Lahap-0.0.2.tar.gz", "has_sig": false, "md5_digest": "db26062fbe40944dce48b362d592037a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3361, "upload_time": "2019-10-18T17:46:25", "upload_time_iso_8601": "2019-10-18T17:46:25.245096Z", "url": "https://files.pythonhosted.org/packages/02/fb/45e3b56842d501b485772df0dc2e921a6b744270df4ab2953263a96693cd/Lahap-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1": [ { "comment_text": "", "digests": { "md5": "365446c336f352f7e984c83710c51363", "sha256": "27985be91e255b7cfa8d287cd18e6d0e77d8c9e784240bdf3557daadb7f8b58a" }, "downloads": -1, "filename": "Lahap-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "365446c336f352f7e984c83710c51363", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5766, "upload_time": "2019-10-24T21:22:45", "upload_time_iso_8601": "2019-10-24T21:22:45.986779Z", "url": "https://files.pythonhosted.org/packages/40/6c/daa3567b13a739cbce1d5e33bc60bb4174d2d03e0a1d9b27b060905bbb36/Lahap-0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8a9b98eca59a09f11728cb6295893e8a", "sha256": "da32f1b87de9f057c818a1f082728bbcfc171131bd1bf8810e8b1d5d1406a4bc" }, "downloads": -1, "filename": "Lahap-0.1.tar.gz", "has_sig": false, "md5_digest": "8a9b98eca59a09f11728cb6295893e8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3551, "upload_time": "2019-10-24T21:22:48", "upload_time_iso_8601": "2019-10-24T21:22:48.220716Z", "url": "https://files.pythonhosted.org/packages/54/40/c3365b9b64f3af86cfbf61f26ab4f6229adfb3532c79e21b4cdaf6f1f4a2/Lahap-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2": [ { "comment_text": "", "digests": { "md5": "7c79c436442cd526b342fba57d465e3d", "sha256": "60d1992f6ed0250768bfe9a6cff813297b387193de7e4136fb752676fffd527f" }, "downloads": -1, "filename": "Lahap-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7c79c436442cd526b342fba57d465e3d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5943, "upload_time": "2019-11-13T20:51:06", "upload_time_iso_8601": "2019-11-13T20:51:06.645253Z", "url": "https://files.pythonhosted.org/packages/f2/cf/63b8b67fb539369ecf47a39792fc9166a16b41450f02672addef3c8d2311/Lahap-0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "64ec5f33e5fff8a43b1c851ba5f92f37", "sha256": "677a501f3f61f8c6834d43a6c87208083751d99bc8e61b5bf8ad7a8beab33ebc" }, "downloads": -1, "filename": "Lahap-0.2.tar.gz", "has_sig": false, "md5_digest": "64ec5f33e5fff8a43b1c851ba5f92f37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3759, "upload_time": "2019-11-13T20:51:07", "upload_time_iso_8601": "2019-11-13T20:51:07.896124Z", "url": "https://files.pythonhosted.org/packages/c3/d9/544abb8f201bcfc76c10f710cc62a7a724e75a3a7dcc908d7f4720464fec/Lahap-0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d280df7491ed802a1a1ab6b33b412ed2", "sha256": "a78c5ca878a7917d99aba456e0aa7a57ea99b8f7a38e6c97880701f51c1062ef" }, "downloads": -1, "filename": "Lahap-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d280df7491ed802a1a1ab6b33b412ed2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5981, "upload_time": "2019-12-01T22:56:03", "upload_time_iso_8601": "2019-12-01T22:56:03.662332Z", "url": "https://files.pythonhosted.org/packages/11/1c/22086b51ded1810e8bf18377c276c062a7f8b6444689ee8f11af7d4dbed2/Lahap-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "143c2701da7ccd3623279eca01036391", "sha256": "7f221317bdee3990262ea099e153d451a0129798e63d87c73e847433bcc54787" }, "downloads": -1, "filename": "Lahap-0.2.1.tar.gz", "has_sig": false, "md5_digest": "143c2701da7ccd3623279eca01036391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3774, "upload_time": "2019-12-01T22:56:05", "upload_time_iso_8601": "2019-12-01T22:56:05.284258Z", "url": "https://files.pythonhosted.org/packages/a9/56/766387387907e37021cdb8017266c91eefa013c3d7540f431f56603b4c6c/Lahap-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d280df7491ed802a1a1ab6b33b412ed2", "sha256": "a78c5ca878a7917d99aba456e0aa7a57ea99b8f7a38e6c97880701f51c1062ef" }, "downloads": -1, "filename": "Lahap-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d280df7491ed802a1a1ab6b33b412ed2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5981, "upload_time": "2019-12-01T22:56:03", "upload_time_iso_8601": "2019-12-01T22:56:03.662332Z", "url": "https://files.pythonhosted.org/packages/11/1c/22086b51ded1810e8bf18377c276c062a7f8b6444689ee8f11af7d4dbed2/Lahap-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "143c2701da7ccd3623279eca01036391", "sha256": "7f221317bdee3990262ea099e153d451a0129798e63d87c73e847433bcc54787" }, "downloads": -1, "filename": "Lahap-0.2.1.tar.gz", "has_sig": false, "md5_digest": "143c2701da7ccd3623279eca01036391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3774, "upload_time": "2019-12-01T22:56:05", "upload_time_iso_8601": "2019-12-01T22:56:05.284258Z", "url": "https://files.pythonhosted.org/packages/a9/56/766387387907e37021cdb8017266c91eefa013c3d7540f431f56603b4c6c/Lahap-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }