dtstools


Namedtstools JSON
Version 0.0.9 PyPI version JSON
download
home_page
SummaryThis package aims to provide features for working with Delta Lake.
upload_time2023-07-09 14:37:08
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT License Copyright (c) 2023 Reginaldo Silva Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords tablesize tablemaintenance help deltalake spark databricks fabric
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <a href="https://www.datainaction.dev/" title="Data In Action" target="_blank">
    <img alt="Homepage" src="https://img.shields.io/website?down_color=%23FF4136&down_message=Down&label=Homepage&logo=home-assistant&logoColor=white&up_color=%232ECC40&up_message=Up&url=https%3A%2F%2Fmegabyte.space&style=for-the-badge" />
  </a>
  <a href="https://github.com/reginaldosilva27/dtstools/blob/main/CONTRIBUTING.md" title="Contributing" target="_blank">
    <img alt="Contributing" src="https://img.shields.io/badge/Contributing-Guide-0074D9?logo=github-sponsors&logoColor=white&style=for-the-badge" />
  </a>
  <a href="https://join.slack.com/t/databricksbr/shared_invite/zt-1xe5tjy82-4O0fYQM8WnplLqrqIxQKqg" title="Slack" target="_blank">
    <img alt="Slack" src="https://img.shields.io/badge/Slack-Chat-e01e5a?logo=slack&logoColor=white&style=for-the-badge" />
  </a>
  <a href="https://github.com/reginaldosilva27/dtstools" title="GitHub" target="_blank">
    <img alt="GitHub" src="https://img.shields.io/badge/Mirror-GitHub-333333?logo=github&style=for-the-badge" />
  </a>
</div>
<div align="center">
  <a title="Version: 0.0.9" href="https://github.com/reginaldosilva27/dtstools" target="_blank">
    <img alt="Version: 0.0.9" src="https://img.shields.io/badge/version-0.0.9-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACNJREFUCNdjIACY//+BEp9hhM3hAzYQwoBIAqEDYQrCZLwAAGlFKxU1nF9cAAAAAElFTkSuQmCC&cacheSeconds=2592000&style=flat-square" />
  </a>
    <a title="License: MIT" href="https://github.com/reginaldosilva27/dtstools" target="_blank">
    <img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-yellow.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHpJREFUCNdjYOD/wMDAUP+PgYHxhzwDA/MB5gMM7AwMDxj4GBgKGGQYGCyAEEgbMDDwAAWAwmk8958xpIOI5zKH2RmOyhxmZjguAiKmgIgtQOIYmFgCIp4AlaQ9OczGkJYCJEAGgI0CGwo2HmwR2Eqw5SBnNIAdBHYaAJb6KLM15W/CAAAAAElFTkSuQmCC&style=flat-square" />
  </a>
    <a href="Spark" title="Platform" target="_blank">
    <img alt="GitLab" src="https://img.shields.io/badge/platform-spark-red" />
  </a>
</div>

<a href="#introducion" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<div align="center">
  <h1 align="center">DTSTOOLS: Help with your Delta Lake <i></i></h1>
  <h4 style="color: #18c3d1;">Library created by <a href="https://www.datainaction.dev/" target="_blank">Data In Action</a></h4><i></i>
</div>

```
#####    ######    #####   ######     ###      ###    ####      #####   
 ## ##     ##     ##   ##    ##      ## ##    ## ##    ##      ##   ##  
 ##  ##    ##     ##         ##     ##   ##  ##   ##   ##      ##       
 ##  ##    ##      #####     ##     ##   ##  ##   ##   ##       #####   
 ##  ##    ##          ##    ##     ##   ##  ##   ##   ##           ##  
 ## ##     ##     ##   ##    ##      ## ##    ## ##    ##      ##   ##  
#####      ##      #####     ##       ###      ###    #######   #####   
 ```

<a href="#table-of-content" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

## Table of Contents

