{ "info": { "author": "Mike Thoun", "author_email": "mikethoun@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3" ], "description": "# Redshift Auto Schema\n\nRedshift Auto Schema is a Python library that takes a delimited flat file or parquet file as input, parses it, and provides a variety of functions that allow for the creation and validation of tables within Amazon Redshift. For each field, the appropriate Redshift data type is inferred from the contents of the file.\n\n## Installation\n\nUse the package manager [pip](https://pip.pypa.io/en/stable/) to install Redshift Auto Schema.\n\n```bash\npip install redshift-auto-schema\n```\n\n## Usage\n\n```python\nfrom redshift_auto_schema import RedshiftAutoSchema\nimport psycopg2 as pg\n\nredshift_conn = pg.connect()\n\nnew_table = RedshiftAutoSchema(file='sample_file.parquet',\n schema='test_schema',\n table='test_table',\n conn=redshift_conn)\n\nif not new_table.check_table_existence():\n ddl = new_table.generate_table_ddl()\n\n with redshift_conn.cursor() as redshift_cursor:\n redshift_cursor.execute(ddl)\n```\n\n## Methods\n\n|NAME|DESCRIPTION|\n|---|---|\n|**get_column_list**|Returns column list based on header of file.|\n|**check_schema_existence**|Checks Redshift for the existence of a schema.|\n|**check_table_existence**|Checks Redshift for the existence of a table.|\n|**generate_schema_ddl**|Returns a SQL statement that creates a Redshift schema.|\n|**generate_schema_permissions**|Returns a SQL statement that grants schema usage to the default group.|\n|**generate_table_ddl**|Returns a SQL statement that creates a Redshift table.|\n|**generate_column_ddl**|Returns SQL statement(s) that adds missing column(s) a Redshift table.|\n|**generate_table_permissions**|Returns a SQL statement that grants table read access to the default group.|\n|**evaluate_table_ddl_diffs**|Returns a dataframe containing differences between generated and existing table DDL.|\n\n## Contributing\nPull requests are welcome.\n\n## License\n[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)\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/mikethoun/redshift-auto-schema", "keywords": "", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "redshift-auto-schema", "package_url": "https://pypi.org/project/redshift-auto-schema/", "platform": "", "project_url": "https://pypi.org/project/redshift-auto-schema/", "project_urls": { "Homepage": "https://github.com/mikethoun/redshift-auto-schema" }, "release_url": "https://pypi.org/project/redshift-auto-schema/0.1.11/", "requires_dist": [ "pandas", "numpy" ], "requires_python": "", "summary": "Auto-generate Redshift schemas from flat files", "version": "0.1.11" }, "last_serial": 5557778, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "fc03b66fda45ca9516610248063d9d64", "sha256": "921faee9fc488f4cbb04496acfdd5f1e41037eee7dd6c762116b3d9efb7777af" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "fc03b66fda45ca9516610248063d9d64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10521, "upload_time": "2019-07-18T22:44:12", "url": "https://files.pythonhosted.org/packages/49/77/6f020163b7a637d03a17d5e6f2528b245d03a797e91acb6196e3fc0e567b/redshift_auto_schema-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00a2c4ad61e3c070203d84d369059051", "sha256": "4136bc7cf894499c157a1e2b026262083564a56e15d85456082b48b0da4a6061" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.10.tar.gz", "has_sig": false, "md5_digest": "00a2c4ad61e3c070203d84d369059051", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5564, "upload_time": "2019-07-18T22:44:14", "url": "https://files.pythonhosted.org/packages/e8/b8/ab35a1a74bf37658b6e5ea20d1a8c705e699dee7a81effb03e319c98f93f/redshift-auto-schema-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "f5a3c711b47cdeaa4346a319626052c2", "sha256": "c595ad0a13dc0cbbba400f6c455ec3bd0c27ccacd7ece8e0ad0e5a2829d3a2d9" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "f5a3c711b47cdeaa4346a319626052c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10540, "upload_time": "2019-07-19T17:46:39", "url": "https://files.pythonhosted.org/packages/cf/a6/00f3baf4c21fc2556bc5f8e8b10b1855dea9e3ea9a4d17ce77366d36aefd/redshift_auto_schema-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abfd42dfefbdb15469f66b4ee7638323", "sha256": "a73c7c9ee00afe569a13200b54b43af9bcd42eb45f8df05e61c3a518ba722cf7" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.11.tar.gz", "has_sig": false, "md5_digest": "abfd42dfefbdb15469f66b4ee7638323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5590, "upload_time": "2019-07-19T17:46:40", "url": "https://files.pythonhosted.org/packages/ee/36/917238756f8df317966578ada28eac0636727f471fa3218ff3cb162cde49/redshift-auto-schema-0.1.11.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b3dbcc21f22c701161bb4f375fac2832", "sha256": "f1fbb4fbf0969d7e85004474ff4849dccad65c4b43066cb845eeef115fc6d903" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b3dbcc21f22c701161bb4f375fac2832", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10063, "upload_time": "2019-06-27T00:41:48", "url": "https://files.pythonhosted.org/packages/f4/00/52c8f22341d19eb9841420a784222e4d78256af6fce1991b57c7b6e81b76/redshift_auto_schema-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfdf7e06d553135611f722fe51a3f837", "sha256": "bdf0e125e270a6e69c2abef50c1ae5c0833b6fd58da9d0bb76f297c55a63500b" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bfdf7e06d553135611f722fe51a3f837", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5131, "upload_time": "2019-06-27T00:41:50", "url": "https://files.pythonhosted.org/packages/38/8f/cf2aef7b7a04d6cd5d5430f2a56684d1dce8a2cebb119608d0fb38c1f0a6/redshift-auto-schema-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7514b71fa6e10e5012c2949187bda03b", "sha256": "f517692a6ed6af59e65d3d12cc1038d861a8446aa42ab7a59a09a1d60fc173b2" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7514b71fa6e10e5012c2949187bda03b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10073, "upload_time": "2019-07-03T14:43:16", "url": "https://files.pythonhosted.org/packages/0b/7a/214f1dbe3c51249ff43a442e5bc872f9ff179aa807f1243584353706f7a4/redshift_auto_schema-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6abd6a4cab71c3a1531520f50df5205d", "sha256": "c2010f926fdd141b942fc4c25d28339dc81952cf3e6ba1c6a87281b4deda4ff5" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.3.tar.gz", "has_sig": false, "md5_digest": "6abd6a4cab71c3a1531520f50df5205d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5131, "upload_time": "2019-07-03T14:43:17", "url": "https://files.pythonhosted.org/packages/5d/ef/5a3aaebefc8381fcb35fd3768e66d572715afe4f0c693229198b0a01673a/redshift-auto-schema-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "147f562d6ad5c394342653dbe031b23e", "sha256": "28b22a811b8d68119e4fcce2b0be4961c62c6007e5d7426ae7fbf12dc591005f" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "147f562d6ad5c394342653dbe031b23e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10344, "upload_time": "2019-07-16T18:19:58", "url": "https://files.pythonhosted.org/packages/6e/be/c56ad5fff473c2300cc7375cee2b4e493afb76d4572915478963d15ee9d1/redshift_auto_schema-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15c56bfffac73983c78afbe2ebb50ec8", "sha256": "0a93c5ce1dedfdb5c72bda3eb11c3a32db0280a1ca81c92a0ca03f630cc06e78" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.4.tar.gz", "has_sig": false, "md5_digest": "15c56bfffac73983c78afbe2ebb50ec8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5395, "upload_time": "2019-07-16T18:20:00", "url": "https://files.pythonhosted.org/packages/e5/f4/cda63449cdaa377dd4a5c5658d1c18e55c4f8e1d96e13d77a7a960cc4e5c/redshift-auto-schema-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e62464b65e832302d11e69a5a67a7eda", "sha256": "42c8643d78f6471697a659ca4d8c826e69a3b8e8c55131a58dbe4cfafc4cb510" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e62464b65e832302d11e69a5a67a7eda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10359, "upload_time": "2019-07-17T03:37:33", "url": "https://files.pythonhosted.org/packages/fc/90/8b7aee0c35b18159a8ffcfcaa7a275f79adef89ce5d5bc7be17cf3b3c48f/redshift_auto_schema-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ee645d49174ead6af20f40f93bc107b", "sha256": "033a825cc1ca334b5f0d1b50dd9161c3c85f2ef10648a635541f8b957d743310" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.5.tar.gz", "has_sig": false, "md5_digest": "5ee645d49174ead6af20f40f93bc107b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5405, "upload_time": "2019-07-17T03:37:35", "url": "https://files.pythonhosted.org/packages/c4/b9/fd645d205843b1d16f424c43f29248f140af8d093505930d2c2e3f9712ab/redshift-auto-schema-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "91e850a357270c00b5b820c103e6957e", "sha256": "15fa82211c1b22335877ff9b61fd6556970398d52e19a7a18b442faeba6765c9" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "91e850a357270c00b5b820c103e6957e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10437, "upload_time": "2019-07-17T13:17:10", "url": "https://files.pythonhosted.org/packages/d9/7d/c29bcc75e766118d4827c9e679dc139c649cc4f37428225a236dc9f989fe/redshift_auto_schema-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd948937579c60797547cccc61cb3034", "sha256": "d15039d39291ce1a4ecf5bf5bf6489fb108c5b11e0f81b2dc98d872eca5e3135" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.6.tar.gz", "has_sig": false, "md5_digest": "cd948937579c60797547cccc61cb3034", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5497, "upload_time": "2019-07-17T13:17:11", "url": "https://files.pythonhosted.org/packages/6f/25/494e54a3fc108351431ece77152f962cbb8dc5356c2074fe327039dd3c3a/redshift-auto-schema-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7bd6b45677d76a698b8ca686f62fbb7a", "sha256": "d15c7e0705be8a016599439be983218766c0bcd76a79897622587c766c6c5133" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "7bd6b45677d76a698b8ca686f62fbb7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10438, "upload_time": "2019-07-17T18:15:54", "url": "https://files.pythonhosted.org/packages/ea/de/1f049ef5e84bad3ad81bba26384c728527afe450ca4d732f1806d16652cf/redshift_auto_schema-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "646501c7fa60d03053df3935c2934a0c", "sha256": "06681aa7b14013910e16ef3d4027143f60ec33bbaf7ef42d65c6c23aece4c3f6" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.7.tar.gz", "has_sig": false, "md5_digest": "646501c7fa60d03053df3935c2934a0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5492, "upload_time": "2019-07-17T18:15:55", "url": "https://files.pythonhosted.org/packages/65/19/72702a2b01d5af28d431a4d1cde437e37ace765dbe0bad7eecaa0d0c02b5/redshift-auto-schema-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e518caaf67536bfb31ad811b7c3f8e41", "sha256": "d7a3b540587e41f0e871b5730e2e2c49aaabd08ae7bfb46ffbfe08e26c503f0f" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e518caaf67536bfb31ad811b7c3f8e41", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10520, "upload_time": "2019-07-18T00:28:17", "url": "https://files.pythonhosted.org/packages/9f/f9/07574fb5609cae7c30f997b3f24af404ede69892182554d579075f03756e/redshift_auto_schema-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fcff152a32341ff9200123a0a81a7e4", "sha256": "b767fcc9cb74a88c48a357a1d96315751c7365b30dbe6930dc1a2ace5d17ad26" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.8.tar.gz", "has_sig": false, "md5_digest": "6fcff152a32341ff9200123a0a81a7e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5571, "upload_time": "2019-07-18T00:28:19", "url": "https://files.pythonhosted.org/packages/7c/48/82fa0d833811f25ca1c9dc4cf1894abe2d1b6ad7c64af01a2eb2f04dbb79/redshift-auto-schema-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "f7f35f2e360c651309237d64728f076b", "sha256": "5d1709d8351a20d742409531790688e6954bdcb4d5940d25c3ff5ee9a33881cd" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "f7f35f2e360c651309237d64728f076b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10482, "upload_time": "2019-07-18T19:46:58", "url": "https://files.pythonhosted.org/packages/83/22/f4c5462f7bd38156e8840a20f706b9c890e865ec928a0a1c4c7e259b0d6e/redshift_auto_schema-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbbbc5efd8fbfad4097276422d9d3dc2", "sha256": "d793ec6ff93c5031838fc3f6a12276385954f7a76e428e25041ccec5cb0b0901" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.9.tar.gz", "has_sig": false, "md5_digest": "bbbbc5efd8fbfad4097276422d9d3dc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5540, "upload_time": "2019-07-18T19:46:59", "url": "https://files.pythonhosted.org/packages/6f/44/33b73bf56bd421f653216fe69afc2476ee55d7a86d03677097ff40934101/redshift-auto-schema-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f5a3c711b47cdeaa4346a319626052c2", "sha256": "c595ad0a13dc0cbbba400f6c455ec3bd0c27ccacd7ece8e0ad0e5a2829d3a2d9" }, "downloads": -1, "filename": "redshift_auto_schema-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "f5a3c711b47cdeaa4346a319626052c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10540, "upload_time": "2019-07-19T17:46:39", "url": "https://files.pythonhosted.org/packages/cf/a6/00f3baf4c21fc2556bc5f8e8b10b1855dea9e3ea9a4d17ce77366d36aefd/redshift_auto_schema-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "abfd42dfefbdb15469f66b4ee7638323", "sha256": "a73c7c9ee00afe569a13200b54b43af9bcd42eb45f8df05e61c3a518ba722cf7" }, "downloads": -1, "filename": "redshift-auto-schema-0.1.11.tar.gz", "has_sig": false, "md5_digest": "abfd42dfefbdb15469f66b4ee7638323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5590, "upload_time": "2019-07-19T17:46:40", "url": "https://files.pythonhosted.org/packages/ee/36/917238756f8df317966578ada28eac0636727f471fa3218ff3cb162cde49/redshift-auto-schema-0.1.11.tar.gz" } ] }