Skip to main content

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

Project description

Python Competencia

Coverage Status

Implementação em Python de biblioteca para trabalhar com Competencia 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 Competencia
from Competencia import Competencia

# para a competência atual
Competencia.get_current()

# para a próxima competência
Competencia.get_current().next

# para a competência anterior
Competencia.get_current().previous

# para a competência 202301
Competencia.get_instance(date(2023, 1, 25))

# para a competência 2022/12, partindo da competência 2023/01
Competencia.get_instance(date(2023, 1, 25)).previous

# para as competências entre 2022/01 e 2023/11
for c in Competencia.range(date(2022, 1, 1), date(2023, 11, 2)):
    print(c)

# para o ano da competência
Competencia.get_instance(date(2024, 2, 25)).date.year == 2024
Competencia.get_instance(date(2024, 2, 25)).year == 2024

# para o mês da competência
Competencia.get_instance(date(2024, 2, 25)).date.month == 2
Competencia.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.6.tar.gz (4.4 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for competencias-1.0.6.tar.gz
Algorithm Hash digest
SHA256 d474275cf044727701889e69c6dac9d6220b888b9d4100ae28e463549c5545cf
MD5 44246a427e61f2cf4dbec9593c4a8d02
BLAKE2b-256 b00a7d20569adf8a9b02cfcb339fdd1cf22ae1ed2a6faf225553edffb33bf6b8

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