Skip to main content

Pacote para gerar uma tabela dCalendário com Python

Project description

📆 dcalendario

dcalendario é uma biblioteca Python que cria uma tabela de calendário detalhada para análises de dados, incluindo informações úteis como ano, mês, trimestre, semana, entre outras. Essa tabela pode ser usada em projetos de ciência de dados, business intelligence (BI), e aplicações que necessitam de cálculos baseados em datas.

✨ Instalação

Instale a biblioteca diretamente do PyPI usando o pip:

pip install dcalendario

🚀 Funcionalidade

A biblioteca gera um DataFrame pandas com uma tabela de calendário detalhada, baseada em um intervalo de datas fornecido pelo usuário.

Principais Recursos:

  • Geração automática de datas entre o início e o fim do intervalo.
  • Adiciona colunas com informações úteis:
  • Ano, mês, nome do mês, trimestre, semestre, semana, entre outras.
  • Identifica se a data pertence ao ano/mês atual.
  • Indica se a data é no passado (comparando com a maior data do intervalo).
  • Suporte a múltiplas localizações para nomes de meses e dias.

🧰 Funções Disponíveis

criar_dcalendario(data_inicio: str, data_fim: str, locale: str = "en_US") -> pandas.DataFrame Gera a tabela de calendário.

Parâmetros:

start_date (str): Data de início do intervalo no formato YYYY-MM-DD. end_date (str): Data de término do intervalo no formato YYYY-MM-DD. locale (str): Localização para formatar os nomes dos meses e dias (ex.: pt_BR, en_US).

Retorno:

pandas.DataFrame: Uma tabela de calendário com as colunas detalhadas abaixo.

🗂️ Colunas da Tabela

🗂️ Colunas da Tabela

Coluna Tipo Descrição
Data date A data correspondente ao dia.
Ano int O ano da data.
NomeMes str Nome completo do mês (ex.: Janeiro).
MesAbre str Abreviação do mês (ex.: Jan).
MesAno str Mês e ano combinados no formato MMM-YY (ex.: Jan-24).
MesNum int Número do mês (1 a 12).
AnoMesINT int Ano e mês no formato YYYYMM (ex.: 202401).
InicioMes date Primeiro dia do mês.
Trimestre int Trimestre da data (1 a 4).
TrimestreAbreviado str Abreviação do trimestre (ex.: 1º Trim).
Bimestre str Bimestre da data (ex.: 1º Bim).
Semestre str Semestre da data (ex.: 1º Sem).
Semana int Número da semana dentro do mês.
DiaSemana int Número do dia na semana (0 = domingo, 6 = sábado).
NomeDia str Nome completo do dia da semana (ex.: Segunda-feira).
Passado bool True se a data for menor ou igual à maior data no intervalo; caso contrário, False.
AnoAtual str Ano Atual se for o ano corrente, ou o ano específico da data.
MesAtual str Mês Atual se for o mês corrente; caso contrário, o nome completo do mês.

📚 Exemplos de Uso

Importação e geração de calendário

from dcalendario import criar_dcalendario

# Gerar calendário para 2024
calendario = criar_dcalendario('2024-01-01', '2024-12-31', locale='pt_BR')

Saída (exemplo):

         Data   Ano   NomeMes MesAbre  MesAno  MesNum  AnoMesINT  ...  Semana  DiaSemana NomeDia Passado     AnoAtual     MesAtual
0  2024-01-01  2024  Janeiro     Jan  Jan-24       1    202401  ...       1          1   Segunda    True    Ano Atual   Mês Atual
1  2024-01-02  2024  Janeiro     Jan  Jan-24       1    202401  ...       1          2   Terça      True    Ano Atual   Janeiro
2  2024-01-03  2024  Janeiro     Jan  Jan-24       1    202401  ...       1          3   Quarta     True    Ano Atual   Janeiro
...

Filtrar datas do ano atual

# Datas do ano corrente
datas_ano_corrente = calendario[calendario['AnoAtual'] == 'Ano Atual']
print(datas_ano_corrente.head())

🛠️ Testes

Para executar os testes unitários, rode o seguinte comando na raiz do projeto:

python -m unittest discover tests

🛡️ Contribuições

Contribuições são bem-vindas! Siga os passos abaixo para colaborar:

  1. Faça um fork do repositório.
  2. Crie uma branch para a sua feature/bugfix.
  3. Envie um Pull Request.

🔗 Links Úteis

📝 Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.

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

dcalendario-0.2.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

dcalendario-0.2.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file dcalendario-0.2.1.tar.gz.

File metadata

  • Download URL: dcalendario-0.2.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.13

File hashes

Hashes for dcalendario-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a7a1d1f65b60f362c71f96241a8b28fe08776b6268b661f43b033ea81d61f86c
MD5 d1f7e9cab689a06f00c3bba598912832
BLAKE2b-256 d0f72ce773353721bda7c01a869bd39a18642e3f5cb48ebf247449f0d4f5f2a5

See more details on using hashes here.

File details

Details for the file dcalendario-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: dcalendario-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.13

File hashes

Hashes for dcalendario-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c28cfae9a9a50bd0229225582cf3d81ae1ffebeb7655eff132c5498f1dfdfb1b
MD5 c02b05b897b053bfee312804a7eb2c1c
BLAKE2b-256 68465a8fa95b656c7f846fd45a807170582f956eb1a5759ea85edddcfd090817

See more details on using hashes here.

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