Skip to main content

CLI tool that helps integrating deploy (via Docker) to Python projects

Project description

pydeployhelp

Overview

pydeployhelp is a tool designed to simplify deploying Python projects using Docker. It can be used as a standalone CLI tool, offering flexibility in integrating deployment processes into your Python workflows.

After installation, the following CLI tools are available:

  • pydeployhelp: Deploys your project based on the configuration found in the deployment directory created by pydeployhelp-quickstart.
  • pydeployhelp-quickstart: Sets up a deployment directory with service file templates, including Dockerfile, docker-compose, and configuration files.

pydeployhelp makes it easy to containerize and manage your Python applications using Docker, saving you time and reducing complexity in the deployment phase.

Documentation

For detailed instructions and the latest information, please visit the official documentation at Read the Docs.

Installation

  • Python 3.11 or later is required.

Using pip (from PyPi)

  1. Install via pip:

    pip install pydeployhelp
    
  2. Now you can use the pydeployhelp command:

    pydeployhelp --help
    

Using uv (only for developers)

  1. Clone this repository:

    git clone https://github.com/iyazerski/pydeployhelp.git
    cd pydeployhelp
    
  2. Install dependencies via uv:

    uv sync
    
  3. To run the CLI:

    uv run pydeployhelp --help
    

Requirements

pydeployhelp requires Docker to be installed on your system. The pydeployhelp-quickstart tool and the core library can be used without installing any additional system-level dependencies, making setup straightforward.

Updating to the Latest Version

To update to the latest version of pydeployhelp, run the following command:

python -m pip install --upgrade --no-cache-dir pydeployhelp

Usage

pydeployhelp

The main command for deploying your project is pydeployhelp. Here is an overview of the available options:

Usage: pydeployhelp [OPTIONS]

Main entrypoint, which will be called when executing `pydeployhelp` in console.

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --task                         TEXT  List of deployment tasks defined in config.yaml                                                                                             │
│ --target                       TEXT  List of deployment targets defined in config.yaml                                                                                           │
│ --deploydir                    TEXT  Path to directory with deploy scripts (normally generated via `pydeployhelp-quickstart`) [default: deploy]                                  │
│ --silent       --no-silent           Ignore all communication with user and use default values [default: no-silent]                                                              │
│ --version      --no-version          Print version and exit [default: no-version]                                                                                                │
│ --help                               Show this message and exit.                                                                                                                 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Running pydeployhelp without the --silent flag will prompt you to provide information such as task names and services. Once completed, a status message regarding the deployment will be displayed.

Example of a non-interactive console mode (you won't be prompted for manual input):

pydeployhelp --task build --task up --target all

This command will run the specified deployment tasks (build and up) for all defined targets.

pydeployhelp-quickstart

The pydeployhelp-quickstart command is used to generate a deployment directory with the necessary service templates. Here is how you can use it:

Usage: pydeployhelp-quickstart [OPTIONS]

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --silent     --no-silent       Ignore all communication with user and use default values [default: no-silent]                                                                    │
│ --version    --no-version      Print version and exit [default: no-version]                                                                                                      │
│ --help                         Show this message and exit.                                                                                                                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Running pydeployhelp-quickstart without the --silent flag will prompt you to provide information such as the project name, deployment directory location, and supported tasks. Once completed, a status message will indicate the creation of the service files.

Example Workflow

  1. Quickstart Setup: Use pydeployhelp-quickstart to set up your deployment directory with service templates.
    pydeployhelp-quickstart
    
  2. Edit Configuration: Customize the generated files (Dockerfile, docker-compose, etc.) in the deployment directory to suit your project.
  3. Deploy: Run pydeployhelp to start deploying your project.
    pydeployhelp --task build --target all
    

This workflow helps you easily set up a Docker environment and manage your deployments effectively.

Contributing

Contributions are welcome! If you have any ideas or find a bug, please open an issue or submit a pull request on GitHub.

License

pydeployhelp is released under the MIT License. See the LICENSE file for more details.

Contact

If you have any questions or feedback, feel free to reach out to the project maintainer:

Thank you for using pydeployhelp! Happy deploying!

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

pydeployhelp-1.4.3.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydeployhelp-1.4.3-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file pydeployhelp-1.4.3.tar.gz.

File metadata

  • Download URL: pydeployhelp-1.4.3.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pydeployhelp-1.4.3.tar.gz
Algorithm Hash digest
SHA256 9f5dc4e94fe326fa0c50ceb0633600fd121475e4443a2d4adc66a67c1b190325
MD5 4ae93ec8b88b0e0365abe764aee6148a
BLAKE2b-256 255a5b2668b39989175327455c0f2bc06abc4ecbbaeba0a0a08b99289e058d6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeployhelp-1.4.3.tar.gz:

Publisher: release.yml on iyazerski/pydeployhelp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydeployhelp-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: pydeployhelp-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pydeployhelp-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 256e34517da46cc63153147801589566dfbb5e6bf1e25d9fac4075988f2b0413
MD5 9013344d7803aeac82eb47240aab89e4
BLAKE2b-256 ab90251d84a2b5852cb7ea55e3df3a9a3000382768c2e6add7e79910a950bc40

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeployhelp-1.4.3-py3-none-any.whl:

Publisher: release.yml on iyazerski/pydeployhelp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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