PyAthena

PyAthena is a Python DB API 2.0 (PEP 249) client for Amazon Athena.

MIT License

Downloads
11.4M
Stars
459
Committers
23

Bot releases are visible (Hide)

PyAthena - v2.5.3

Published by github-actions[bot] over 2 years ago

  • Use new style classes #300
  • Remove next method for compatibility with Python2 #300
  • Add missing type hints #301
  • Support for compressed fields of table metadata in various data formats #302
  • Add public method for metadata retrieval to cursor class #303
PyAthena - v2.5.2

Published by github-actions[bot] over 2 years ago

  • Add missing partition key columns to get_columns in SQLAlchemy #293
    Thanks @nananathanh #292
PyAthena - v2.5.1

Published by github-actions[bot] over 2 years ago

  • Fix CAST from STRING to VARCHAR for string types with unspecified length in SQLAlchemy #291
    Thanks @luca-ferreri @andreaschiappacasse #289
PyAthena - v2.5.0

Published by github-actions[bot] over 2 years ago

  • Add support for table and column comments in SQLAlchemy #264
    Thanks @cansjt #263
  • Change partition repair in to_sql to ALTER TABLE ADD PARTITION instead of MSCK REPAIR TABLE #274 #282
    Thanks @Liam3851 #246, @bajram-hushi #276
  • Add AthenaPandas dialect #271
    https://github.com/laughingman7743/PyAthena#dialect--driver
  • Fix the syntax for combining the OFFSET and LIMIT clauses in SQLAlchemy #283
    Thanks @gruuya #280
  • Remove table constraints from CREATE TABLE statements in SQLAlchemy #281
    Thanks @terrylimnsv #279
  • Change to use INT as the column type for Integer type in SQLAlchemy DDL #281
    Thanks @terrylimnsv #279
  • If length is not specified in VARCHAR, use the STRING type in SQLAlchemy #286
    Thanks @terrylimnsv #279
  • Support VARCHAR type length in SQLAlchemy types #286
  • Support DECIMAL type precision and scale in SQLAlchemy types #286
  • Change metadata retrieval from information schema to API in SQLAlchemy #286
  • Support for the If_not_exists option in SQLAlchemy #281
  • Use to_dict instead of Iterrows in PandasCursor #284
    Thanks @avibrazil #254
PyAthena - v2.4.1

Published by github-actions[bot] almost 3 years ago

  • Fix to not include views when getting table names in SQLAlchemy.
  • Support getting view names in SQLAlchemy
    Thanks @aaronsteers, @cansjt. (#244)
PyAthena - v2.4.0

Published by github-actions[bot] almost 3 years ago

  • Drop support for Python 3.6.
  • Support for Python 3.10.
  • Add base dialect definition awsathena, independent of driver notation.
  • Add support for setting table location and compression in dialect options.
    Thanks @cansjt. (#258)
PyAthena - v2.3.2

Published by github-actions[bot] almost 3 years ago

  • Support partitions with special chars table names.
    Thanks @fernbach. (#255)
PyAthena - v2.3.1

Published by laughingman7743 almost 3 years ago

  • Allow the boto3 session object to pass as an argument to the connection method.
    Thanks @benkehoe. (#248)
PyAthena - v2.3.0

Published by laughingman7743 over 3 years ago

  • Support SQLAlchemy 1.4
PyAthena - v2.2.0

Published by laughingman7743 over 3 years ago

  • Change schema name (database name) to optional.
  • Support for catalog.
    Thanks @milanaleksic. (#220)
PyAthena - v1.11.5

Published by laughingman7743 over 3 years ago

  • Support duration_seconds, poll_interval and kill_on_interrupt options in SQLAlchemy connection string.
    Thanks @acountrec. (#214)
  • Support passing the execute method keyword arguments to the pandas.read_csv method arguments.
    Thanks @bjcttam, @austinlostinboston. (#169, #210)
PyAthena - v2.1.2

Published by laughingman7743 over 3 years ago

  • Support duration_seconds, poll_interval and kill_on_interrupt options in SQLAlchemy connection string.
    Thanks @acountrec. (#214)
  • Support passing the execute method keyword arguments to the pandas.read_csv method arguments.
    Thanks @bjcttam, @austinlostinboston. (#169, #210)
PyAthena - v2.1.1

Published by laughingman7743 almost 4 years ago

  • Change the default value of na_values in PandasCursor from None to empty character.
    If you want to change the behavior to that of the previous version, explicitly set na_values to None in the argument of the execute method.
    import pyathena
    from pyathena.pandas.cursor import PandasCursor
    cursor = pyathena.connect(s3_staging_dir="s3://YOUR_S3_BUCKET/path/to/",
                              region_name="us-west-2",
                              cursor_class=PandasCursor).cursor()
    df = cursor.execute("SELECT * FROM many_rows",
                        na_values=None).as_pandas()
    
    Thanks @EdwardJRoss. (#204)
PyAthena - v1.11.4

Published by laughingman7743 almost 4 years ago

  • Change the default value of na_values in PandasCursor from None to empty character.
    If you want to change the behavior to that of the previous version, explicitly set na_values to None in the argument of the execute method.
    import pyathena
    from pyathena.pandas_cursor import PandasCursor
    cursor = pyathena.connect(s3_staging_dir="s3://YOUR_S3_BUCKET/path/to/",
                              region_name="us-west-2",
                              cursor_class=PandasCursor).cursor()
    df = cursor.execute("SELECT * FROM many_rows",
                        na_values=None).as_pandas()
    
    Thanks @EdwardJRoss. (#204)
PyAthena - v1.11.3

Published by laughingman7743 almost 4 years ago

  • Support verify option in SQLAlchemy connection string.
    Thanks @tamersalama. (#188)
PyAthena - v2.1.0

Published by laughingman7743 almost 4 years ago

PyAthena - v2.0.2

Published by laughingman7743 almost 4 years ago

  • Fix poll_interval type from int to float.
    Thanks @naikordian. (#198)
PyAthena - v2.0.1

Published by laughingman7743 almost 4 years ago

  • Fix extra package names to lowercase.
    Thanks @Akeboshiwind. (#189)
  • Support verify option in SQLAlchemy connection string.
    Thanks @tamersalama. (#188)
  • Implement DictCursor & AsyncDictCursor.
    Thanks @jerome-white. (#194)
PyAthena - v2.0.0

Published by laughingman7743 almost 4 years ago

  • Drop support for Python2.7 and Python3.5.
  • Add type hints.
  • Move the classes related to Pandas to the package pyathena.pandas.
  • Remove the execution_time_in_millis field from the cursor and result set object. (Same as the engine_execution_time_in_millis field)
PyAthena - v1.11.2

Published by laughingman7743 about 4 years ago

  • Fix for empty string decimal value in PandasCursor.
      Thanks @hoffrocket. (laughingman7743/PyAthena/pull/157)
  • Changed to escape % characters, even if there are no parameters to bind in SQLAlchemy.
      Thanks @diego-serrano-glean. (laughingman7743/PyAthena/issues/160)