sefazetllib


Namesefazetllib JSON
Version 0.1.55 PyPI version JSON
download
home_pagehttps://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1
Summarysefazetllib is a library that provides a simplified and abstracted way to construct ETL/ELT pipelines.
upload_time2024-04-08 19:27:44
maintainerBruno Santos
docs_urlNone
authorFelipe Gochi
requires_python<4.0.0,>=3.7.1
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # sefazetllib

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

---

**Documentation**: [https://main.d32to2oidohzrl.amplifyapp.com/](https://main.d32to2oidohzrl.amplifyapp.com/)

**Source code**: [AWS CodeCommit](https://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1)

---

**sefazetllib** is a library that provides a simplified and abstracted way to construct ETL/ELT pipelines.

## Features

- Easy to use and understand library for constructing ETL/ELT pipelines.
- Compatibility with popular data processing frameworks, such as [pandas](https://pandas.pydata.org/) and [PySpark](https://spark.apache.org/).
- Support for file formats such as CSV and Parquet.
- Provides the ability to extract, transform and load data with customizable configurations.

## Requirements

**sefazetllib** requires the following to run:

- [Python](https://www.python.org/) 3.7.1+
- [pandas](https://pandas.pydata.org/) 1.3+
- [PyArrow](https://arrow.apache.org/) 6.0+
- [PySpark](https://spark.apache.org/) 3.0+
- [PyDeequ](https://pydeequ.readthedocs.io/) 1.0+
- [Boto3](https://github.com/boto/boto3) 1.24+

## Installation

Use [pip](https://pip.pypa.io/en/stable/) to install **sefazetllib**:

```bash
pip install sefazetllib
```

## Usage

Here is an example of how to use the **sefazetllib**:

```Python
from typing import Tuple

from pandas import DataFrame

from sefazetllib import Builder
from sefazetllib.etl import ETL
from sefazetllib.extract import ExtractLocal
from sefazetllib.factory.platform import PlatformFactory
from sefazetllib.load import LoadLocal
from sefazetllib.transform import Transform
from sefazetllib.utils.key import SurrogateKey


@Builder
class TestingDataFrame(Transform):
    def execute(self) -> Tuple[str, DataFrame]:
        return (
            "dataframe",
            DataFrame(
                [["tom", 10], ["nick", 15], ["juli", 14]], columns=["Name", "Age"]
            ),
        )


(
    ETL()
    .setPlatform(PlatformFactory("Pandas").create(name="test_pandas"))
    .transform(TestingDataFrame)
    .load(
        LoadLocal()
        .setFileFormat("parquet")
        .setEntity("load_test")
        .setMode("overwrite")
        .setReference("dataframe")
        .setDuplicates(True)
        .setKey(SurrogateKey().setColumns(["Name", "Age"]).setDistribute(False))
    )
    .extract(
        ExtractLocal()
        .setFileFormat("parquet")
        .setUrl("load_test.parquet")
        .setReference("extract_test")
    )
)
```

## Testing

To run the unit tests, run the following command:

```bash
py -m unittest tests/main.py -v
```

## License

**sefazetllib** is released under the [Apache-2.0](/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1",
    "name": "sefazetllib",
    "maintainer": "Bruno Santos",
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.7.1",
    "maintainer_email": "bruno.santos@elogroup.com.br",
    "keywords": null,
    "author": "Felipe Gochi",
    "author_email": "felipe.gochi@elogroup.com.br",
    "download_url": "https://files.pythonhosted.org/packages/ca/dd/d42d17022c6ee4f03aa6dd2771eb4d8f99784b50c22da8da7e0780babc6d/sefazetllib-0.1.55.tar.gz",
    "platform": null,
    "description": "# sefazetllib\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n---\n\n**Documentation**: [https://main.d32to2oidohzrl.amplifyapp.com/](https://main.d32to2oidohzrl.amplifyapp.com/)\n\n**Source code**: [AWS CodeCommit](https://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1)\n\n---\n\n**sefazetllib** is a library that provides a simplified and abstracted way to construct ETL/ELT pipelines.\n\n## Features\n\n- Easy to use and understand library for constructing ETL/ELT pipelines.\n- Compatibility with popular data processing frameworks, such as [pandas](https://pandas.pydata.org/) and [PySpark](https://spark.apache.org/).\n- Support for file formats such as CSV and Parquet.\n- Provides the ability to extract, transform and load data with customizable configurations.\n\n## Requirements\n\n**sefazetllib** requires the following to run:\n\n- [Python](https://www.python.org/) 3.7.1+\n- [pandas](https://pandas.pydata.org/) 1.3+\n- [PyArrow](https://arrow.apache.org/) 6.0+\n- [PySpark](https://spark.apache.org/) 3.0+\n- [PyDeequ](https://pydeequ.readthedocs.io/) 1.0+\n- [Boto3](https://github.com/boto/boto3) 1.24+\n\n## Installation\n\nUse [pip](https://pip.pypa.io/en/stable/) to install **sefazetllib**:\n\n```bash\npip install sefazetllib\n```\n\n## Usage\n\nHere is an example of how to use the **sefazetllib**:\n\n```Python\nfrom typing import Tuple\n\nfrom pandas import DataFrame\n\nfrom sefazetllib import Builder\nfrom sefazetllib.etl import ETL\nfrom sefazetllib.extract import ExtractLocal\nfrom sefazetllib.factory.platform import PlatformFactory\nfrom sefazetllib.load import LoadLocal\nfrom sefazetllib.transform import Transform\nfrom sefazetllib.utils.key import SurrogateKey\n\n\n@Builder\nclass TestingDataFrame(Transform):\n    def execute(self) -> Tuple[str, DataFrame]:\n        return (\n            \"dataframe\",\n            DataFrame(\n                [[\"tom\", 10], [\"nick\", 15], [\"juli\", 14]], columns=[\"Name\", \"Age\"]\n            ),\n        )\n\n\n(\n    ETL()\n    .setPlatform(PlatformFactory(\"Pandas\").create(name=\"test_pandas\"))\n    .transform(TestingDataFrame)\n    .load(\n        LoadLocal()\n        .setFileFormat(\"parquet\")\n        .setEntity(\"load_test\")\n        .setMode(\"overwrite\")\n        .setReference(\"dataframe\")\n        .setDuplicates(True)\n        .setKey(SurrogateKey().setColumns([\"Name\", \"Age\"]).setDistribute(False))\n    )\n    .extract(\n        ExtractLocal()\n        .setFileFormat(\"parquet\")\n        .setUrl(\"load_test.parquet\")\n        .setReference(\"extract_test\")\n    )\n)\n```\n\n## Testing\n\nTo run the unit tests, run the following command:\n\n```bash\npy -m unittest tests/main.py -v\n```\n\n## License\n\n**sefazetllib** is released under the [Apache-2.0](/LICENSE).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "sefazetllib is a library that provides a simplified and abstracted way to construct ETL/ELT pipelines.",
    "version": "0.1.55",
    "project_urls": {
        "Documentation": "https://main.unavailable.amplifyapp.com/",
        "Homepage": "https://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1",
        "Repository": "https://sa-east-1.console.aws.amazon.com/codesuite/codecommit/repositories/jobs-lib-sefaz-ce/browse?region=sa-east-1"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9071e8a99b5a59fe5d736c82c59ee3333ed2a0c01269ebec7459d8c8e198fe7c",
                "md5": "8ab1cb152412187d5081bb0261cb74d7",
                "sha256": "ffee573cc8d38e96d5633b7436cf38d95a0fcc588bdf9df03acc513f8016e916"
            },
            "downloads": -1,
            "filename": "sefazetllib-0.1.55-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8ab1cb152412187d5081bb0261cb74d7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.7.1",
            "size": 59371,
            "upload_time": "2024-04-08T19:27:42",
            "upload_time_iso_8601": "2024-04-08T19:27:42.533945Z",
            "url": "https://files.pythonhosted.org/packages/90/71/e8a99b5a59fe5d736c82c59ee3333ed2a0c01269ebec7459d8c8e198fe7c/sefazetllib-0.1.55-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "caddd42d17022c6ee4f03aa6dd2771eb4d8f99784b50c22da8da7e0780babc6d",
                "md5": "a58b4145b09eb590c076827aaad46e1c",
                "sha256": "166faab96ec1fa92b0d16a6d58363fc1a4b7129bec1838450f69d6f97c222605"
            },
            "downloads": -1,
            "filename": "sefazetllib-0.1.55.tar.gz",
            "has_sig": false,
            "md5_digest": "a58b4145b09eb590c076827aaad46e1c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.7.1",
            "size": 33060,
            "upload_time": "2024-04-08T19:27:44",
            "upload_time_iso_8601": "2024-04-08T19:27:44.718786Z",
            "url": "https://files.pythonhosted.org/packages/ca/dd/d42d17022c6ee4f03aa6dd2771eb4d8f99784b50c22da8da7e0780babc6d/sefazetllib-0.1.55.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-08 19:27:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sefazetllib"
}
        
Elapsed time: 0.23377s