Implementação em Python de biblioteca para trabalhar com Competencias no estilo YYYYMM.
Project description
Python Competencias
Implementação em Python de biblioteca para trabalhar com Competencias no estilo YYYYMM.
Retorna a lista de competêncais dada uma faixa de competências, a competência atual, a competência passada e a competência futura. Como atual entende-se o timestamp do now(). Cada competência tem os atributos as_int, as_decimal, as_date, as_datetime, as_time e as_string, conforme documentado abaixo.
Como usar
pip install competencias
from competencias import Competencia
# para a competência atual
Competencias.current
# para a próxima competência
Competencias.current.next
# para a competência anterior
Competencias.current.previous
# para a competência 202301
Competencias.get_instance(date(2023, 1, 25))
# para a competência 2022/12, partindo da competência 2023/01
Competencias.get_instance(date(2023, 1, 25)).previous
# para as competências entre 2022/01 e 2023/11
for c in Competencias.range(date(2022, 1, 1), date(2023, 11, 2)):
print(c)
# para o ano da competência
Competencias.get_instance(date(2024, 2, 25)).date.year == 2024
Competencias.get_instance(date(2024, 2, 25)).year == 2024
# para o mês da competência
Competencias.get_instance(date(2024, 2, 25)).date.month == 2
Competencias.get_instance(date(2024, 2, 25)).month == 2
# para como uma inteiro 202301
Competencia.get_instance(date(2023, 1, 30)).as_int == 202301
# para como uma float 2023.01
Competencia.get_instance(date(2023, 1, 30)).as_float == 2023.01
# para como uma float (2023, 1)
Competencia.get_instance(date(2023, 1, 30)).as_tuple == (2023, 1)
# para o primeito dia da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).first_date == date(2023, 12, 1)
# para o último dia da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).last_date == date(2023, 12, 31)
# para o primeiro carimbo de tempo da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).first_datetime == datetime(2023, 12, 1, 0, 0, 0)
# para o último carimbo de tempo da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).last_datetime == datetime(2023, 12, 31, 23, 59, 59)
# para o primeiro carimbo de tempo da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).first_timestamp == 1701399600.0
# para o último carimbo de tempo da competência 2023/12
Competencia.get_instance(date(2023, 12, 25)).last_timestamp == 1704077999.0
# Para validar datas mínimas, todas linhas
class CompetenciaComMinimo(Competencia):
MIN_DATE = date(2023, 11, 1)
MIN_DATETIME = datetime(2023, 11, 1, 23, 59, 59)
MIN_INT = 1700530519
MIN_FLOAT = 1700530519.0
# Agora todas as linhas abaixo vão lançar um exception
CompetenciaComMinimo.get_instance(date(2023, 12, 1))
CompetenciaComMinimo.get_instance(datetime(2023, 12, 1, 23, 59, 59))
CompetenciaComMinimo.get_instance(1800530519)
CompetenciaComMinimo.get_instance(1800530519.0)
class CompetenciaComMinimo(Competencia):
MIN_DATE = date(2023, 11, 1)
MIN_DATETIME = datetime(2023, 11, 1, 23, 59, 59)
MIN_INT = 1700530519
MIN_FLOAT = 1700530519.0
# Agora todas as linhas abaixo vão lançar um exception
CompetenciaComMinimo.get_instance(date(2023, 12, 1))
CompetenciaComMinimo.get_instance(datetime(2023, 12, 1, 23, 59, 59))
CompetenciaComMinimo.get_instance(1800530519)
CompetenciaComMinimo.get_instance(1800530519.0)
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
competencias-1.0.3.tar.gz
(4.3 kB
view details)
File details
Details for the file competencias-1.0.3.tar.gz
.
File metadata
- Download URL: competencias-1.0.3.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7874a744e32f8202c451e68c23b3fe5773397c24a0af7b59b4f3c21e74117e65 |
|
MD5 | fc702e8eadae6c9b00f06a4d826925aa |
|
BLAKE2b-256 | 1a943bc4d58ae41f99da1ecd5acf6abe09cc82992c01c217119a692c01409a19 |