Skip to main content

XploreDS

Biblioteca Python e cookbook para experimentos em Data Science

Estrutura

src/xploreds/   → biblioteca (publicavel no PyPI)
cookbook/       → scripts e receitas locais
tests/          → testes automatizados

Módulos da biblioteca (src/xploreds/)

Pacotes por domínio; cada módulo segue o prefixo xds_ (Xplore Data Science).

Pacote Arquivo Responsabilidade
io xds_file.py Pastas, JSON e persistência de pandas (Parquet, Excel, etc.)
log xds_log.py Logging estruturado, runs em runs/ e perfil de ambiente
utils xds_environment.py Localizar a raiz do projeto (pyproject.toml)
utils xds_memory.py Conversão de tamanhos de memória (KB, MB, GB, …)
datetime xds_date_time.py Parsing, timezone e features temporais
data_handle xds_dataframe_pandas.py Criação, validação e manipulação de DataFrames
data_analysis xds_eda.py Exploração inicial e perfil do dataset
data_analysis xds_stats.py Testes, distribuições e resumos estatísticos
data_analysis xds_quality.py Schema, completude, consistência e integridade
data_analysis xds_outliers.py Detecção e tratamento de outliers
data_analysis xds_drift.py Drift de features e alvo entre bases ou no tempo
data_transformation xds_categorical_encoding.py Encoding categórico (one-hot, ordinal, etc.)
data_transformation xds_scaling.py Normalização e scaling de features numéricas
data_transformation xds_missing_inputation.py Detecção e imputação de missing values
data_transformation xds_datetime_encoding.py Extração e encoding de features de data/hora
data_visualization xds_plotly.py Gráficos interativos com Plotly
models xds_linear_regression.py Treino, predição e avaliação — regressão linear
models xds_logistic_regression.py Treino, predição e avaliação — regressão logística
models xds_evaluate_model.py Métricas, matriz de confusão e diagnósticos
models xds_model.py Contratos genéricos de modelo (em construção)
features xds_features.py Feature engineering (em construção)

Configuração do ambiente

Este projeto usa uv para ambientes e dependencias. Nao use requirements.txt nem pip install — tudo fica em pyproject.toml + uv.lock.

1. Instalar uv

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Inicializar ambiente do projeto

Na raiz do repositorio (onde esta o pyproject.toml):

uv sync --all-groups

O uv sync cria .venv/, instala as dependencias fixadas em uv.lock e registra xploreds em modo editavel apontando para src/xploreds/.

Para criar um projeto Python novo com uv (fora deste repo):

uv init --python 3.12
uv add pandas          # exemplo: adiciona dependencia e atualiza pyproject.toml + uv.lock
uv sync

3. Notebooks sem output no Git (nbstripout)

Este repo nao usa o pacote pre-commit para notebooks. A limpeza e feita pelo filtro Git do nbstripout (ja dependencia em pyproject.toml).

Uma vez por clone (depois de uv sync), na raiz do repo:

uv run nbstripout --install --attributes .gitattributes

Isso registra o filtro em .git/config e versiona regras em .gitattributes (*.ipynb filter=nbstripout). No git add, outputs sao removidos do que entra no indice; no working tree voce pode continuar executando o notebook normalmente.

Conferir se esta ativo:

uv run nbstripout --is-installed
uv run nbstripout --status

Se recriar o .venv ou mudar o caminho do Python, reinstale o filtro:

uv run nbstripout --install --attributes .gitattributes --force

Limpar notebooks ja versionados (one-shot), se necessario:

git ls-files -z '*.ipynb' | xargs -0 uv run nbstripout

Validar CI/local sem alterar arquivos:

git ls-files -z '*.ipynb' | xargs -0 uv run nbstripout --verify

4. Execução

Validação do setup:

uv run xploredev

Testes:

uv run pytest

Exemplo de cookbook:

uv run python cookbook/sorting/test_sorting.py

Versionamento semantico (Commitizen)

Commits seguem Conventional Commits via Commitizen. A versão do pacote vive em pyproject.toml ([project].version); o cz bump atualiza essa versão, o CHANGELOG.md e cria a tag Git vX.Y.Z.

Commits

git add .
uv run cz commit
Tipo Quando usar Bump
feat Nova funcionalidade minor
fix Correcao de bug patch
docs Documentacao —
refactor Refatoracao patch
test Testes —
chore Manutencao —

Release e publicacao

uv run cz bump          # bump de versao + CHANGELOG + tag
uv build                # gera dist/*.whl
uv run --with xploreds --no-project -- python -c "import xploreds"  # testar artefato
uv run --env-file .env --no-project -- uv publish              # publica no PyPI (quando configurado)
git push && git push --tags

Metadata

Release files for xploreds 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xploreds 0.2.0
File Size Uploaded Provenance Actions
xploreds-0.2.0.tar.gz 10.2 kB Without provenance Details for xploreds-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for xploreds 0.2.0
File Interpreter ABI Platform Actions
xploreds-0.2.0-py3-none-any.whl Python 3 none any Details for xploreds-0.2.0-py3-none-any.whl

Total release size: 25.3 kB

Release files / xploreds-0.2.0.tar.gz

Download URL xploreds-0.2.0.tar.gz
Size 10.2 kB
Tags Source
SHA-256 checksum
How to use checksums
59277cd654766478d838a68be4d8e0c752050b184a6c5f568eb726a1ecf771c7
BLAKE2b-256 checksum
How to use checksums
ec3a8bf34c43c2952312345a2c2633c09b4bec536cb167ebf9645aca20dee8a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / xploreds-0.2.0-py3-none-any.whl

Download URL xploreds-0.2.0-py3-none-any.whl
Size 15.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
483920dbf1f2aaa417ba83de8685ebaa067b5ae6b1b9e44aee050060a69db34d
BLAKE2b-256 checksum
How to use checksums
e6d7667386b8bc8c79e0a2895cf1593d482ec1a6154c8b0f958e8953e25fcf64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for xploreds 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page