A project starter for Python projects configured with common USU project dependencies and VS Code integrations to make development awesome.
This repo employs Dev Containers and VS Code integration to provide an easy to use and fully configured development environment for Python projects.
The Python Launchpad is intended to reduce configuration and dependencies on the host environment for Python project development.
The Python Launchpad runs anywhere Docker runs. Due to all development taking place inside the container, the host OS is irrelevant. Use Mac, Windows, or any flavor of Linux without having to worry about path, line endings, or conflicting dependencies.
Frequently a project will require a database connection to the Oracle Banner database which requires the Oracle Instant Client to be installed and configured in the host environment. This installation is prone to PATH issues and other conflicts.
The launchpad uses as the same Python Instant Client base image that is used in production containers to provide identical Instant Client accessibility and configuration.
The development container is further enhanced to offer Python developer tools for linting, debugging, launch configuration, code snippet execution and more.
Contributions are welcome. Please read the Contributing Guide.
For suggestions and improvements, start a discussion with a GitHub Issue.
The launchpad is intended to be forked and to form a starter for a new project or to be integrated into an existing project.
Requirements on the host OS are minimal.
Install Docker Desktop on the host using your preferred installation method. The Docker service must be accessible to the logged in user account.
Install Visual Studio Code on the host using your preferred installation method. Once installed, the Remote-Containers extension must also be installed.
In order to install the Oracle Instant Client base images from Harbor, the host must be connected to USU Staff VPN.
Dev containers are supported by Visual Studio Code. Support for additional text editors is not planned.
Open the project directory (the one containing the .devcontainer
directory) in VS Code. VS Code will recognize the .devcontainer
configuration and ask to re-open the project in the container. Click yes. If the container has not already been built, the container will be built based on the configuration defined in the .devcontainer
directory.
Control over the dev container is found in the VSCode Command Palette (Ctrl+Shift+P) under the prefix 'Remote-Containers' where several commands exist for starting, building, and rebuilding the container.
The dev container may also be started or stopped from the Docker Desktop UI (beware this will make VSCode unhappy).
TODO: More information about the container configuration https://code.visualstudio.com/docs/python/python-tutorial#_configure-and-run-the-debugger https://code.visualstudio.com/docs/python/debugging https://code.visualstudio.com/learn/develop-cloud/containers https://github.com/microsoft/vscode-remote-try-python https://github.com/microsoft/vscode-dev-containers/tree/main/containers/python-3
The current project lead is Richard Macdonald
List of all project contributors
- Do we have any frequently asked questions?
- Not yet, but we should leave this here as a placeholder.
Python Launchpad is developed and maintained by the IT Enterprise Integrations team.
- Slack us at Slack#usu_it
- MIT license
- Copyright 2021 © Utah State University.