Skip to main content

XploreDev

Biblioteca Python e cookbook para experimentos em engenharia de software

Estrutura do repositório

src/xploredev/     → biblioteca (publicável no PyPI)
cookbook/          → scripts e notebooks de receitas locais
references/        → material de estudo

Módulos da biblioteca (src/xploredev/)

Pacotes por domínio; cada módulo segue o prefixo xdv_ (Xplore Development).

Pacote Arquivo Responsabilidade
io xdv_file.py Pastas, JSON e persistência de pandas (Parquet, etc.)
log xdv_log.py Logging estruturado e perfil de ambiente em execuções
utils xdv_environment.py Localizar a raiz do projeto (pyproject.toml)
utils xds_memory.py Conversão e utilitários de memória
environment xdv_localhost.py Estrutura de pastas para runs locais
lists xdv_sorting.py Algoritmos de ordenação e knapsack (estudo)

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 repositio (onde está o pyproject.toml):

uv sync --all-groups

O uv sync cria .venv/, instala dependências fixadas em uv.lock e registra xploredev em modo editável a partir de src/xploredev/.

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:

uv run nbstripout $(git ls-files '*.ipynb')

Validar CI/local sem alterar arquivos:

uv run nbstripout --verify $(git ls-files '*.ipynb')

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 semântico (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 & Push

git add .
uv run cz commit
git push
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 publish              # publica no PyPI (quando configurado)

Metadata

Release files for xploredev 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 xploredev 0.2.0
File Size Uploaded Provenance Actions
xploredev-0.2.0.tar.gz 9.2 kB Without provenance Details for xploredev-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 21.1 kB

Release files / xploredev-0.2.0.tar.gz

Download URL xploredev-0.2.0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
824ecb8d245bc3db66caba06c402a3b2b9b6553d8b70eaea4ba5c4b9711f5c9a
BLAKE2b-256 checksum
How to use checksums
e6ea36c2dbd19a546a234dcf974affb6a49ee65369f0fc2798de3f84b5e9b9f3
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 / xploredev-0.2.0-py3-none-any.whl

Download URL xploredev-0.2.0-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b78e7d46ce0c2072bf9137ed70058a4c20222fc6defefccf933af6e7b9b88877
BLAKE2b-256 checksum
How to use checksums
d39551eecb96d7a3d5e9056b857440958ba88ca59a1fe90b8db52a435dac4971
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 xploredev 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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

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