Python Competencia
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)
Metadata
Release files for competencias 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| competencias-1.0.6.tar.gz | 4.4 kB | Without provenance | Details for competencias-1.0.6.tar.gz |
Release files / competencias-1.0.6.tar.gz
| Download URL | competencias-1.0.6.tar.gz |
|---|---|
| Size | 4.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d474275cf044727701889e69c6dac9d6220b888b9d4100ae28e463549c5545cf
|
|
BLAKE2b-256 checksum How to use checksums |
b00a7d20569adf8a9b02cfcb339fdd1cf22ae1ed2a6faf225553edffb33bf6b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.11.10
|
Security for competencias 1.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.