Skip to content

curia-damiano/EmpyPythonApp

Repository files navigation

Empty Python App

A fully-configured starter template for Python applications, designed to streamline development and ensure best practices.
This repository provides a clean slate with everything you need for a modern Python project.

Getting Started

I have written the following post to show parts of this project:

DevContainers:

  • Based on Debian image
  • Exposing the app on port 5000
  • Installing default VS Code extensions
  • Setting the PYTHONPATH environment variable
  • Running the following commands:
    • Install NPM dependencies
    • Build TypeScript
    • Create the Python venv .venv
    • Activate the Python venv .venv
    • Install Python dependencies for development
    • Install Python dependencies for runtime

Build & debug pipeline:

  • Install NPM dependencies (every time, because of possible changes in package.json)
  • Build Typescript
  • Install Python dependencies for development (every time, because of changes in requirements-dev.txt)
  • Install Python dependencies for runtime (every time, because of changes in requirements.txt)
  • Run Black
  • Run PyLint on 'src' folder
  • Run PyLint on 'tests' folder
  • Run Ruff
  • Run Python Unit Tests

Supported IDEs:

  • Visual Studio Code

Black

  • Support from all IDEs
  • Support from command line "black src tests"

PyLint

  • Support from all IDEs
  • Support from command line "pylint src"
  • Support from command line "pylint tests"

Ruff

  • Support from all IDEs
  • Support from command line "ruff check src tests"

Unit Tests

  • Support from all IDEs
  • Support from command line "python -m unittest"
  • Support from command line "python -m unittest discover -s tests"

Others

  • CleanAll.sh to clean all files produced from build
  • Dockerfile

Authors

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published