Skip to main content

Implementação em Python de biblioteca para trabalhar com Competencias no estilo YYYYMM.

Project description

Python Competencias

Coverage Status

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)

# 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)


# 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.4.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file competencias-1.0.4.tar.gz.

File metadata

  • Download URL: competencias-1.0.4.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.8

File hashes

Hashes for competencias-1.0.4.tar.gz
Algorithm Hash digest
SHA256 760550a6a12b9f13558bad3d458c5764c2384e382d3b888eb59c02fb772f7fe7
MD5 9df106b4e701eb1429fa003782856498
BLAKE2b-256 85ddc522821226ce8e5ef5e9e4192621ea6c82b19b860ed4372d2ed1b0f568f2

See more details on using hashes here.

Supported by

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