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:
- Faça um fork do repositório.
- Crie uma branch para a sua feature/bugfix.
- Envie um Pull Request.
🔗 Links Úteis
- Repositório no GitHub: dcalendario c
- Reporte de Issues: GitHub Issues
📝 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcalendario-0.2.2.tar.gz.
File metadata
- Download URL: dcalendario-0.2.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7341450687e5104915cb51f4c64071001d166b47a94a149dbb653e65e7e39472
|
|
| MD5 |
b5c15a30281711ffc00368ff30f3d93d
|
|
| BLAKE2b-256 |
a80406ec8717f02d4ecdaf19680111bcdf4276c244e0b032758e1e12fa4170ca
|
File details
Details for the file dcalendario-0.2.2-py3-none-any.whl.
File metadata
- Download URL: dcalendario-0.2.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e99cf9ffdab985b783386cb9b421c35bd30341bc7e7dcc5e90cb70d20d777e0
|
|
| MD5 |
754875b85bfb7beb49b431b52d4cac49
|
|
| BLAKE2b-256 |
5d620f8fae6c2c1f477d4b4e06a7d3ca081b3d8cc88635ac067e972bbe373ef6
|