portforward


Nameportforward JSON
Version 0.6.1 PyPI version JSON
download
home_page
SummaryEasy Kubernetes Port-Forward For Python
upload_time2024-01-15 20:55:20
maintainer
docs_urlNone
author
requires_python>=3.7
licenseMIT License
keywords portforward kubernetes k8s
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===========
portforward
===========


.. image:: https://img.shields.io/pypi/v/portforward.svg
        :target: https://pypi.python.org/pypi/portforward

.. image:: https://img.shields.io/pypi/status/portforward.svg
        :target: https://pypi.python.org/pypi/portforward

.. image:: https://img.shields.io/pypi/dm/portforward
        :alt: PyPI - Downloads

.. image:: https://readthedocs.org/projects/portforward/badge/?version=latest
        :target: https://portforward.readthedocs.io/en/latest/?version=latest
        :alt: Documentation Status

.. image:: https://github.com/pytogo/portforward/actions/workflows/python-app.yml/badge.svg
        :target: https://github.com/pytogo/portforward/actions
        :alt: Build status



Easy Kubernetes Port-Forward For Python


* Free software: MIT license
* Documentation: https://portforward.readthedocs.io.


Installation
-----------------------------

Wheels are available for:

* Windows
* MacOS X
* Linux

with Python versions:

* 3.7
* 3.8
* 3.9
* 3.10
* 3.11

and architectures:

* x84_64
* arm64 (known as M1/Apple Chip - MacOS only)

**Requirements for installation from source**

The following things are required when there is no wheel available for the target system.

