Skip to main content

Python wrapper for Go applications with PowerShell launcher

Project description

pygops

Python wrapper for running Go applications via PowerShell.

pip install pygops

Requirements

  • Python 3.8 or higher

  • PowerShell installed and accessible in PATH

  • Go installed for running Go applications

  • Dependencies (installed automatically):

    • loguru
    • toomanyports
    • aiohttp (for server health checks)

Usage

Launch a Go script manually

from pygops import GoLauncher

launcher = GoLauncher(
    go_file="path/to/script.go",
    script_path=script_path,
    verbose=True,
    port=5000  # optional: will kill existing or choose random if omitted
)
launcher.thread.start()

Run a Go server with health check

import asyncio
from pygops import GoServer, get_go_launcher_script

script = get_go_launcher_script()
server = GoServer(
    go_file="path/to/main.go",
    script_path=script,
    port=4000,
    verbose=True
)

async def main():
    await server.start()
    running = await server.is_running()
    print(f"Server running: {running}")
    # ... later ...
    await server.stop()

asyncio.run(main())

Execute Go script in its own thread

from pygops import GoThread, get_go_launcher_script

thread = GoThread(
    go_file="path/to/task.go",
    script_path=get_go_launcher_script(),
    go_args=["--flag", "value"],
    verbose=True
)
thread.start()
# Do other work...
if thread.is_running():
    thread.terminate()

License

Released under the MIT License. See LICENSE for details.

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

pygops-0.2.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

pygops-0.2-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file pygops-0.2.tar.gz.

File metadata

  • Download URL: pygops-0.2.tar.gz
  • Upload date:
  • Size: 14.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pygops-0.2.tar.gz
Algorithm Hash digest
SHA256 2be019a9f06b0c3efafb04dfe55a74075bb1fa088ff9b864581ae9c61167af36
MD5 eb277a1856d4a19748082da78f80fac6
BLAKE2b-256 0f139392cba7d7a8cbaece117bfa8108a8749fd3f3590676fa75937651579967

See more details on using hashes here.

File details

Details for the file pygops-0.2-py3-none-any.whl.

File metadata

  • Download URL: pygops-0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for pygops-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cd8f409c14a43c01990930e2abec36e039f30cad4be88ffe94b07adc92b8508f
MD5 2828376f43ea2c3b1c5714969416d05c
BLAKE2b-256 3c17dda57a2c61749a4840ffbf1e6dd65e719cf94c481999b3671f03c6f161e9

See more details on using hashes here.

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