Skip to main content

A command-line tool for converting strings between different case styles

Project description

case-cli

Python License PyPI

case-cli é uma ferramenta de linha de comando para normalizar cadeias de texto entre estilos diferentes (snake_case, camelCase, PascalCase e outros). Ela resolve o problema de ajustar nomes padronizados em scripts, documentação ou convenções de API sem depender de editores ou procedimentos manuais.

Funcionalidades

  • Converte entradas de texto para 15 estilos de escrita, incluindo upper, lower, snake, kebab, constant, ada, cobol, train, header, sentence e dot.
  • Aceita nomes completos e apelidos (por exemplo, snake ou s), além de ser case-insensitive ao identificar o estilo desejado.
  • Permite persistir um estilo padrão via case-cli set <style>, armazenando a preferência em ~/.case-cli/config.json ou no caminho configurado por CASE_CLI_CONFIG_PATH.
  • Sobrepõe o estilo padrão com a variável CASE_CLI_DEFAULT_CASE e ajusta o nível de log com CASE_CLI_LOG_LEVEL.
  • Arquitetura modular separa o parser CLI, mapeamento de estilos e lógica de cada estilo em módulos dedicados, facilitando a manutenção.

Demonstração

case-cli "hello world" --case=snake
# hello_world

case-cli set pascal
# Default case style set to 'pascal'.

case-cli "another example"
# AnotherExample

Ao executar sem --case, o utilitário consulta primeiro CASE_CLI_DEFAULT_CASE e depois o arquivo de configuração em ~/.case-cli/config.json para decidir o estilo.

Tecnologias e bibliotecas

  • Python 3.6+ (padrão do pacote, conforme pyproject.toml)
  • argparse e logging (CLI e registros)
  • json e os (persistência da configuração padrão)
  • pytest e pytest-cov para validação automatizada (dependências de desenvolvimento)

Organização do projeto

  • case_cli/ – pacote principal com o ponto de entrada (main.py), dispatcher (converter.py), persistência (config.py) e implementações por estilo (styles/).
  • tests/ – suíte de testes unitários para converter estilos e manipular configuração.
  • pyproject.toml – configuração de empacotamento e metadados do projeto.

Variáveis de ambiente

Variável Valor padrão Descrição
CASE_CLI_CONFIG_PATH ~/.case-cli/config.json Caminho do arquivo que guarda o estilo padrão.
CASE_CLI_DEFAULT_CASE (não definido) Sobrepõe temporariamente o estilo padrão ao converter.
CASE_CLI_LOG_LEVEL WARNING Ajusta o nível de log (DEBUG, INFO, WARNING, ERROR).

Licença

Distribuído sob a licença MIT. Consulte o arquivo LICENSE para a redação completa e os direitos de uso.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

case_cli-0.1.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

case_cli-0.1.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file case_cli-0.1.1.tar.gz.

File metadata

  • Download URL: case_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for case_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3e26356488105f994ee1389e34317941163674ba2c2398c8e8e8f1df79c7e12d
MD5 b83a8ae8d3794f3e41f7cdcd136b8ea0
BLAKE2b-256 8e8221a6e3dcfad319a246b55ebfff71bb4cb75ce4d17b748165d80a4a6ca713

See more details on using hashes here.

Provenance

The following attestation bundles were made for case_cli-0.1.1.tar.gz:

Publisher: release.yml on sigaocaue/case-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file case_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: case_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for case_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ff2fb5ffbee41c8f1fd1a421573dc86ec0255214be78a147bdb9334e14dd859
MD5 1f122778c9eef702cc8a3743eaff312c
BLAKE2b-256 b932468d3064ecbcbb446f740d09ecfb8ff8d68a03932f163aa442a1afe88ce7

See more details on using hashes here.

Provenance

The following attestation bundles were made for case_cli-0.1.1-py3-none-any.whl:

Publisher: release.yml on sigaocaue/case-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page