competencias


Namecompetencias JSON
Version 1.0.6 PyPI version JSON
download
home_pagehttps://github.com/lais-huol/py-competencias
SummaryImplementação em Python de biblioteca para trabalhar com Competencias no estilo YYYYMM.
upload_time2024-10-14 22:41:56
maintainerNone
docs_urlNone
authorKelson da Costa Medeiros
requires_python>=3.9
licenseApache-2.0
keywords competencia
VCS
bugtrack_url
requirements python-dateutil
Travis-CI No Travis.
coveralls test coverage
            # Python Competencia

[![Coverage Status](https://coveralls.io/repos/github/lais-huol/py-Competencia/badge.svg?branch=main)](https://coveralls.io/github/lais-huol/py-Competencia?branch=main)

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

```bash
pip install Competencia
```

```python
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)


```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/lais-huol/py-competencias",
    "name": "competencias",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "competencia",
    "author": "Kelson da Costa Medeiros",
    "author_email": "kelson.medeiros@lais.huol.ufrn.br",
    "download_url": "https://files.pythonhosted.org/packages/b0/0a/7d20569adf8a9b02cfcb339fdd1cf22ae1ed2a6faf225553edffb33bf6b8/competencias-1.0.6.tar.gz",
    "platform": null,
    "description": "# Python Competencia\n\n[![Coverage Status](https://coveralls.io/repos/github/lais-huol/py-Competencia/badge.svg?branch=main)](https://coveralls.io/github/lais-huol/py-Competencia?branch=main)\n\nImplementa\u00e7\u00e3o em Python de biblioteca para trabalhar com Competencia no estilo YYYYMM.\n\nRetorna a lista de compet\u00eancais dada uma faixa de compet\u00eancias, a compet\u00eancia atual, a compet\u00eancia passada e a compet\u00eancia futura. Como atual entende-se o timestamp do now(). Cada compet\u00eancia tem os atributos as_int, as_decimal, as_date, as_datetime, as_time e as_string, conforme documentado abaixo.\n\n## Como usar\n\n```bash\npip install Competencia\n```\n\n```python\nfrom Competencia import Competencia\n\n# para a compet\u00eancia atual\nCompetencia.get_current()\n\n# para a pr\u00f3xima compet\u00eancia\nCompetencia.get_current().next\n\n# para a compet\u00eancia anterior\nCompetencia.get_current().previous\n\n# para a compet\u00eancia 202301\nCompetencia.get_instance(date(2023, 1, 25))\n\n# para a compet\u00eancia 2022/12, partindo da compet\u00eancia 2023/01\nCompetencia.get_instance(date(2023, 1, 25)).previous\n\n# para as compet\u00eancias entre 2022/01 e 2023/11\nfor c in Competencia.range(date(2022, 1, 1), date(2023, 11, 2)):\n    print(c)\n\n# para o ano da compet\u00eancia\nCompetencia.get_instance(date(2024, 2, 25)).date.year == 2024\nCompetencia.get_instance(date(2024, 2, 25)).year == 2024\n\n# para o m\u00eas da compet\u00eancia\nCompetencia.get_instance(date(2024, 2, 25)).date.month == 2\nCompetencia.get_instance(date(2024, 2, 25)).month == 2\n\n# para como uma inteiro 202301\nCompetencia.get_instance(date(2023, 1, 30)).as_int == 202301\n\n# para como uma float 2023.01\nCompetencia.get_instance(date(2023, 1, 30)).as_float == 2023.01\n\n# para como uma float (2023, 1)\nCompetencia.get_instance(date(2023, 1, 30)).as_tuple == (2023, 1)\n\n# para o primeito dia da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).first_date == date(2023, 12, 1)\n\n# para o \u00faltimo dia da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).last_date == date(2023, 12, 31)\n\n# para o primeiro carimbo de tempo da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).first_datetime == datetime(2023, 12, 1, 0, 0, 0)\n\n# para o \u00faltimo carimbo de tempo da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).last_datetime == datetime(2023, 12, 31, 23, 59, 59)\n\n# para o primeiro carimbo de tempo da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).first_timestamp == 1701399600.0\n\n# para o \u00faltimo carimbo de tempo da compet\u00eancia 2023/12\nCompetencia.get_instance(date(2023, 12, 25)).last_timestamp == 1704077999.0\n\n# Para validar datas m\u00ednimas, todas linhas\nclass CompetenciaComMinimo(Competencia):\n    MIN_DATE = date(2023, 11, 1)\n\n# Agora todas as linhas abaixo v\u00e3o lan\u00e7ar um exception\nCompetenciaComMinimo.get_instance(date(2023, 12, 1))\nCompetenciaComMinimo.get_instance(datetime(2023, 12, 1, 23, 59, 59))\nCompetenciaComMinimo.get_instance(1800530519)\nCompetenciaComMinimo.get_instance(1800530519.0)\n\nclass CompetenciaComMinimo(Competencia):\n    MIN_DATE = date(2023, 11, 1)\n\n\n# Agora todas as linhas abaixo v\u00e3o lan\u00e7ar um exception\nCompetenciaComMinimo.get_instance(date(2023, 12, 1))\nCompetenciaComMinimo.get_instance(datetime(2023, 12, 1, 23, 59, 59))\nCompetenciaComMinimo.get_instance(1800530519)\nCompetenciaComMinimo.get_instance(1800530519.0)\n\n\n```\n\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Implementa\u00e7\u00e3o em Python de biblioteca para trabalhar com Competencias no estilo YYYYMM.",
    "version": "1.0.6",
    "project_urls": {
        "Download": "https://github.com/lais-huol/py-competencias/releases/tag/1.0.6",
        "Homepage": "https://github.com/lais-huol/py-competencias"
    },
    "split_keywords": [
        "competencia"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b00a7d20569adf8a9b02cfcb339fdd1cf22ae1ed2a6faf225553edffb33bf6b8",
                "md5": "44246a427e61f2cf4dbec9593c4a8d02",
                "sha256": "d474275cf044727701889e69c6dac9d6220b888b9d4100ae28e463549c5545cf"
            },
            "downloads": -1,
            "filename": "competencias-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "44246a427e61f2cf4dbec9593c4a8d02",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 4388,
            "upload_time": "2024-10-14T22:41:56",
            "upload_time_iso_8601": "2024-10-14T22:41:56.552268Z",
            "url": "https://files.pythonhosted.org/packages/b0/0a/7d20569adf8a9b02cfcb339fdd1cf22ae1ed2a6faf225553edffb33bf6b8/competencias-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-14 22:41:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lais-huol",
    "github_project": "py-competencias",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "python-dateutil",
            "specs": [
                [
                    ">=",
                    "2.8.2"
                ]
            ]
        }
    ],
    "lcname": "competencias"
}
        
Elapsed time: 0.43468s