quati


Namequati JSON
Version 1.1.6b0 PyPI version JSON
download
home_pageNone
SummaryDynamic data eng. functions to accelerate development and coding
upload_time2025-08-01 00:31:55
maintainerNone
docs_urlNone
authorlucaslealll
requires_python>=3.10
licenseMIT
keywords quick actions toolkit functions gspread datetime gsheets email selenium cookies sleep wait
VCS
bugtrack_url
requirements asttokens attrs cachetools certifi charset-normalizer comm debugpy decorator exceptiongroup executing google-api-core google-auth google-auth-oauthlib google-cloud-bigquery google-cloud-bigquery-storage google-cloud-core google-crc32c google-resumable-media googleapis-common-protos grpcio grpcio-status gspread h11 idna ipykernel jedi jupyter_client jupyter_core matplotlib-inline nest-asyncio numpy oauthlib outcome packaging pandas pandas-gbq parso pexpect platformdirs prompt_toolkit proto-plus protobuf psutil ptyprocess pure_eval pyarrow pyasn1 pyasn1_modules pydata-google-auth Pygments pyparsing PySocks python-dateutil pytz pyzmq requests requests-oauthlib rsa selenium six sniffio sortedcontainers stack-data tornado traitlets trio trio-websocket typing_extensions urllib3 wcwidth wsproto tqdm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
	<picture>
	<!-- <source media="(prefers-color-scheme: dark)" srcset="assets/quati_white.svg"> -->
	<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/quati-dev/quati/refs/heads/main/assets/quati.svg">
		<img src="https://raw.githubusercontent.com/quati-dev/quati/refs/heads/main/assets/quati.svg" width="100%">
	</picture>
	<br><br><br>
	<hr>
<h1>quati: A python <u>Quick Actions Toolkit</u> for data engeneering</h1>

<img src="https://img.shields.io/badge/Author-lucaslealll-blue?logo=github&logoColor=white"> <img src="https://img.shields.io/badge/Status-Beta-DF1F72"> <img src="https://img.shields.io/badge/License-MIT-750014.svg">
<br>
<img src="https://img.shields.io/pypi/v/quati.svg?label=Version&color=white"> <img src="https://img.shields.io/pypi/pyversions/quati?logo=python&logoColor=white&label=Python"> <img src="https://img.shields.io/badge/Code Style-Black Formatter-111.svg"> 
<br>
<img src="https://img.shields.io/pypi/dm/quati.svg?label=PyPI Downloads"> 
</div>

## What is it?
**quati** provides dynamic functions aimed at data engineering, offering
a wide range of collections to accelerate development. It has a comprehensive and
flexible ecosystem of **tools**, **libraries**, and **community resources**,
allowing data engineers to easily build and deploy applications.

<h2>Table of Contents</h2><br>

