Skip to main content

The hypermodern Python project

Project description

Hypermodern Python Guide

Tests Codecov PyPI

This repository follows the series of articles for hypermodern python.

What is used:

  • Package, dependency, and environment manager: conda
  • Package and dependency manager: poetry
  • Package manager: pip
  • Continuous integration: GitHub Actions
  • Command-line interface: click
  • Managing git hooks: pre-commit
  • Data validation: desert, marshmallow
  • Testing:
    • Unit testing: pytest
    • Test automation: nox
    • Security audit: Safety
    • Code coverage: Coverage.py
    • Coverage reporting: codecov
  • Documentation:
    • Check documentation examples: xdoctest
    • Documentation: sphinx
    • Generate API documentation: autodoc, napoleon, sphinx-autodoc-typehints
  • Linting:
    • flake8:
      • flake8-black: generates warnings if it detects Black would reformat a source file.
      • flake8-import-order: generates warnings if import statements are not grouped and ordered in a consistent and PEP 8-compliant way.
      • flake8-bugbear: helps you find various bugs and design problems in your programs.
      • flake8-bandit: find common security issues in Python code.
      • flake8-annotations: detects the absence of type annotations for functions, helping you keep track of unannotated code.
      • flake8-docstrings: uses the tool pydocstyle to check that docstrings are compliant with the style recommendations of PEP 257.
    • mypy: static type checking.
    • pytype: static type checking.
    • typeguard: runtime type checking.
    • darglint: checks that docstring descriptions match function definitions.
  • Formatting:
    • black: modifies conflicting files.

Instructions not in the articles.

  1. Clone the repository.
  2. Create a new conda environment:
    conda env create -f environment.yml
    
  3. Download Coverage.py using zsh cli:
    poetry add --dev 'coverage[toml]' pytest-cov
    

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

python-cookiecutter-0.1.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

python_cookiecutter-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file python-cookiecutter-0.1.0.tar.gz.

File metadata

  • Download URL: python-cookiecutter-0.1.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.7.9 Darwin/21.1.0

File hashes

Hashes for python-cookiecutter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ca9aa9d032ca546ab10e5bff3aaa0df34034ad6de63b505d52d888485734ffd0
MD5 dd5ff2ffc6470d520823f4379b65bb98
BLAKE2b-256 2e08342428f22a95ff1171c2074456e96ffea6f007538a2c9c9f2d88cdcf9c65

See more details on using hashes here.

File details

Details for the file python_cookiecutter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for python_cookiecutter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b99b69c34ef51c10fb9f57dcac8b50c250854baa5212a48bf6aea9bce20ef8f5
MD5 317787222faf1e59152808c8c0cbc1d9
BLAKE2b-256 ed61cc87b6ec7fb6e9286930ebfd3e1b750a8db4eb6d8b2fbc6bfe46b2c0fbf1

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