Skip to main content

Migration helpers for Snowflake SnowConvert for Teradata.

Project description

SnowConvert Helpers

SnowConvert Helpers is a set of classes with functions designed to facilitate the conversion of Teradata script files to Python files that Snowflake can interpret. Snowflake SnowConvert for Teradata can take in any Teradata SQL or scripts (BTEQ, FastLoad, MultiLoad and TPump) and convert them to functionally equivalent Snowflake SQL, JavaScript embedded in Snowflake SQL, and Python. Any output Python code from SnowConvert will call functions from these helper classes to complete the conversion and create a functionally equivalent output in Snowflake.

The Snowflake Connector for Python will also be called in order to connect to your Snowflake account, and run the output python code created by SnowConvert.

For more information, visit the following webpages:

Snowflake SnowConvert for Teradata Documentation

User Guide for snowconvert-helpers

Release Notes

  • v3.0.2 (Dec 15th, 2025)
  • v3.0.0 (Breaking changes) (Aug 22th, 2025)

    • Export functionality is no longer compatible with snowconvert-helpers 2.x. snowconvert-helpers 3.x or higher is now required
    • BREAKING CHANGE RATIONALE: In v2.x, Export.report() was incorrectly emulating BTEQ .EXPORT REPORT by outputting CSV-style data. In v3.x, this has been corrected to properly emulate BTEQ .EXPORT REPORT by generating formatted tables with headers and alignment.
    • Added Export.data for .EXPORT DATA emulation (unformatted data separated by a delimiter).
    • Added emulation for .SET FOLDLINE command within the Export helper.
    • Added emulation for .SET TITLES within the Export helper.
    • Added emulation for .MESSAGEOUT command through a new MessageOut helper.
    • Modified Export.report signature and created Export.data function with the previous behavior.

    Why This Change Was Necessary:

    In v2.x, Export.report() was incorrectly outputting CSV-style delimiter-separated data, which does not match the behavior of BTEQ's .EXPORT REPORT command. BTEQ .EXPORT REPORT generates formatted tables with aligned columns, headers, and separator lines. This has been corrected in v3.x:

    • Export.report() - Now correctly outputs formatted tables (proper BTEQ .EXPORT REPORT emulation)
    • Export.data() - New method that maintains the same behavior as v2.x Export.report().

    Migration Guide from v2.x to v3.x:

    If you were using Export.report() in v2.x, you need to update your code:

    v2.x (Old - Incorrect behavior):

    Export.report("output.txt", ",")  # Was incorrectly outputting CSV-style data
    

    v3.x (New - Choose the correct method):

    # Option 1: Keep the SAME behavior as v2.x (delimiter-separated, no formatting)
    Export.data("output.txt", ",")  # Same output as v2.x Export.report()
    
    # Option 2: Use the CORRECT BTEQ .EXPORT REPORT behavior (formatted table)
    Export.report("output.txt")  # Generates a properly formatted table with headers
    
  • v2.0.23 (Sep 5th, 2023)

    • Add error logging functionality for import_file_to_temptable, the errors are stored on a table with the name temp_table_name + _ERROR.
  • v2.0.22 (Aug 18th, 2023)

    • Setting Snowflake Inc proprietary information.
  • v2.0.21 (July 17, 2023)

    • Adding support for the REPEAT statement.
  • v2.0.20 (July 11, 2023)

    • Adding support for the USING REQUEST MODIFIER statement.
  • v2.0.17 (June 16, 2023)

    • Adding support for MLOAD layout conditions when calling the import_file_to_temptable() method.
  • v2.0.16 (May 17, 2023)

    • Adding support for FastLoad BEGIN LOADING through the class BeginLoading.
  • v2.0.15 (March 17, 2023)

    • Removing max_error default value of 1 to avoid exit on error.
    • Adding max_errorlevel to exit when the resulting errorlevel is greater or equal to the value set.
  • v2.0.14 (August 24, 2022)

    • Adding support for authentication via token in log_on function
    • Adding support for token in parameter as --param-SNOW_TOKEN=VALUE
  • v2.0.13 (December 1, 2021)

    • Adding support for authenticator value used directly in log_on function
    • Adding support for authenticator in parameter as --param-SNOW_AUTHENTICATOR=VALUE
    • Adding support for authenticator as the seventh positional argument passed to the python in the system command line arguments
  • v2.0.12 (October 20, 2021)

    • Fix for positional parameter in configure_log function
  • v2.0.11 (October 19, 2021)

    • Adding support for authenticator in snowconvert-helpers
  • v2.0.10 (October 18, 2021)

    • Removing innecesary print
  • v2.0.9 (October 18, 2021)

    • Fix for SNOW_DEBUG_COLOR usage when logging is disabled
  • v2.0.8 (October 15, 2021)

    • Adding posiblity to configure python logging for snowconvert-helpers
  • v2.0.7 (September 9, 2021)

    • Updating User Guide documentation for snowconvert-helpers
  • v2.0.6 (July 23, 2021)

    • Adding a new set of static functions to class Export: defaults, null, record_mode, separator_string, separator_width, side_titles, title_dashes_with, and width
    • Removing Deprecated to the functions of class Export
    • Adding new exec_file function to class helpers
  • v2.0.5 (June 21, 2021)

    • Enabling the use of command line parameters SNOW_USER, SNOW_PASSWORD, SNOW_ACCOUNT, SNOW_DATABASE, SNOW_WAREHOUSE, SNOW_ROLE and SNOW_QUERYTAG when passed like --param-VARNAME=VALUE to logon
  • v2.0.4 (June 17, 2021)

    • Setting the application name to Mobilize.net when the connection is executed overriding the default PythonConnector
  • v2.0.3 (June 16, 2021)

    • Added @staticmethod tag to static methods with @deprecated tag
  • v2.0.2 (May 25, 2021)

    • Update snowconvert-helpers internal documentation
    • Adding Deprecated requirement from >=1.2.12 to <2.0.0
    • Marking several functions as deprecated
  • v2.0.1 (May 12, 2021)

    • Update snowconvert-helpers user guide link
  • v2.0.0 (Breaking changes) (May 07, 2021)

    • Update snowflake-connector-python requirement from >=2.3.6 to >=2.4.3
    • Renaming module name from snowconvert_helpers to snowconvert
    • Renaming regular uses from snowconvert_helpers to snowconvert.helpers
    • Renaming execute_sql_statement to exec
    • Cleaning imports in __init__.py
    • The functions exec, drop_transient_table, fast_load, import_file_to_temptable and repeat_previous_sql_statement will now have the con parameter optional, when not passed it will be used the last connection
  • v1.10.1(Feb 23, 2021)

    • Renaming module name from snowconverthelpers to snowconvert_helpers
  • v1.10.0(Feb 12, 2021)

    • Adding imports in __init__.py
    • Adding more information web links in documentation package
  • v1.9.10(Jan 29, 2021)

    • Handling errors
    • Logging fixes
    • Use of Snow_Role environment variable for the role
    • Use of Snow_QueryTag envirnoment variable for the querytag
    • Added project description/documentation
    • Added License
    • Added Classifiers
    • Modify outputs to use the pip package
  • v1.9.7(Jan 18, 2021)

    • Supporting correct replacing of variables like $var or $(var) in sql execution

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

snowconvert_helpers-3.0.2.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snowconvert_helpers-3.0.2-py2.py3-none-any.whl (15.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file snowconvert_helpers-3.0.2.tar.gz.

File metadata

  • Download URL: snowconvert_helpers-3.0.2.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for snowconvert_helpers-3.0.2.tar.gz
Algorithm Hash digest
SHA256 c7991b7071df2bec7e3d62969adb27f58b98448246814b7a1dff7081b170f375
MD5 3a08ff8da398e17b1c97a8ce30bff44b
BLAKE2b-256 57f83591d50b557c1cfb8977860246f07b12f60f77eb15cf8401c18340d904c3

See more details on using hashes here.

File details

Details for the file snowconvert_helpers-3.0.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for snowconvert_helpers-3.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 45b4e64db23f569019d6e7cf3e970fdc2f75f199c95455eb4632917beabdb8c2
MD5 b31c7012a74d4e724d043ac28a8419bc
BLAKE2b-256 4fb28cf8715b1cc0609aae7aa9ee14876dba4fe9ca13d322b0003b18faf5049c

See more details on using hashes here.

Supported by

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