- [What is it?](#what-is-it)
- [Main Features](#main-features)
- [Where to get it / Install](#where-to-get-it--install)
- [Documentation](#documentation)
- [License](#license)
- [Dependencies](#dependencies)

## Main Features
Here are just a few of the things that pandas does well:

- [`norm_str_num_values()`](doc/data.md#norm_str_num_values): Converts string-based number values to their numerical equivalents
- [`norm_rename_columns()`](doc/data.md#norm_rename_columns): Renames DataFrame columns based on a normalization function
- [`sync_dtypes_with_table()`](doc/google.md#sync_dtypes_with_bigquery_table): Synchronize the data types of a Pandas DataFrame with a BigQuery table's schema
- [`quick_query()`](doc/google.md#quick_query): Executes a BigQuery SQL query and returns the result as a Pandas DataFrame
- [`gsheets_get_worksheet()`](doc/google.md#gsheets_get_worksheet): Import a worksheet object from gsheets
- [`gsheets_get_worksheet_df()`](doc/google.md#gsheets_get_worksheet_df): Import a worksheet object from gsheets as a pandas dataframe
- [`gsheets_dedup()`](doc/google.md#gsheets_dedup): Returns dataframe where the column passed as parameter is considered the core set for duplicate data row remover
- [`gsheets_worksheet_next_available_row()`](doc/google.md#gsheets_worksheet_next_available_row): Return the ID of the next cell into which data can be entered
- [`gsheets_update()`](doc/google.md#gsheets_update): Update a Google Sheets spreadsheet from a reference column
- [`send_email()`](doc/messenger.md#send_email): Send an email (Types: error, tip, note, important or warning) with main info about it
- [`delete_file()`](doc/system.md#delete_file): Deletes any specified file
- [`rename_file()`](doc/system.md#rename_file): Renames a file
- [`search_file()`](doc/system.md#search_file): Searches for the existence of a file
- [`progress_bar()`](doc/system.md#progress_bar): Waits for the specified number of seconds with an optional progress bar
- [`get_system_info()`](doc/system.md#get_system_info): Retrieves system information using the 'uname -a' command
- [`start_browser()`](doc/scrapping.md#start_browser): Initialize a Chrome browser using Selenium
- [`export_cookies()`](doc/scrapping.md#export_cookies): Export cookies from browser
- [`import_cookies()`](doc/scrapping.md#import_cookies): Import cookies to browser
- [`check_element()`](doc/scrapping.md#check_element): Function to check if an element exists on a web page based on the provided XPath
- [`esc_or_click()`](doc/scrapping.md#esc_or_click): Function to either press the ESC key or click on an element on a web page

## Where to get it / Install
The source code is currently hosted on GitHub at: https://github.com/quati-dev/quati

<!-- 
> [!IMPORTANT]
> It's essential to **upgrade pip** to the latest version to ensure compatibility with the library.
> ```sh
> # Requires the latest pip
> pip install --upgrade pip
> ```
-->
- [PyPI](https://pypi.org/project/quati/)
	```sh
	# PyPI
	pip install quati
	```
- GitHub
	```sh
	# or GitHub
	pip install git+https://github.com/quati-dev/quati.git
	```

## Documentation
The official documentation is here [Documentation](doc/DOCUMENTATION.md).

## License
[MIT](LICENSE)

## Dependencies
- [NumPy](https://numpy.org/)
- [Pandas](https://pandas.pydata.org/)
- [Selenium](https://www.selenium.dev/)
- [gspread](https://docs.gspread.org/)

See the [full installation instructions](INSTALLATION.md) for minimum supported versions of required, recommended and optional dependencies.

<hr>

[⇧ Go to Top](#table-of-contents)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "quati",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "quick, actions, toolkit, functions, gspread, datetime, gsheets, email, selenium, cookies, sleep, wait",
    "author": "lucaslealll",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/9a/d6/aaee12aa7360bbc4d620d9d094038c1cb43ec1b4bc50e6e93cfb7ef2a408/quati-1.1.6b0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\t<picture>\n\t<!-- <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/quati_white.svg\"> -->\n\t<source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/quati-dev/quati/refs/heads/main/assets/quati.svg\">\n\t\t<img src=\"https://raw.githubusercontent.com/quati-dev/quati/refs/heads/main/assets/quati.svg\" width=\"100%\">\n\t</picture>\n\t<br><br><br>\n\t<hr>\n<h1>quati: A python <u>Quick Actions Toolkit</u> for data engeneering</h1>\n\n<img src=\"https://img.shields.io/badge/Author-lucaslealll-blue?logo=github&logoColor=white\"> <img src=\"https://img.shields.io/badge/Status-Beta-DF1F72\"> <img src=\"https://img.shields.io/badge/License-MIT-750014.svg\">\n<br>\n<img src=\"https://img.shields.io/pypi/v/quati.svg?label=Version&color=white\"> <img src=\"https://img.shields.io/pypi/pyversions/quati?logo=python&logoColor=white&label=Python\"> <img src=\"https://img.shields.io/badge/Code Style-Black Formatter-111.svg\"> \n<br>\n<img src=\"https://img.shields.io/pypi/dm/quati.svg?label=PyPI Downloads\"> \n</div>\n\n## What is it?\n**quati** provides dynamic functions aimed at data engineering, offering\na wide range of collections to accelerate development. It has a comprehensive and\nflexible ecosystem of **tools**, **libraries**, and **community resources**,\nallowing data engineers to easily build and deploy applications.\n\n<h2>Table of Contents</h2><br>\n\n- [What is it?](#what-is-it)\n- [Main Features](#main-features)\n- [Where to get it / Install](#where-to-get-it--install)\n- [Documentation](#documentation)\n- [License](#license)\n- [Dependencies](#dependencies)\n\n## Main Features\nHere are just a few of the things that pandas does well:\n\n- [`norm_str_num_values()`](doc/data.md#norm_str_num_values): Converts string-based number values to their numerical equivalents\n- [`norm_rename_columns()`](doc/data.md#norm_rename_columns): Renames DataFrame columns based on a normalization function\n- [`sync_dtypes_with_table()`](doc/google.md#sync_dtypes_with_bigquery_table): Synchronize the data types of a Pandas DataFrame with a BigQuery table's schema\n- [`quick_query()`](doc/google.md#quick_query): Executes a BigQuery SQL query and returns the result as a Pandas DataFrame\n- [`gsheets_get_worksheet()`](doc/google.md#gsheets_get_worksheet): Import a worksheet object from gsheets\n- [`gsheets_get_worksheet_df()`](doc/google.md#gsheets_get_worksheet_df): Import a worksheet object from gsheets as a pandas dataframe\n- [`gsheets_dedup()`](doc/google.md#gsheets_dedup): Returns dataframe where the column passed as parameter is considered the core set for duplicate data row remover\n- [`gsheets_worksheet_next_available_row()`](doc/google.md#gsheets_worksheet_next_available_row): Return the ID of the next cell into which data can be entered\n- [`gsheets_update()`](doc/google.md#gsheets_update): Update a Google Sheets spreadsheet from a reference column\n- [`send_email()`](doc/messenger.md#send_email): Send an email (Types: error, tip, note, important or warning) with main info about it\n- [`delete_file()`](doc/system.md#delete_file): Deletes any specified file\n- [`rename_file()`](doc/system.md#rename_file): Renames a file\n- [`search_file()`](doc/system.md#search_file): Searches for the existence of a file\n- [`progress_bar()`](doc/system.md#progress_bar): Waits for the specified number of seconds with an optional progress bar\n- [`get_system_info()`](doc/system.md#get_system_info): Retrieves system information using the 'uname -a' command\n- [`start_browser()`](doc/scrapping.md#start_browser): Initialize a Chrome browser using Selenium\n- [`export_cookies()`](doc/scrapping.md#export_cookies): Export cookies from browser\n- [`import_cookies()`](doc/scrapping.md#import_cookies): Import cookies to browser\n- [`check_element()`](doc/scrapping.md#check_element): Function to check if an element exists on a web page based on the provided XPath\n- [`esc_or_click()`](doc/scrapping.md#esc_or_click): Function to either press the ESC key or click on an element on a web page\n\n## Where to get it / Install\nThe source code is currently hosted on GitHub at: https://github.com/quati-dev/quati\n\n<!-- \n> [!IMPORTANT]\n> It's essential to **upgrade pip** to the latest version to ensure compatibility with the library.\n> ```sh\n> # Requires the latest pip\n> pip install --upgrade pip\n> ```\n-->\n- [PyPI](https://pypi.org/project/quati/)\n\t```sh\n\t# PyPI\n\tpip install quati\n\t```\n- GitHub\n\t```sh\n\t# or GitHub\n\tpip install git+https://github.com/quati-dev/quati.git\n\t```\n\n## Documentation\nThe official documentation is here [Documentation](doc/DOCUMENTATION.md).\n\n## License\n[MIT](LICENSE)\n\n## Dependencies\n- [NumPy](https://numpy.org/)\n- [Pandas](https://pandas.pydata.org/)\n- [Selenium](https://www.selenium.dev/)\n- [gspread](https://docs.gspread.org/)\n\nSee the [full installation instructions](INSTALLATION.md) for minimum supported versions of required, recommended and optional dependencies.\n\n<hr>\n\n[\u21e7 Go to Top](#table-of-contents)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Dynamic data eng. functions to accelerate development and coding",
    "version": "1.1.6b0",
    "project_urls": {
        "Homepage": "https://github.com/quati-dev/quati"
    },
    "split_keywords": [
        "quick",
        " actions",
        " toolkit",
        " functions",
        " gspread",
        " datetime",
        " gsheets",
        " email",
        " selenium",
        " cookies",
        " sleep",
        " wait"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac652216991b91dec00140485fa7728450884228b7de119e1c8a4452b293956b",
                "md5": "bbf79d0cf9b9e7e167ecb92089129d6b",
                "sha256": "6c1fe24e2438dd32886cc7056505bf45189f9ead195e3d1aa6b1623ae2153ce3"
            },
            "downloads": -1,
            "filename": "quati-1.1.6b0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bbf79d0cf9b9e7e167ecb92089129d6b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 4572,
            "upload_time": "2025-08-01T00:31:53",
            "upload_time_iso_8601": "2025-08-01T00:31:53.230087Z",
            "url": "https://files.pythonhosted.org/packages/ac/65/2216991b91dec00140485fa7728450884228b7de119e1c8a4452b293956b/quati-1.1.6b0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9ad6aaee12aa7360bbc4d620d9d094038c1cb43ec1b4bc50e6e93cfb7ef2a408",
                "md5": "36f70fdcfc273326da298a1c6598a919",
                "sha256": "15200b7d0414b4b01d17f5d12206b83f60d5d127b03b8228d2dc9a65c411954a"
            },
            "downloads": -1,
            "filename": "quati-1.1.6b0.tar.gz",
            "has_sig": false,
            "md5_digest": "36f70fdcfc273326da298a1c6598a919",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 4888,
            "upload_time": "2025-08-01T00:31:55",
            "upload_time_iso_8601": "2025-08-01T00:31:55.289618Z",
            "url": "https://files.pythonhosted.org/packages/9a/d6/aaee12aa7360bbc4d620d9d094038c1cb43ec1b4bc50e6e93cfb7ef2a408/quati-1.1.6b0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-01 00:31:55",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "quati-dev",
    "github_project": "quati",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "asttokens",
            "specs": [
                [
                    "==",
                    "2.4.1"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "24.2.0"
                ]
            ]
        },
        {
            "name": "cachetools",
            "specs": [
                [
                    "==",
                    "5.5.0"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.8.30"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "comm",
            "specs": [
                [
                    "==",
                    "0.2.2"
                ]
            ]
        },
        {
            "name": "debugpy",
            "specs": [
                [
                    "==",
                    "1.8.7"
                ]
            ]
        },
        {
            "name": "decorator",
            "specs": [
                [
                    "==",
                    "5.1.1"
                ]
            ]
        },
        {
            "name": "exceptiongroup",
            "specs": [
                [
                    "==",
                    "1.2.2"
                ]
            ]
        },
        {
            "name": "executing",
            "specs": [
                [
                    "==",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "google-api-core",
            "specs": [
                [
                    "==",
                    "2.22.0"
                ]
            ]
        },
        {
            "name": "google-auth",
            "specs": [
                [
                    "==",
                    "2.35.0"
                ]
            ]
        },
        {
            "name": "google-auth-oauthlib",
            "specs": [
                [
                    "==",
                    "1.2.1"
                ]
            ]
        },
        {
            "name": "google-cloud-bigquery",
            "specs": [
                [
                    "==",
                    "2.34.4"
                ]
            ]
        },
        {
            "name": "google-cloud-bigquery-storage",
            "specs": [
                [
                    "==",
                    "2.27.0"
                ]
            ]
        },
        {
            "name": "google-cloud-core",
            "specs": [
                [
                    "==",
                    "2.4.1"
                ]
            ]
        },
        {
            "name": "google-crc32c",
            "specs": [
                [
                    "==",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "google-resumable-media",
            "specs": [
                [
                    "==",
                    "2.7.2"
                ]
            ]
        },
        {
            "name": "googleapis-common-protos",
            "specs": [
                [
                    "==",
                    "1.65.0"
                ]
            ]
        },
        {
            "name": "grpcio",
            "specs": [
                [
                    "==",
                    "1.67.1"
                ]
            ]
        },
        {
            "name": "grpcio-status",
            "specs": [
                [
                    "==",
                    "1.48.2"
                ]
            ]
        },
        {
            "name": "gspread",
            "specs": [
                [
                    "==",
                    "5.5.0"
                ]
            ]
        },
        {
            "name": "h11",
            "specs": [
                [
                    "==",
                    "0.14.0"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "ipykernel",
            "specs": [
                [
                    "==",
                    "6.29.5"
                ]
            ]
        },
        {
            "name": "jedi",
            "specs": [
                [
                    "==",
                    "0.19.1"
                ]
            ]
        },
        {
            "name": "jupyter_client",
            "specs": [
                [
                    "==",
                    "8.6.3"
                ]
            ]
        },
        {
            "name": "jupyter_core",
            "specs": [
                [
                    "==",
                    "5.7.2"
                ]
            ]
        },
        {
            "name": "matplotlib-inline",
            "specs": [
                [
                    "==",
                    "0.1.7"
                ]
            ]
        },
        {
            "name": "nest-asyncio",
            "specs": [
                [
                    "==",
                    "1.6.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.25.2"
                ]
            ]
        },
        {
            "name": "oauthlib",
            "specs": [
                [
                    "==",
                    "3.2.2"
                ]
            ]
        },
        {
            "name": "outcome",
            "specs": [
                [
                    "==",
                    "1.3.0.post0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "21.3"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "1.3.4"
                ]
            ]
        },
        {
            "name": "pandas-gbq",
            "specs": [
                [
                    "==",
                    "0.14.1"
                ]
            ]
        },
        {
            "name": "parso",
            "specs": [
                [
                    "==",
                    "0.8.4"
                ]
            ]
        },
        {
            "name": "pexpect",
            "specs": [
                [
                    "==",
                    "4.9.0"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.6"
                ]
            ]
        },
        {
            "name": "prompt_toolkit",
            "specs": [
                [
                    "==",
                    "3.0.48"
                ]
            ]
        },
        {
            "name": "proto-plus",
            "specs": [
                [
                    "==",
                    "1.25.0"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "==",
                    "3.20.3"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    "==",
                    "6.1.0"
                ]
            ]
        },
        {
            "name": "ptyprocess",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "pure_eval",
            "specs": [
                [
                    "==",
                    "0.2.3"
                ]
            ]
        },
        {
            "name": "pyarrow",
            "specs": [
                [
                    "==",
                    "7.0.0"
                ]
            ]
        },
        {
            "name": "pyasn1",
            "specs": [
                [
                    "==",
                    "0.6.1"
                ]
            ]
        },
        {
            "name": "pyasn1_modules",
            "specs": [
                [
                    "==",
                    "0.4.1"
                ]
            ]
        },
        {
            "name": "pydata-google-auth",
            "specs": [
                [
                    "==",
                    "1.8.2"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "3.2.0"
                ]
            ]
        },
        {
            "name": "PySocks",
            "specs": [
                [
                    "==",
                    "1.7.1"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2024.2"
                ]
            ]
        },
        {
            "name": "pyzmq",
            "specs": [
                [
                    "==",
                    "26.2.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "requests-oauthlib",
            "specs": [
                [
                    "==",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "rsa",
            "specs": [
                [
                    "==",
                    "4.9"
                ]
            ]
        },
        {
            "name": "selenium",
            "specs": [
                [
                    "==",
                    "4.7.2"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.16.0"
                ]
            ]
        },
        {
            "name": "sniffio",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "sortedcontainers",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "stack-data",
            "specs": [
                [
                    "==",
                    "0.6.3"
                ]
            ]
        },
        {
            "name": "tornado",
            "specs": [
                [
                    "==",
                    "6.4.1"
                ]
            ]
        },
        {
            "name": "traitlets",
            "specs": [
                [
                    "==",
                    "5.14.3"
                ]
            ]
        },
        {
            "name": "trio",
            "specs": [
                [
                    "==",
                    "0.27.0"
                ]
            ]
        },
        {
            "name": "trio-websocket",
            "specs": [
                [
                    "==",
                    "0.11.1"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.12.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "1.26.20"
                ]
            ]
        },
        {
            "name": "wcwidth",
            "specs": [
                [
                    "==",
                    "0.2.13"
                ]
            ]
        },
        {
            "name": "wsproto",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.67.1"
                ]
            ]
        }
    ],
    "lcname": "quati"
}
        
Elapsed time: 2.19645s