Skip to main content

Módulo para exemplificar construção de projetos Python no curso PyTools

Project description

victorbaptistalemos_libpythonpro

License: AGPL v3

Módulo para exemplificar construção de projetos Python no curso PyTools.

Nesse curso é ensinado como contribuir para projetos de código aberto.

Link para o curso Python Pro.

Este projeto tem como base o repositório pythonprobr/libpythonpro.

Suportada a versão 3 do Python.

Tópicos a serem abordados:

  1. Git

    1. Clone
      Copia um repositório através do link HTTPS ou SSH.
      
    2. Fork
      Cria uma cópia a partir de outro repositório.
      Utilizado para fazer melhorias em projetos de
      código aberto que você não tenha permissão
      para modificar. 
      
    3. Branch
      Utilizada para fazer alterações independentes no código.
      Caso a modificação na branch criada dê algum priblema,
      esta pode ser excluída sem alterar o código principal.
      
    4. Pull request
      Utilizada para solicitar a inclusão de uma alteração
      código na branch principal.
      
    5. Issues
      Utilizada para solicitar melhorias no código.
      
    6. Feature branch
      Utilizada por outro contribuidor para fazer melhorias em seu código.
      
    7. Tag
      Marca a distribuição de uma release.
      
  2. Virtualenv

    1. Criar
      python3 -m venv .venv
      
    2. Ativar
      source .venv/bin/activate
      
    3. Desativar
      deactivate
      
  3. Pip

    1. Instalar
      pip install -r requirements.txt
      
    2. Atualizar
      pip install --upgrade requests
      
    3. Desinstalar
      pip uninstall -r requirements.txt -y
      
    4. Requirements
      pip freeze > requirements.txt
      
    5. Flake8
      1. Instalar
        pip install flake8
        
      2. Configurar
        # Crie um arquivo .flake8
        # Insira no arquivo .flake8 as configurações abaixo (sem o #)
        # [flake8]
        # max-line-length = 120
        # exclude = .venv
        
      3. Conferir qualidade do código
        flake8
        
  4. Travis CI Build Status

  5. PyUp Updates Python 3

  6. PyPI

    1. Instalação do twine
      pip install twine
      
    2. Criação de distribuição
      python setup.py sdist
      
    3. Envio da distribuição ao PyPI
      twine upload dist/*
      
  7. PyTest

    1. Instalaçáo
      pip install pytest
      
    2. Criando testes e a utilização da palavra reservada assert
    3. Cobertura de testes: codecov
    4. Desenvolvimento Orientado a Testes (TDD).
    5. Parametrização de testes com o decorator @pytest.mark.parametrize
    6. Técnica do baby steps (desenvolvimento passo a passo).
    7. Testes de Exceções.
    8. PyTest Fixtures.
    9. Utilização da palavra reservada yield.
    10. Utilização e escopo do arquivo conftest.py.
    11. Injeção de dependências.
    12. Classe Mock() da biblioteca unittest.mock.
    13. Utilização da API pytest-mock e seu método mocker.patch().

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

victorbaptistalemos_libpythonpro-0.5.tar.gz (19.2 kB view details)

Uploaded Source

File details

Details for the file victorbaptistalemos_libpythonpro-0.5.tar.gz.

File metadata

  • Download URL: victorbaptistalemos_libpythonpro-0.5.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.56.1 CPython/3.8.6

File hashes

Hashes for victorbaptistalemos_libpythonpro-0.5.tar.gz
Algorithm Hash digest
SHA256 174af1158a20a26bfafd9dc33fa32dae0094603e2c36c08ae2a0921ee5e246c5
MD5 5f31bc5e28124ecc779c594ed61d7daa
BLAKE2b-256 576dfb39932cb432d8083bfac3b18d4cc8a963cfc2924ea7a84f70f963cbec9a

See more details on using hashes here.

Supported by

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