* `Rust` installed and available in the path (https://www.rust-lang.org/tools/install)
* `Python` (at least v3.7 - below was never tested but might work)

Pip knows how to install ``portforward``.

.. code-block::

    pip install portforward


Quickstart
----------

.. code-block:: Python

    import requests

    import portforward


    def main():
        namespace = "test"
        pod_name = "web"  # You can also use a service name instead
        local_port = 9000  # from port
        pod_port = 80  # to port

        # No path to kube config provided - will use default from $HOME/.kube/config
        with portforward.forward(namespace, pod_name, local_port, pod_port):
            response = requests.get("http://localhost:9000")
            print(f"Done: \n'{response.status_code}'\n'{response.text[:20]}...'")


    if __name__ == "__main__":
        main()


Features
--------

* Native Kubernetes port-forwarding with the ``.kube/config`` from the home dir
  or any other path to config.
* Portforward for pods and services - the lib will first look for a pod with matching name then for
  a service
* Waiting for a pod to become ready
* Multiple forwards per pod or service
* As context manager, sync or async client


Development
-----------

In case you want to develop on this library itself please take a look at the CONTRIBUTING page.

Credits
-------

This project is enabled by PyO3_.

.. _PyO3: https://pyo3.rs


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "portforward",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "portforward,kubernetes,k8s",
    "author": "",
    "author_email": "Sebastian Ziemann <corka149@mailbox.org>",
    "download_url": "https://files.pythonhosted.org/packages/21/b3/34e58058ddacf42ab779f473e05180bc48c12b49307dfb7ee4727bc42019/portforward-0.6.1.tar.gz",
    "platform": null,
    "description": "===========\nportforward\n===========\n\n\n.. image:: https://img.shields.io/pypi/v/portforward.svg\n        :target: https://pypi.python.org/pypi/portforward\n\n.. image:: https://img.shields.io/pypi/status/portforward.svg\n        :target: https://pypi.python.org/pypi/portforward\n\n.. image:: https://img.shields.io/pypi/dm/portforward\n        :alt: PyPI - Downloads\n\n.. image:: https://readthedocs.org/projects/portforward/badge/?version=latest\n        :target: https://portforward.readthedocs.io/en/latest/?version=latest\n        :alt: Documentation Status\n\n.. image:: https://github.com/pytogo/portforward/actions/workflows/python-app.yml/badge.svg\n        :target: https://github.com/pytogo/portforward/actions\n        :alt: Build status\n\n\n\nEasy Kubernetes Port-Forward For Python\n\n\n* Free software: MIT license\n* Documentation: https://portforward.readthedocs.io.\n\n\nInstallation\n-----------------------------\n\nWheels are available for:\n\n* Windows\n* MacOS X\n* Linux\n\nwith Python versions:\n\n* 3.7\n* 3.8\n* 3.9\n* 3.10\n* 3.11\n\nand architectures:\n\n* x84_64\n* arm64 (known as M1/Apple Chip - MacOS only)\n\n**Requirements for installation from source**\n\nThe following things are required when there is no wheel available for the target system.\n\n* `Rust` installed and available in the path (https://www.rust-lang.org/tools/install)\n* `Python` (at least v3.7 - below was never tested but might work)\n\nPip knows how to install ``portforward``.\n\n.. code-block::\n\n    pip install portforward\n\n\nQuickstart\n----------\n\n.. code-block:: Python\n\n    import requests\n\n    import portforward\n\n\n    def main():\n        namespace = \"test\"\n        pod_name = \"web\"  # You can also use a service name instead\n        local_port = 9000  # from port\n        pod_port = 80  # to port\n\n        # No path to kube config provided - will use default from $HOME/.kube/config\n        with portforward.forward(namespace, pod_name, local_port, pod_port):\n            response = requests.get(\"http://localhost:9000\")\n            print(f\"Done: \\n'{response.status_code}'\\n'{response.text[:20]}...'\")\n\n\n    if __name__ == \"__main__\":\n        main()\n\n\nFeatures\n--------\n\n* Native Kubernetes port-forwarding with the ``.kube/config`` from the home dir\n  or any other path to config.\n* Portforward for pods and services - the lib will first look for a pod with matching name then for\n  a service\n* Waiting for a pod to become ready\n* Multiple forwards per pod or service\n* As context manager, sync or async client\n\n\nDevelopment\n-----------\n\nIn case you want to develop on this library itself please take a look at the CONTRIBUTING page.\n\nCredits\n-------\n\nThis project is enabled by PyO3_.\n\n.. _PyO3: https://pyo3.rs\n\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "Easy Kubernetes Port-Forward For Python",
    "version": "0.6.1",
    "project_urls": {
        "Changelog": "https://github.com/pytogo/portforward/blob/main/HISTORY.rst",
        "Documentation": "https://portforward.readthedocs.io",
        "Repository": "https://github.com/pytogo/portforward.git"
    },
    "split_keywords": [
        "portforward",
        "kubernetes",
        "k8s"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3af08562433e9daa94765f2f40f8f1488c622a1dd3ae5ba941a27634779e6542",
                "md5": "615e70dd9816253feb461136d444a491",
                "sha256": "ab8d6118cce191c65ae38872fe8eec877d5e57a11806528ab0c2445a952bf687"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp310-cp310-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "615e70dd9816253feb461136d444a491",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3379911,
            "upload_time": "2024-01-15T21:00:09",
            "upload_time_iso_8601": "2024-01-15T21:00:09.318019Z",
            "url": "https://files.pythonhosted.org/packages/3a/f0/8562433e9daa94765f2f40f8f1488c622a1dd3ae5ba941a27634779e6542/portforward-0.6.1-cp310-cp310-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99fcfdf61d8dbafea0fd80d86a68d721e429e1c27c6328a6e2ede36576c25b9d",
                "md5": "9b54aa88b66a9b0aac8407c76eeb8560",
                "sha256": "e86a9c53daf7814b1df5ab5708b9b54dbffb2ed606647366025d803d4b7ec517"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9b54aa88b66a9b0aac8407c76eeb8560",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 7064585,
            "upload_time": "2024-01-15T21:00:24",
            "upload_time_iso_8601": "2024-01-15T21:00:24.848957Z",
            "url": "https://files.pythonhosted.org/packages/99/fc/fdf61d8dbafea0fd80d86a68d721e429e1c27c6328a6e2ede36576c25b9d/portforward-0.6.1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "069378ce3d37273dda9eb65ba489df9b4845eca60bd4cd593e5881a07b702288",
                "md5": "aa40c9477ee9554489151e545d5e477a",
                "sha256": "bf7179cd2d00ece29f1718751a9aec5e003f0a5001a755532be45a2e67b786a6"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa40c9477ee9554489151e545d5e477a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3600700,
            "upload_time": "2024-01-15T20:54:19",
            "upload_time_iso_8601": "2024-01-15T20:54:19.416014Z",
            "url": "https://files.pythonhosted.org/packages/06/93/78ce3d37273dda9eb65ba489df9b4845eca60bd4cd593e5881a07b702288/portforward-0.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "062593d2c91f7e363af0e343ec7afd1bffd96a805b0802aa6bd971fba7a969fa",
                "md5": "fc420d10960e104ad1d1a381850852f6",
                "sha256": "9d19f686584d19c612b4d165f1b462bb5545bb4179f90b0ed7cb5cd709bd3abe"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp311-cp311-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fc420d10960e104ad1d1a381850852f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3379910,
            "upload_time": "2024-01-15T21:00:33",
            "upload_time_iso_8601": "2024-01-15T21:00:33.400117Z",
            "url": "https://files.pythonhosted.org/packages/06/25/93d2c91f7e363af0e343ec7afd1bffd96a805b0802aa6bd971fba7a969fa/portforward-0.6.1-cp311-cp311-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ea1f637abed8e7b745bcff7bdeeae1715442e1f19a54f59fb1dc66edc9db70f",
                "md5": "bcdf35a45499d3e8c03d8f0e6a46b9e2",
                "sha256": "06e81e16917c8d22d86d222ebf80354f7a12bafc17abaf4f871fc6b37bc39e1f"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bcdf35a45499d3e8c03d8f0e6a46b9e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 7063615,
            "upload_time": "2024-01-15T21:00:48",
            "upload_time_iso_8601": "2024-01-15T21:00:48.035910Z",
            "url": "https://files.pythonhosted.org/packages/3e/a1/f637abed8e7b745bcff7bdeeae1715442e1f19a54f59fb1dc66edc9db70f/portforward-0.6.1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4be2499d8519496c3b03635458579c563d0d73232243264bed2d88de4e60671",
                "md5": "744b0a2d3931210cce8f12db252548a1",
                "sha256": "fd966d5868ca14f37624a13eec12b370145c51690130405ce1b23c5e3f89f2db"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "744b0a2d3931210cce8f12db252548a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3600699,
            "upload_time": "2024-01-15T20:54:50",
            "upload_time_iso_8601": "2024-01-15T20:54:50.656274Z",
            "url": "https://files.pythonhosted.org/packages/b4/be/2499d8519496c3b03635458579c563d0d73232243264bed2d88de4e60671/portforward-0.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f604260bba36dfe784b653f32ad7b9d9ded4a9de1b1f2570dfbb20bd9062d7af",
                "md5": "9a84be6a032834c5c8927307c65e95a1",
                "sha256": "54109eb5d879ae93e1c517e265f7d44e1edd1c4de4e0dc78ed4cf89abc5d2def"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp37-cp37m-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9a84be6a032834c5c8927307c65e95a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 3380588,
            "upload_time": "2024-01-15T21:00:56",
            "upload_time_iso_8601": "2024-01-15T21:00:56.810948Z",
            "url": "https://files.pythonhosted.org/packages/f6/04/260bba36dfe784b653f32ad7b9d9ded4a9de1b1f2570dfbb20bd9062d7af/portforward-0.6.1-cp37-cp37m-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f4040367090a8dab9c95c71316454c9daa5b854f7c97cb6dbc35d46c03b7b7c",
                "md5": "ea5327e224b34c6c17cb6936390a16ce",
                "sha256": "fbf8c41d8a9b76bef2298b7b84a67d6ddea284e8aac416d675dea2aa32227008"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp37-cp37m-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ea5327e224b34c6c17cb6936390a16ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 7074344,
            "upload_time": "2024-01-15T21:01:12",
            "upload_time_iso_8601": "2024-01-15T21:01:12.132136Z",
            "url": "https://files.pythonhosted.org/packages/1f/40/40367090a8dab9c95c71316454c9daa5b854f7c97cb6dbc35d46c03b7b7c/portforward-0.6.1-cp37-cp37m-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5eebcf53087849fbc6cf47137bcd036d5f71a0c93d83204f5131cf990f4c0f7b",
                "md5": "032abf582b28cd2e825cf9ff92adb53e",
                "sha256": "104e6a16020785af7ac49ce22fa5aa188fbb1c851b5c4ca7fd6ed8af077aff50"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "032abf582b28cd2e825cf9ff92adb53e",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 3601250,
            "upload_time": "2024-01-15T20:54:59",
            "upload_time_iso_8601": "2024-01-15T20:54:59.281027Z",
            "url": "https://files.pythonhosted.org/packages/5e/eb/cf53087849fbc6cf47137bcd036d5f71a0c93d83204f5131cf990f4c0f7b/portforward-0.6.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83cd4eed80c7cccbbea29356a9e5eed99542852da9f769758d0c0bec1c77bbef",
                "md5": "2ab1bf3cc60c492e8abf5bc7aee4473f",
                "sha256": "5f7a2b22a1d8088c82140e8bbdaa44651aef11e7cd613e416c7443d6ed6c1533"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp38-cp38-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2ab1bf3cc60c492e8abf5bc7aee4473f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 3380481,
            "upload_time": "2024-01-15T21:01:21",
            "upload_time_iso_8601": "2024-01-15T21:01:21.194918Z",
            "url": "https://files.pythonhosted.org/packages/83/cd/4eed80c7cccbbea29356a9e5eed99542852da9f769758d0c0bec1c77bbef/portforward-0.6.1-cp38-cp38-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ccd8af57e18b2283fe7a02baad7bcfd54292d89cc4605d16ec4def6f32b09bdb",
                "md5": "a79d78eb342a23f42e378da5b7505db8",
                "sha256": "49a44fe67fb957af4e9c38dfa9c1b20b020f08088699bd0ce37eef9f3bd50c66"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a79d78eb342a23f42e378da5b7505db8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 7069990,
            "upload_time": "2024-01-15T21:01:36",
            "upload_time_iso_8601": "2024-01-15T21:01:36.633715Z",
            "url": "https://files.pythonhosted.org/packages/cc/d8/af57e18b2283fe7a02baad7bcfd54292d89cc4605d16ec4def6f32b09bdb/portforward-0.6.1-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8341b65ad30ef9b60dc0e943f31d24eee50d9c4b403d9e53856fbb72e8861f0",
                "md5": "0d5df4c0e9ac890adbd819bb9df6414f",
                "sha256": "65de7d770874851a1b5797cf44caeb6e2e60ae8c62e0b59974dd0e2d1566364b"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0d5df4c0e9ac890adbd819bb9df6414f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 3601073,
            "upload_time": "2024-01-15T20:55:07",
            "upload_time_iso_8601": "2024-01-15T20:55:07.713778Z",
            "url": "https://files.pythonhosted.org/packages/f8/34/1b65ad30ef9b60dc0e943f31d24eee50d9c4b403d9e53856fbb72e8861f0/portforward-0.6.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4096e6a4c8f1fd8e43cfff40516f973de97035ac8dd76a99dc85933f4ee50c4e",
                "md5": "1f6beef8d55f90b487e7cfebdc1a73d4",
                "sha256": "bf610bc3388d8f35abfe7690fd235fa96d9cdffcb48d2685710b638c85042808"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp39-cp39-macosx_10_7_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f6beef8d55f90b487e7cfebdc1a73d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3380119,
            "upload_time": "2024-01-15T21:01:45",
            "upload_time_iso_8601": "2024-01-15T21:01:45.548433Z",
            "url": "https://files.pythonhosted.org/packages/40/96/e6a4c8f1fd8e43cfff40516f973de97035ac8dd76a99dc85933f4ee50c4e/portforward-0.6.1-cp39-cp39-macosx_10_7_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a585104acdc631d6deb4ff5973269d4c64a539e548afb37a6805df45f2f2f75",
                "md5": "c632ed8cba6e4374bbeb85c8101053ad",
                "sha256": "d49826820bf382d9af4fb026fc270632c0bbf6f8a04f7a047947244692c91984"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c632ed8cba6e4374bbeb85c8101053ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 7075261,
            "upload_time": "2024-01-15T21:02:00",
            "upload_time_iso_8601": "2024-01-15T21:02:00.810622Z",
            "url": "https://files.pythonhosted.org/packages/8a/58/5104acdc631d6deb4ff5973269d4c64a539e548afb37a6805df45f2f2f75/portforward-0.6.1-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "82477d41f338b502d1bfff14ffff3e4d2a0e2faf794e6914724cb233c9eada64",
                "md5": "e1fc962fe6a88503eb21565fd620360e",
                "sha256": "c951818c0da31f0725c7a16fdba37dbd20070fa4213da697c64379c1b1cbdfea"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e1fc962fe6a88503eb21565fd620360e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3600841,
            "upload_time": "2024-01-15T20:55:17",
            "upload_time_iso_8601": "2024-01-15T20:55:17.011278Z",
            "url": "https://files.pythonhosted.org/packages/82/47/7d41f338b502d1bfff14ffff3e4d2a0e2faf794e6914724cb233c9eada64/portforward-0.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21b334e58058ddacf42ab779f473e05180bc48c12b49307dfb7ee4727bc42019",
                "md5": "518fed2b0935ac0e8fd0360f251df4a6",
                "sha256": "e07fd98f4b5730fcea27e7a13d069d55a3a2afd18e2f680589f485ee4da4c575"
            },
            "downloads": -1,
            "filename": "portforward-0.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "518fed2b0935ac0e8fd0360f251df4a6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 35783,
            "upload_time": "2024-01-15T20:55:20",
            "upload_time_iso_8601": "2024-01-15T20:55:20.026299Z",
            "url": "https://files.pythonhosted.org/packages/21/b3/34e58058ddacf42ab779f473e05180bc48c12b49307dfb7ee4727bc42019/portforward-0.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-15 20:55:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pytogo",
    "github_project": "portforward",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "portforward"
}
        
Elapsed time: 0.17221s