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().
  8. Pipenv

    1. Instalação.

      1. Desativar o ambiente virtual.
        deactivate
        
      2. Fora do ambiente virtual:
        pip install pipenv
        
      3. Editar .baschrc acrescentando:
        export PIPENV_VENV_IN_PROJECT=1
        
      4. Reiniciar terminal para obter os efeitos desejados.
    2. Instalação de dependências:

      pipenv install requests
      
    3. Instalação de dependências para desenvolvedores:

      pipenv install --dev flake8 twine pytest coverage pytest-cov pytest-mock
      
    4. Alteração de scripts do arquivo .travis.yml.

    5. Alteração de scripts do arquivo .pyup.yml.

    6. Remoção dos arquivos requirements.txt e requirements-dev.txt.

  9. Revisão para iniciar o curso do Módulo Django

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.6.tar.gz (19.9 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for victorbaptistalemos_libpythonpro-0.6.tar.gz
Algorithm Hash digest
SHA256 98961201edce4672bfbc7d4c3f004700ec4c8e95d3b33ce0e89740a55a1868ff
MD5 545a12517d9e1eb9ef07ccbb1a9d63b4
BLAKE2b-256 bb012e730854db98e6dde672180404db3606c2e760b98c1731cbe8bebaaa9655

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