- [Introduction](#introducion)
- [How to use dtstools](#how-to-use-dtstools)
- [How to use tableSize](#how-to-use-tableSize)
- [How to use tableMaintenance](#how-to-use-tableMaintenance)
- [How to use LastMaintenance](#last-maintenance)
- [Future implementations](#future-implementations)
- [Notes](#notes)
- [References](#references)



<a href="#introducion" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

## Introduction

| version | date | description |
|-----------|-------|----------|
| `v0.0.4` | 2023-06-17 | Basic features |
| `v0.0.9` | 2023-07-06 | Introduce lastMaintenance function |

> This package aims to provide functionality to work with Delta Lake.
>
> Facilitating the visualization of the actual size (Storage) of your Delta tables and their maintenance (Vacuum and Optimize)

> Below are the steps performed in order of execution:
1. Executed a **describe detail** to get the current location and size
2. A scan (dbutils.fs.ls) is performed on the Storage folders recursively to calculate the space used in the Storage, excluding the _delta_logs, with this we can calculate an average of how much can be released with Vacuum
3. Returns a Dataframet

<a href="#dtstools" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="how-to-use-dtstools"></a>
### How to use dtstools
**First install the package via PyPi**

```
pip install --upgrade dtstools
```

**Import the dtsTable module into your context**

```
from dtstools import dtsTable
```

**Use the function dtsTable.Help() to see examples of function usage and a summary of each function.**

```
dtsTable.Help()
```
<a href="#tablesize" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="how-to-use-tableSize"></a>
### How to use tableSize
> Find out the true size of your table

Call the tableSize function passing the database and table name, use display() to see the results.

**This function returns a Dataframe.**

```
dtsTable.tableSize(databaseName,tableName).display()
```

**Save the result in a Delta Table for monitoring and baseline**

```
dtsTable.tableSize(databaseName,tableName) \
 .write.format('delta') \
 .mode('append') \
 .saveAsTable("db_demo.tableSize",path='abfss://container@storage.dfs.core.windows.net/bronze/tableSize')
 ```

**Get the size of all tables in your database**
```
for tb in spark.sql(f"show tables from db_demo").collect():
    try:
        print(">> Collecting data... Table:",tb.tableName)
        dtsTable.tableSize(tb.database,tb.tableName) \
        .write.format('delta') \
        .mode('append') \
        .saveAsTable("db_demo.tableSize",path='abfss://container@storage.dfs.core.windows.net/bronze/tableSize')
    except Exception as e:
        print (f"###### Error to load tableName {tb.tableName} - {e}######")
```

<a href="#tableMaintenance" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="how-to-use-tableMaintenance"></a>
### How to use tableMaintenance
Apply maintenance to a table, Optimize and Vacuum.

| Parameter | Description | Type
| ------------- | ------------- | ------------- |
| schemaName | Name of the database where the table is created | string |
| tableName | Name of the table that will be applied in the maintenance | string |
| vacuum | True: Vacuum will run, False: Ignore vacuum | bool |
| optimize | True: OPTIMIZE will be executed, False: Skip OPTIMIZE | bool |
| zorderColumns | If informed and optimize is equal to True, Zorder is applied to the list of columns separated by a comma (,) | string |
| vacuumRetention | Number of hours to hold after vacuum runs | whole |
| Debug | Just print the result on screen | bool |

**Apply in a single table.**
```
dtsTable.tableMaintenance(schemaName="Database", tableName="tableName", zorderColumns='none', vacuumRetention=168, vacuum=True, optimize=True, debug=False)
```

**Apply maintenance to all tables for YOUR database**
```
for tb in spark.sql(f"show tables from db_demo").collect():
  dtsTable.tableMaintenance(schemaName=tb.database, tableName=tb.tableName, zorderColumns='none', vacuumRetention=168, vacuum=True, optimize=True, debug=False)
```

<a id="last-maintenance"></a>
### Last Maintenance

**Use the function dtsTable.LastMaintenance() to see summary vacuum result and optimize operations.**

```
dtsTable.lastMaintenance('database','tableName')
```


<a href="#future-implementations" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="future-implementations"></a>
## Future implementations

> 1. Use Unity Catalog<br>
> 2. Run for all databases<br>
> 3. Minimize costs with dbutils.fs.ls by looking directly into the transaction log<br>

<a href="#notes" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="notes"></a>
## Notes
> - For partitioned tables with many partitions, the execution time can take longer, so monitor the first executions well, the use is at your responsibility, despite not having any risk mapped so far, it can only generate more transactions for your storage
> - Cost of Azure Storage Transactions: Read Operations (per 10,000) - $0.0258 (two cents per 10,000 operations) (Estimated price as of 4/21/2023)

<a href="#references" style="width:100%"><img style="width:100%" src="https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png" /></a>

<a id="references"></a>
## References

https://github.com/reginaldosilva27/dtstools
<br>

> ``Author: Reginaldo Silva``
  - [Blog Data In Action](https://datainaction.dev/)
  - [Github](https://github.com/reginaldosilva27/dtstools)
  - [Dataside](https://www.dataside.com.br/)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "dtstools",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "tableSize,tableMaintenance,help,deltaLake,Spark,Databricks,Fabric",
    "author": "",
    "author_email": "Reginaldo Silva <reginaldo.silva@dataside.com.br>",
    "download_url": "https://files.pythonhosted.org/packages/0e/97/970bf671810dd7ce5581a98ed6a7557e0bd9ce431185f5ebd71fa38d86f1/dtstools-0.0.9.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <a href=\"https://www.datainaction.dev/\" title=\"Data In Action\" target=\"_blank\">\n    <img alt=\"Homepage\" src=\"https://img.shields.io/website?down_color=%23FF4136&down_message=Down&label=Homepage&logo=home-assistant&logoColor=white&up_color=%232ECC40&up_message=Up&url=https%3A%2F%2Fmegabyte.space&style=for-the-badge\" />\n  </a>\n  <a href=\"https://github.com/reginaldosilva27/dtstools/blob/main/CONTRIBUTING.md\" title=\"Contributing\" target=\"_blank\">\n    <img alt=\"Contributing\" src=\"https://img.shields.io/badge/Contributing-Guide-0074D9?logo=github-sponsors&logoColor=white&style=for-the-badge\" />\n  </a>\n  <a href=\"https://join.slack.com/t/databricksbr/shared_invite/zt-1xe5tjy82-4O0fYQM8WnplLqrqIxQKqg\" title=\"Slack\" target=\"_blank\">\n    <img alt=\"Slack\" src=\"https://img.shields.io/badge/Slack-Chat-e01e5a?logo=slack&logoColor=white&style=for-the-badge\" />\n  </a>\n  <a href=\"https://github.com/reginaldosilva27/dtstools\" title=\"GitHub\" target=\"_blank\">\n    <img alt=\"GitHub\" src=\"https://img.shields.io/badge/Mirror-GitHub-333333?logo=github&style=for-the-badge\" />\n  </a>\n</div>\n<div align=\"center\">\n  <a title=\"Version: 0.0.9\" href=\"https://github.com/reginaldosilva27/dtstools\" target=\"_blank\">\n    <img alt=\"Version: 0.0.9\" src=\"https://img.shields.io/badge/version-0.0.9-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAACNJREFUCNdjIACY//+BEp9hhM3hAzYQwoBIAqEDYQrCZLwAAGlFKxU1nF9cAAAAAElFTkSuQmCC&cacheSeconds=2592000&style=flat-square\" />\n  </a>\n    <a title=\"License: MIT\" href=\"https://github.com/reginaldosilva27/dtstools\" target=\"_blank\">\n    <img alt=\"License: MIT\" src=\"https://img.shields.io/badge/license-MIT-yellow.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAHpJREFUCNdjYOD/wMDAUP+PgYHxhzwDA/MB5gMM7AwMDxj4GBgKGGQYGCyAEEgbMDDwAAWAwmk8958xpIOI5zKH2RmOyhxmZjguAiKmgIgtQOIYmFgCIp4AlaQ9OczGkJYCJEAGgI0CGwo2HmwR2Eqw5SBnNIAdBHYaAJb6KLM15W/CAAAAAElFTkSuQmCC&style=flat-square\" />\n  </a>\n    <a href=\"Spark\" title=\"Platform\" target=\"_blank\">\n    <img alt=\"GitLab\" src=\"https://img.shields.io/badge/platform-spark-red\" />\n  </a>\n</div>\n\n<a href=\"#introducion\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<div align=\"center\">\n  <h1 align=\"center\">DTSTOOLS: Help with your Delta Lake <i></i></h1>\n  <h4 style=\"color: #18c3d1;\">Library created by <a href=\"https://www.datainaction.dev/\" target=\"_blank\">Data In Action</a></h4><i></i>\n</div>\n\n```\n#####    ######    #####   ######     ###      ###    ####      #####   \n ## ##     ##     ##   ##    ##      ## ##    ## ##    ##      ##   ##  \n ##  ##    ##     ##         ##     ##   ##  ##   ##   ##      ##       \n ##  ##    ##      #####     ##     ##   ##  ##   ##   ##       #####   \n ##  ##    ##          ##    ##     ##   ##  ##   ##   ##           ##  \n ## ##     ##     ##   ##    ##      ## ##    ## ##    ##      ##   ##  \n#####      ##      #####     ##       ###      ###    #######   #####   \n ```\n\n<a href=\"#table-of-content\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n## Table of Contents\n\n- [Introduction](#introducion)\n- [How to use dtstools](#how-to-use-dtstools)\n- [How to use tableSize](#how-to-use-tableSize)\n- [How to use tableMaintenance](#how-to-use-tableMaintenance)\n- [How to use LastMaintenance](#last-maintenance)\n- [Future implementations](#future-implementations)\n- [Notes](#notes)\n- [References](#references)\n\n\n\n<a href=\"#introducion\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n## Introduction\n\n| version | date | description |\n|-----------|-------|----------|\n| `v0.0.4` | 2023-06-17 | Basic features |\n| `v0.0.9` | 2023-07-06 | Introduce lastMaintenance function |\n\n> This package aims to provide functionality to work with Delta Lake.\n>\n> Facilitating the visualization of the actual size (Storage) of your Delta tables and their maintenance (Vacuum and Optimize)\n\n> Below are the steps performed in order of execution:\n1. Executed a **describe detail** to get the current location and size\n2. A scan (dbutils.fs.ls) is performed on the Storage folders recursively to calculate the space used in the Storage, excluding the _delta_logs, with this we can calculate an average of how much can be released with Vacuum\n3. Returns a Dataframet\n\n<a href=\"#dtstools\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"how-to-use-dtstools\"></a>\n### How to use dtstools\n**First install the package via PyPi**\n\n```\npip install --upgrade dtstools\n```\n\n**Import the dtsTable module into your context**\n\n```\nfrom dtstools import dtsTable\n```\n\n**Use the function dtsTable.Help() to see examples of function usage and a summary of each function.**\n\n```\ndtsTable.Help()\n```\n<a href=\"#tablesize\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"how-to-use-tableSize\"></a>\n### How to use tableSize\n> Find out the true size of your table\n\nCall the tableSize function passing the database and table name, use display() to see the results.\n\n**This function returns a Dataframe.**\n\n```\ndtsTable.tableSize(databaseName,tableName).display()\n```\n\n**Save the result in a Delta Table for monitoring and baseline**\n\n```\ndtsTable.tableSize(databaseName,tableName) \\\n .write.format('delta') \\\n .mode('append') \\\n .saveAsTable(\"db_demo.tableSize\",path='abfss://container@storage.dfs.core.windows.net/bronze/tableSize')\n ```\n\n**Get the size of all tables in your database**\n```\nfor tb in spark.sql(f\"show tables from db_demo\").collect():\n    try:\n        print(\">> Collecting data... Table:\",tb.tableName)\n        dtsTable.tableSize(tb.database,tb.tableName) \\\n        .write.format('delta') \\\n        .mode('append') \\\n        .saveAsTable(\"db_demo.tableSize\",path='abfss://container@storage.dfs.core.windows.net/bronze/tableSize')\n    except Exception as e:\n        print (f\"###### Error to load tableName {tb.tableName} - {e}######\")\n```\n\n<a href=\"#tableMaintenance\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"how-to-use-tableMaintenance\"></a>\n### How to use tableMaintenance\nApply maintenance to a table, Optimize and Vacuum.\n\n| Parameter | Description | Type\n| ------------- | ------------- | ------------- |\n| schemaName | Name of the database where the table is created | string |\n| tableName | Name of the table that will be applied in the maintenance | string |\n| vacuum | True: Vacuum will run, False: Ignore vacuum | bool |\n| optimize | True: OPTIMIZE will be executed, False: Skip OPTIMIZE | bool |\n| zorderColumns | If informed and optimize is equal to True, Zorder is applied to the list of columns separated by a comma (,) | string |\n| vacuumRetention | Number of hours to hold after vacuum runs | whole |\n| Debug | Just print the result on screen | bool |\n\n**Apply in a single table.**\n```\ndtsTable.tableMaintenance(schemaName=\"Database\", tableName=\"tableName\", zorderColumns='none', vacuumRetention=168, vacuum=True, optimize=True, debug=False)\n```\n\n**Apply maintenance to all tables for YOUR database**\n```\nfor tb in spark.sql(f\"show tables from db_demo\").collect():\n  dtsTable.tableMaintenance(schemaName=tb.database, tableName=tb.tableName, zorderColumns='none', vacuumRetention=168, vacuum=True, optimize=True, debug=False)\n```\n\n<a id=\"last-maintenance\"></a>\n### Last Maintenance\n\n**Use the function dtsTable.LastMaintenance() to see summary vacuum result and optimize operations.**\n\n```\ndtsTable.lastMaintenance('database','tableName')\n```\n\n\n<a href=\"#future-implementations\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"future-implementations\"></a>\n## Future implementations\n\n> 1. Use Unity Catalog<br>\n> 2. Run for all databases<br>\n> 3. Minimize costs with dbutils.fs.ls by looking directly into the transaction log<br>\n\n<a href=\"#notes\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"notes\"></a>\n## Notes\n> - For partitioned tables with many partitions, the execution time can take longer, so monitor the first executions well, the use is at your responsibility, despite not having any risk mapped so far, it can only generate more transactions for your storage\n> - Cost of Azure Storage Transactions: Read Operations (per 10,000) - $0.0258 (two cents per 10,000 operations) (Estimated price as of 4/21/2023)\n\n<a href=\"#references\" style=\"width:100%\"><img style=\"width:100%\" src=\"https://static.wixstatic.com/media/a794bc_b10266580b524f6586d3b2d835cfb036~mv2.png\" /></a>\n\n<a id=\"references\"></a>\n## References\n\nhttps://github.com/reginaldosilva27/dtstools\n<br>\n\n> ``Author: Reginaldo Silva``\n  - [Blog Data In Action](https://datainaction.dev/)\n  - [Github](https://github.com/reginaldosilva27/dtstools)\n  - [Dataside](https://www.dataside.com.br/)\n",
    "bugtrack_url": null,
    "license": "MIT License  Copyright (c) 2023 Reginaldo Silva  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "This package aims to provide features for working with Delta Lake.",
    "version": "0.0.9",
    "project_urls": {
        "Bug Tracker": "https://github.com/reginaldosilva27/dtstools",
        "DataInAction": "https://www.datainaction.dev/blog",
        "Dataside": "https://www.dataside.com.br",
        "README": "https://www.datainaction.dev/blog"
    },
    "split_keywords": [
        "tablesize",
        "tablemaintenance",
        "help",
        "deltalake",
        "spark",
        "databricks",
        "fabric"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4acda69064ba994517f6336a5f1255d330ed7c817a1b54da929d79c732f2d2fa",
                "md5": "8670ffb458adac468925549265201b8b",
                "sha256": "ec6054c2920626b14866af49cae26a5452cfa76554e5bcc5fdaedbd3e4c30d9e"
            },
            "downloads": -1,
            "filename": "dtstools-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8670ffb458adac468925549265201b8b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8675,
            "upload_time": "2023-07-09T14:37:02",
            "upload_time_iso_8601": "2023-07-09T14:37:02.652067Z",
            "url": "https://files.pythonhosted.org/packages/4a/cd/a69064ba994517f6336a5f1255d330ed7c817a1b54da929d79c732f2d2fa/dtstools-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e97970bf671810dd7ce5581a98ed6a7557e0bd9ce431185f5ebd71fa38d86f1",
                "md5": "4255cac11d8a714e47b94fb90ec71839",
                "sha256": "6eb720b7c6b012000b1ecf8ae78d9f950d45980739bd934f4e3d3147aeba6eef"
            },
            "downloads": -1,
            "filename": "dtstools-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "4255cac11d8a714e47b94fb90ec71839",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 11000,
            "upload_time": "2023-07-09T14:37:08",
            "upload_time_iso_8601": "2023-07-09T14:37:08.126257Z",
            "url": "https://files.pythonhosted.org/packages/0e/97/970bf671810dd7ce5581a98ed6a7557e0bd9ce431185f5ebd71fa38d86f1/dtstools-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-09 14:37:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "reginaldosilva27",
    "github_project": "dtstools",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "dtstools"
}
        
Elapsed time: 0.08793s