gitlake


Namegitlake JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/carloscorvaum/gitlake
SummaryFramework para usar repositorios git como data-lake
upload_time2025-08-08 23:20:00
maintainerNone
docs_urlNone
authorCarlos Corvaum
requires_python>=3.9
licenseMIT
keywords data-lake github git data data-analytics data-engineer engenharia-de-dados gitlake
VCS
bugtrack_url
requirements python-dotenv pandas pyarrow requests
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 🐙 GitLake

> Um mini data-lake versionado, leve e open-source, usando **GitHub + pandas + requests**

O **GitLake** é um framework simples e poderoso que permite salvar, versionar e gerenciar **coleções de dados** diretamente em repositórios do GitHub.

Ideal para projetos de dados, pipelines, protótipos de machine learning e experimentos que precisam de um **repositório remoto e versionado**, sem a complexidade e o custo de uma infraestrutura em nuvem.

---

## 🚀 Instalação

Via PyPI (em breve):
``pip install gitlake``

Ou instalando manualmente:

``git clone https://github.com/carloscorvaum/gitlake.git``
<br>
``cd gitlake``
<br>
``pip install``

## 🧠 Funcionalidades principais <br>

📁 Gerenciamento de coleções de DataFrames diretamente no GitHub <br>
💾 Suporte a formatos: csv, json, parquet <br>
✍️ Modos de escrita: overwrite, append <br>
🕒 Controle de metadados: created_at, updated_at <br>
🔐 Controle de versionamento Git <br>
🗑️ Exclusão lógica e física de coleções <br>
🔄 Totalmente baseado em GitHub como backend remoto <br>

---

## 📦 Requisitos

- python 3.9+ <br>
- pandas <br>
- requests <br>
- pyarrow <br>

Instalados automaticamente via:
``pip install gitlake``

---

## 📁 Estrutura do gitlake recomendada

```
.
├── metadata/
│   └── collections_registry.json      # Registro de todas as coleções
└── data/
    ├── raw/
    │   └── raw.parquet           # Dados da coleção
    ├── bronze/
    │   └── bronze.parquet
    └── silver/
        └── silver.parquet
```

---

## 🔐 Autenticação

Você precisa de um GitHub Personal Access Token (PAT) com permissão para ler e escrever no repositório desejado.
Gere um token aqui:
https://github.com/settings/tokens

Use esse token com segurança. Para repositórios privados, ele é obrigatório.

---

## 🧪 Casos de uso

