Skip to content

Latest commit

 

History

History
131 lines (78 loc) · 5.27 KB

README.md

File metadata and controls

131 lines (78 loc) · 5.27 KB

Python Launchpad logo

Python Launchpad

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.

License



Objective and Purpose

The Python Launchpad is intended to reduce configuration and dependencies on the host environment for Python project development.

OS Agnostic

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.

Oracle Instant Client

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.

Runtime Environment

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.


Contributing

Contributions are welcome. Please read the Contributing Guide.

For suggestions and improvements, start a discussion with a GitHub Issue.


Usage

The launchpad is intended to be forked and to form a starter for a new project or to be integrated into an existing project.

Host Requirements

Requirements on the host OS are minimal.

Docker Runtime

Install Docker Desktop on the host using your preferred installation method. The Docker service must be accessible to the logged in user account.

Visual Studio Code

Install Visual Studio Code on the host using your preferred installation method. Once installed, the Remote-Containers extension must also be installed.

USU Staff VPN Connection

In order to install the Oracle Instant Client base images from Harbor, the host must be connected to USU Staff VPN.

Notes

Dev containers are supported by Visual Studio Code. Support for additional text editors is not planned.

Container Startup

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


Team

The current project lead is Richard Macdonald

List of all project contributors


FAQ

  • Do we have any frequently asked questions?
    • Not yet, but we should leave this here as a placeholder.

Support

Python Launchpad is developed and maintained by the IT Enterprise Integrations team.


License

License