- Publicar datasets com versionamento
- Salvar resultados de ETLs diretamente no GitHub
- Criar um "data catalog" simples para seu time
- Compartilhar coleções de dados versionadas em repositórios abertos

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/carloscorvaum/gitlake",
    "name": "gitlake",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "data-lake, github, git, data, data-analytics, data-engineer, engenharia-de-dados, gitlake",
    "author": "Carlos Corvaum",
    "author_email": "Carlos Corvaum <carloscorvaum@icloud.com>",
    "download_url": "https://files.pythonhosted.org/packages/bd/7e/11a3065d778ad04eecb03627a8461c6c871461ac5deb0c67dd3673bdf470/gitlake-0.1.1.tar.gz",
    "platform": null,
    "description": "# \ud83d\udc19 GitLake\r\n\r\n> Um mini data-lake versionado, leve e open-source, usando **GitHub + pandas + requests**\r\n\r\nO **GitLake** \u00e9 um framework simples e poderoso que permite salvar, versionar e gerenciar **cole\u00e7\u00f5es de dados** diretamente em reposit\u00f3rios do GitHub.\r\n\r\nIdeal para projetos de dados, pipelines, prot\u00f3tipos de machine learning e experimentos que precisam de um **reposit\u00f3rio remoto e versionado**, sem a complexidade e o custo de uma infraestrutura em nuvem.\r\n\r\n---\r\n\r\n## \ud83d\ude80 Instala\u00e7\u00e3o\r\n\r\nVia PyPI (em breve):\r\n``pip install gitlake``\r\n\r\nOu instalando manualmente:\r\n\r\n``git clone https://github.com/carloscorvaum/gitlake.git``\r\n<br>\r\n``cd gitlake``\r\n<br>\r\n``pip install``\r\n\r\n## \ud83e\udde0 Funcionalidades principais <br>\r\n\r\n\ud83d\udcc1 Gerenciamento de cole\u00e7\u00f5es de DataFrames diretamente no GitHub <br>\r\n\ud83d\udcbe Suporte a formatos: csv, json, parquet <br>\r\n\u270d\ufe0f Modos de escrita: overwrite, append <br>\r\n\ud83d\udd52 Controle de metadados: created_at, updated_at <br>\r\n\ud83d\udd10 Controle de versionamento Git <br>\r\n\ud83d\uddd1\ufe0f Exclus\u00e3o l\u00f3gica e f\u00edsica de cole\u00e7\u00f5es <br>\r\n\ud83d\udd04 Totalmente baseado em GitHub como backend remoto <br>\r\n\r\n---\r\n\r\n## \ud83d\udce6 Requisitos\r\n\r\n- python 3.9+ <br>\r\n- pandas <br>\r\n- requests <br>\r\n- pyarrow <br>\r\n\r\nInstalados automaticamente via:\r\n``pip install gitlake``\r\n\r\n---\r\n\r\n## \ud83d\udcc1 Estrutura do gitlake recomendada\r\n\r\n```\r\n.\r\n\u251c\u2500\u2500 metadata/\r\n\u2502   \u2514\u2500\u2500 collections_registry.json      # Registro de todas as cole\u00e7\u00f5es\r\n\u2514\u2500\u2500 data/\r\n    \u251c\u2500\u2500 raw/\r\n    \u2502   \u2514\u2500\u2500 raw.parquet           # Dados da cole\u00e7\u00e3o\r\n    \u251c\u2500\u2500 bronze/\r\n    \u2502   \u2514\u2500\u2500 bronze.parquet\r\n    \u2514\u2500\u2500 silver/\r\n        \u2514\u2500\u2500 silver.parquet\r\n```\r\n\r\n---\r\n\r\n## \ud83d\udd10 Autentica\u00e7\u00e3o\r\n\r\nVoc\u00ea precisa de um GitHub Personal Access Token (PAT) com permiss\u00e3o para ler e escrever no reposit\u00f3rio desejado.\r\nGere um token aqui:\r\nhttps://github.com/settings/tokens\r\n\r\nUse esse token com seguran\u00e7a. Para reposit\u00f3rios privados, ele \u00e9 obrigat\u00f3rio.\r\n\r\n---\r\n\r\n## \ud83e\uddea Casos de uso\r\n\r\n- Publicar datasets com versionamento\r\n- Salvar resultados de ETLs diretamente no GitHub\r\n- Criar um \"data catalog\" simples para seu time\r\n- Compartilhar cole\u00e7\u00f5es de dados versionadas em reposit\u00f3rios abertos\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Framework para usar repositorios git como data-lake",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/carloscorvaum/gitlake"
    },
    "split_keywords": [
        "data-lake",
        " github",
        " git",
        " data",
        " data-analytics",
        " data-engineer",
        " engenharia-de-dados",
        " gitlake"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "572b7f334d679801b3126c3157f3b30f57ff3f629d043312ad2f8f19ed4f04e7",
                "md5": "4e9a29394b725e377b7589df3b27eaf5",
                "sha256": "9d447722e613bbf8e86db69f7057b433cd32fe6b8e3eb46f8e201c9c82931f4f"
            },
            "downloads": -1,
            "filename": "gitlake-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4e9a29394b725e377b7589df3b27eaf5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 2314,
            "upload_time": "2025-08-08T23:19:59",
            "upload_time_iso_8601": "2025-08-08T23:19:59.704037Z",
            "url": "https://files.pythonhosted.org/packages/57/2b/7f334d679801b3126c3157f3b30f57ff3f629d043312ad2f8f19ed4f04e7/gitlake-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bd7e11a3065d778ad04eecb03627a8461c6c871461ac5deb0c67dd3673bdf470",
                "md5": "5c18ce78c2ef196048a0e12bdebf8f85",
                "sha256": "7b374d6bfc9e158ced3553cb239d4ee5e382f30658cbeda2e13570ae895ed6af"
            },
            "downloads": -1,
            "filename": "gitlake-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "5c18ce78c2ef196048a0e12bdebf8f85",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6344,
            "upload_time": "2025-08-08T23:20:00",
            "upload_time_iso_8601": "2025-08-08T23:20:00.842254Z",
            "url": "https://files.pythonhosted.org/packages/bd/7e/11a3065d778ad04eecb03627a8461c6c871461ac5deb0c67dd3673bdf470/gitlake-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-08 23:20:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "carloscorvaum",
    "github_project": "gitlake",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "python-dotenv",
            "specs": [
                [
                    ">=",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "pyarrow",
            "specs": [
                [
                    ">=",
                    "12.0.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.30.0"
                ]
            ]
        }
    ],
    "lcname": "gitlake"
}
        
Elapsed time: 2.30234s