pyinjector


Namepyinjector JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://github.com/kmaork/pyinjector
SummaryA tool/library allowing dynamic library injection into running processes
upload_time2023-07-18 23:32:41
maintainer
docs_urlNone
authorMaor Kleinberger
requires_python>=3.7
license
keywords injection dll so library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Pyinjector

[![Tests (GitHub Actions)](https://github.com/kmaork/pyinjector/workflows/Tests/badge.svg)](https://github.com/kmaork/pyinjector)
[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/pyinjector.svg)](https://pypi.python.org/pypi/pyinjector/)
[![PyPI version](https://badge.fury.io/py/pyinjector.svg)](https://badge.fury.io/py/pyinjector)
[![Downloads](https://pepy.tech/badge/pyinjector)](https://pepy.tech/project/pyinjector)
[![GitHub license](https://img.shields.io/github/license/kmaork/pyinjector)](https://github.com/kmaork/pyinjector/blob/master/LICENSE.txt)

A cross-platform tool/library allowing dynamic library injection into running processes.
If you are looking for a way to inject *python* code into a running process, try the [hypno](https://github.com/kmaork/hypno) library.

Pyinjector has no external python dependencies.
It is implemented as a python wrapper for [kubo/injector](https://github.com/kubo/injector).

### Installation
```shell script
pip install pyinjector
```
Both source distributions, `manylinux2010` wheels and windows wheels are uploaded to Pypi for every release.

### Usage
#### CLI
```shell script
inject <pid> <path/to/shared/library>
```

#### API
```python
from pyinjector import inject

inject(pid, path_to_so_file)
```

### How it works
We build [kubo/injector](https://github.com/kubo/injector) as a C-extension and use its interface using `ctypes`.
[kubo/injector](https://github.com/kubo/injector) is an awesome repo allowing to inject shared libraries into running
processes both on Windows (`CreateRemoteThread`), Linux (`ptrace`), and Mac (`task_for_pid`).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kmaork/pyinjector",
    "name": "pyinjector",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "injection dll so library",
    "author": "Maor Kleinberger",
    "author_email": "kmaork@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/88/29/39c0e37f817a768a2e1616e60ebd9b2aa9f5cc47b7ac28c7fe549420a85c/pyinjector-1.3.0.tar.gz",
    "platform": null,
    "description": "# Pyinjector\n\n[![Tests (GitHub Actions)](https://github.com/kmaork/pyinjector/workflows/Tests/badge.svg)](https://github.com/kmaork/pyinjector)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/pyinjector.svg)](https://pypi.python.org/pypi/pyinjector/)\n[![PyPI version](https://badge.fury.io/py/pyinjector.svg)](https://badge.fury.io/py/pyinjector)\n[![Downloads](https://pepy.tech/badge/pyinjector)](https://pepy.tech/project/pyinjector)\n[![GitHub license](https://img.shields.io/github/license/kmaork/pyinjector)](https://github.com/kmaork/pyinjector/blob/master/LICENSE.txt)\n\nA cross-platform tool/library allowing dynamic library injection into running processes.\nIf you are looking for a way to inject *python* code into a running process, try the [hypno](https://github.com/kmaork/hypno) library.\n\nPyinjector has no external python dependencies.\nIt is implemented as a python wrapper for [kubo/injector](https://github.com/kubo/injector).\n\n### Installation\n```shell script\npip install pyinjector\n```\nBoth source distributions, `manylinux2010` wheels and windows wheels are uploaded to Pypi for every release.\n\n### Usage\n#### CLI\n```shell script\ninject <pid> <path/to/shared/library>\n```\n\n#### API\n```python\nfrom pyinjector import inject\n\ninject(pid, path_to_so_file)\n```\n\n### How it works\nWe build [kubo/injector](https://github.com/kubo/injector) as a C-extension and use its interface using `ctypes`.\n[kubo/injector](https://github.com/kubo/injector) is an awesome repo allowing to inject shared libraries into running\nprocesses both on Windows (`CreateRemoteThread`), Linux (`ptrace`), and Mac (`task_for_pid`).\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A tool/library allowing dynamic library injection into running processes",
    "version": "1.3.0",
    "project_urls": {
        "Homepage": "https://github.com/kmaork/pyinjector"
    },
    "split_keywords": [
        "injection",
        "dll",
        "so",
        "library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cde44be9c34eebd55bf6b8b8ae70fd04c10c9e9cb95c78192d06c6e3d71cc87f",
                "md5": "9995a7a212e23941091b3b64bae688fa",
                "sha256": "75d187e86d85ee8289d6f0233f394aba65bc6b31b1972f21aa7005617617ad56"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9995a7a212e23941091b3b64bae688fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 48743,
            "upload_time": "2023-07-18T23:32:12",
            "upload_time_iso_8601": "2023-07-18T23:32:12.233043Z",
            "url": "https://files.pythonhosted.org/packages/cd/e4/4be9c34eebd55bf6b8b8ae70fd04c10c9e9cb95c78192d06c6e3d71cc87f/pyinjector-1.3.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8efef77cb3ca4ee285a16f1bee3709f94f6f95f08590f5be0d56b5d8755af282",
                "md5": "f7557c36b264b9de507835a01a507581",
                "sha256": "3ceac38da74068eeaba8e545541bb1b583db731745364687b5bdf05c3ca78f91"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f7557c36b264b9de507835a01a507581",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 43619,
            "upload_time": "2023-07-18T23:32:14",
            "upload_time_iso_8601": "2023-07-18T23:32:14.098436Z",
            "url": "https://files.pythonhosted.org/packages/8e/fe/f77cb3ca4ee285a16f1bee3709f94f6f95f08590f5be0d56b5d8755af282/pyinjector-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e732294596a1aa0ecd7e21c866ae74a5a229a09e3de9f4c2db78cd3144153a80",
                "md5": "e5b999141a252e861f609bf7cfacfc01",
                "sha256": "03ffac2dd41fd16f9f953eb172a74f2c8c1168b312579b2c22cc6a69d6b0b93b"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "e5b999141a252e861f609bf7cfacfc01",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 13155,
            "upload_time": "2023-07-18T23:32:15",
            "upload_time_iso_8601": "2023-07-18T23:32:15.152109Z",
            "url": "https://files.pythonhosted.org/packages/e7/32/294596a1aa0ecd7e21c866ae74a5a229a09e3de9f4c2db78cd3144153a80/pyinjector-1.3.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2318277729e5365a678a369eae3d683e256507b4810b28846c309f9a15bc3e0d",
                "md5": "400ad3cfc054b039c5c8e2f139e7fe5e",
                "sha256": "91176d54901ef21d5b6da869778a814e6a4052eb3a1410492bb442cec367cb67"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "400ad3cfc054b039c5c8e2f139e7fe5e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 15464,
            "upload_time": "2023-07-18T23:32:16",
            "upload_time_iso_8601": "2023-07-18T23:32:16.697970Z",
            "url": "https://files.pythonhosted.org/packages/23/18/277729e5365a678a369eae3d683e256507b4810b28846c309f9a15bc3e0d/pyinjector-1.3.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a5ea16c05052dd27b3f9264245a0faeff3e50f967c702e3ebbe63ab58000fe0",
                "md5": "9f187d86fda022baf68aa1b47addc828",
                "sha256": "e62b6ea0e621749a5d6aa2a7ca457a54051c886614e0cbb41a1f7d1ecbab9e6a"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "9f187d86fda022baf68aa1b47addc828",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 27152,
            "upload_time": "2023-07-18T23:32:18",
            "upload_time_iso_8601": "2023-07-18T23:32:18.242125Z",
            "url": "https://files.pythonhosted.org/packages/9a/5e/a16c05052dd27b3f9264245a0faeff3e50f967c702e3ebbe63ab58000fe0/pyinjector-1.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb8c5c7ece580d43b012a57fb8056ccaa055a7d90c1600301b4a7975e14cb036",
                "md5": "d247956b8adf489abc432aa01bcf88ba",
                "sha256": "f4888a76cef03ab07697b690bc4aba453efde12f24469e17bd0b8f4f71f090af"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d247956b8adf489abc432aa01bcf88ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 48746,
            "upload_time": "2023-07-18T23:32:19",
            "upload_time_iso_8601": "2023-07-18T23:32:19.299672Z",
            "url": "https://files.pythonhosted.org/packages/bb/8c/5c7ece580d43b012a57fb8056ccaa055a7d90c1600301b4a7975e14cb036/pyinjector-1.3.0-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "319a9862b1c6d2042f4ae875897e21d4b3fdf744ad6f2d3358333baf952e7144",
                "md5": "a4aa1b7efa642228a7d9800db1ec5c09",
                "sha256": "5731d3ddf276117138b4f85d9b2c6f4bf2719be64f5a31d17a66512bb7bd1239"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a4aa1b7efa642228a7d9800db1ec5c09",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 43625,
            "upload_time": "2023-07-18T23:32:20",
            "upload_time_iso_8601": "2023-07-18T23:32:20.560594Z",
            "url": "https://files.pythonhosted.org/packages/31/9a/9862b1c6d2042f4ae875897e21d4b3fdf744ad6f2d3358333baf952e7144/pyinjector-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "082d10f4eaaf05fc10414771d06694e62c3e1c1454f7be8e64fd1d43cf7e2c23",
                "md5": "7da9d520c0cf7ce0bca0c13c0f147e76",
                "sha256": "7b31767b7584d2dfd12abb07f4309782b8e693a71e7719b79452dfd628a324b0"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "7da9d520c0cf7ce0bca0c13c0f147e76",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 13157,
            "upload_time": "2023-07-18T23:32:21",
            "upload_time_iso_8601": "2023-07-18T23:32:21.804216Z",
            "url": "https://files.pythonhosted.org/packages/08/2d/10f4eaaf05fc10414771d06694e62c3e1c1454f7be8e64fd1d43cf7e2c23/pyinjector-1.3.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c3b81ccd52dbc2555a7a5933dd8bd05d15aed8614e531d06c0611b34a3fff180",
                "md5": "fad93c06699bf3b52b379937d1277626",
                "sha256": "895bab287d9f218ee069f9c5265afda04c0bc7af59a974400d0e980cdb8efa06"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fad93c06699bf3b52b379937d1277626",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 15467,
            "upload_time": "2023-07-18T23:32:23",
            "upload_time_iso_8601": "2023-07-18T23:32:23.443465Z",
            "url": "https://files.pythonhosted.org/packages/c3/b8/1ccd52dbc2555a7a5933dd8bd05d15aed8614e531d06c0611b34a3fff180/pyinjector-1.3.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6d015c59b1a6834c1cfe3c5bf66f9573f8f5415fe899817cdf66cfc0696de5d9",
                "md5": "d058e37b25a518cb333b289382ab5604",
                "sha256": "34ec2154b6a1261d3b507dcb45fe2a061a283d5f3f08d95be368b2bb216da034"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d058e37b25a518cb333b289382ab5604",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 48495,
            "upload_time": "2023-07-18T23:32:25",
            "upload_time_iso_8601": "2023-07-18T23:32:25.139203Z",
            "url": "https://files.pythonhosted.org/packages/6d/01/5c59b1a6834c1cfe3c5bf66f9573f8f5415fe899817cdf66cfc0696de5d9/pyinjector-1.3.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a552fe344fb91b460903f96be71b5d4c286990a0d6846d93e2f8a59a848d92cc",
                "md5": "4e446b1365016149962e078b87466029",
                "sha256": "09c8e07faeb9dfe8615ec52d7bb04d22a8804d4d99299f04c4e2c90b42e875d3"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4e446b1365016149962e078b87466029",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 43065,
            "upload_time": "2023-07-18T23:32:26",
            "upload_time_iso_8601": "2023-07-18T23:32:26.874803Z",
            "url": "https://files.pythonhosted.org/packages/a5/52/fe344fb91b460903f96be71b5d4c286990a0d6846d93e2f8a59a848d92cc/pyinjector-1.3.0-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8d3674b14a8fa3b8d3e6231ed733221259b7ebda2a0708f3d6662035048954f",
                "md5": "4d66b7fb9245f35c3990eeb1aa00af50",
                "sha256": "98bbef6b869680fca5b8a5315bd9099ce9e93bf41f9e166bd0ef3b54ff731212"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "4d66b7fb9245f35c3990eeb1aa00af50",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 13141,
            "upload_time": "2023-07-18T23:32:28",
            "upload_time_iso_8601": "2023-07-18T23:32:28.495992Z",
            "url": "https://files.pythonhosted.org/packages/c8/d3/674b14a8fa3b8d3e6231ed733221259b7ebda2a0708f3d6662035048954f/pyinjector-1.3.0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e5bdf4572f3efa9bf4fbecf1eee40605ac86f1fd2b9cd848bfea8c0a5aa0f23",
                "md5": "60cba80172742f83e98b22913aff55c0",
                "sha256": "5726dec8040a248ce958bedba61673669f7afe8d9d36c0c711630449a2df1f70"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "60cba80172742f83e98b22913aff55c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 15471,
            "upload_time": "2023-07-18T23:32:29",
            "upload_time_iso_8601": "2023-07-18T23:32:29.983091Z",
            "url": "https://files.pythonhosted.org/packages/3e/5b/df4572f3efa9bf4fbecf1eee40605ac86f1fd2b9cd848bfea8c0a5aa0f23/pyinjector-1.3.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "edd5157a6cce0096a1a1c93c5619c21074b5773b0fcad26b853fd9835a2b27cf",
                "md5": "9e429bd74bd6abae8e1c6151289216a2",
                "sha256": "691cb1a032606a7996ef367825ecaa09ce09bedb92c4e08ae9cbdb245bb6dcec"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9e429bd74bd6abae8e1c6151289216a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 49084,
            "upload_time": "2023-07-18T23:32:31",
            "upload_time_iso_8601": "2023-07-18T23:32:31.834609Z",
            "url": "https://files.pythonhosted.org/packages/ed/d5/157a6cce0096a1a1c93c5619c21074b5773b0fcad26b853fd9835a2b27cf/pyinjector-1.3.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "faae1e5aa273ed18f98da3be90f76a77ecc5e0b8b06176da492fba718b4b20bf",
                "md5": "0f7318ae8abedf4179ecaec1342061e7",
                "sha256": "5422f3f26fc1008868e71c917d474ce27da0810ae222cfbfe09a303c7354d984"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0f7318ae8abedf4179ecaec1342061e7",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 43592,
            "upload_time": "2023-07-18T23:32:33",
            "upload_time_iso_8601": "2023-07-18T23:32:33.040410Z",
            "url": "https://files.pythonhosted.org/packages/fa/ae/1e5aa273ed18f98da3be90f76a77ecc5e0b8b06176da492fba718b4b20bf/pyinjector-1.3.0-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c695cf55ca938681fa7a2b447c24a1e33e4aa35781be538e82c3ed0cbaf32c6a",
                "md5": "a10c0ebc5b98fe85de8ff25a3b81fdf4",
                "sha256": "c75dab079c3faf0aa0fe3903606824d8fd5c45c058853fb686b90795c527e59f"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "a10c0ebc5b98fe85de8ff25a3b81fdf4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 13164,
            "upload_time": "2023-07-18T23:32:34",
            "upload_time_iso_8601": "2023-07-18T23:32:34.131537Z",
            "url": "https://files.pythonhosted.org/packages/c6/95/cf55ca938681fa7a2b447c24a1e33e4aa35781be538e82c3ed0cbaf32c6a/pyinjector-1.3.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3f9c85680d0694d718c2ec1f7c6fe2ec41e36f183246acbe12e829ce85b0fe9",
                "md5": "105d4d42dcec8e41e786089dc6094cd4",
                "sha256": "e4d295a294c32aa5bc42002fdb4bac4347bc27a1cda317ac3fc90b6c40690be2"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "105d4d42dcec8e41e786089dc6094cd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 15470,
            "upload_time": "2023-07-18T23:32:35",
            "upload_time_iso_8601": "2023-07-18T23:32:35.705977Z",
            "url": "https://files.pythonhosted.org/packages/b3/f9/c85680d0694d718c2ec1f7c6fe2ec41e36f183246acbe12e829ce85b0fe9/pyinjector-1.3.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "984cf9af02be6d0c821056bd7b99d7a82468a064669a3ea43c75ce70b96fe8cd",
                "md5": "b1b460616cd8c81520adae12f9165ed1",
                "sha256": "d7b149cef0bf4824eb42672b4e500b8f6f093f5bf6d1f533b00fb72d226b5cb9"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b1b460616cd8c81520adae12f9165ed1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 48450,
            "upload_time": "2023-07-18T23:32:36",
            "upload_time_iso_8601": "2023-07-18T23:32:36.803593Z",
            "url": "https://files.pythonhosted.org/packages/98/4c/f9af02be6d0c821056bd7b99d7a82468a064669a3ea43c75ce70b96fe8cd/pyinjector-1.3.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99e51689a6a9216674b25bd914c2960c67a62ba293e30a859301685eafe9d4d7",
                "md5": "7cdf3e5253d8c759143b3249330cb0e8",
                "sha256": "02127b573fd08194e95175cfe46e9adc50dfb18a1282df2e8262b1e5b975fe0d"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7cdf3e5253d8c759143b3249330cb0e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 43349,
            "upload_time": "2023-07-18T23:32:38",
            "upload_time_iso_8601": "2023-07-18T23:32:38.023786Z",
            "url": "https://files.pythonhosted.org/packages/99/e5/1689a6a9216674b25bd914c2960c67a62ba293e30a859301685eafe9d4d7/pyinjector-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9947b1e66731dcaf88374c95456419d334978adf6fdac61cdb38d5d45c403fda",
                "md5": "969881abe26a3fd399270cd397bfefaf",
                "sha256": "241a2cadcc5cfe603cc9cf92b2dd445a118e270b3005d420aa267649326071f7"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "969881abe26a3fd399270cd397bfefaf",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 13161,
            "upload_time": "2023-07-18T23:32:39",
            "upload_time_iso_8601": "2023-07-18T23:32:39.055555Z",
            "url": "https://files.pythonhosted.org/packages/99/47/b1e66731dcaf88374c95456419d334978adf6fdac61cdb38d5d45c403fda/pyinjector-1.3.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a533362acacec8b5615f2f9f7e4df10350e216e4594441636818383daff3d051",
                "md5": "0e48e7b329c7186253fcfca9722a53e6",
                "sha256": "fc1e6d00f6d2661b6e205ef200e7b5a7246b4a3eacb61b788264e349e7d9b25b"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0e48e7b329c7186253fcfca9722a53e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 15473,
            "upload_time": "2023-07-18T23:32:40",
            "upload_time_iso_8601": "2023-07-18T23:32:40.166248Z",
            "url": "https://files.pythonhosted.org/packages/a5/33/362acacec8b5615f2f9f7e4df10350e216e4594441636818383daff3d051/pyinjector-1.3.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "882939c0e37f817a768a2e1616e60ebd9b2aa9f5cc47b7ac28c7fe549420a85c",
                "md5": "c1bc3b2d6525d0d6b4a86616dce0ecc0",
                "sha256": "181b8b3b418a6d88c2e9343b3b0d1e99f98961cb68b16515bbd086ea7c4c25e3"
            },
            "downloads": -1,
            "filename": "pyinjector-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c1bc3b2d6525d0d6b4a86616dce0ecc0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 39109,
            "upload_time": "2023-07-18T23:32:41",
            "upload_time_iso_8601": "2023-07-18T23:32:41.339004Z",
            "url": "https://files.pythonhosted.org/packages/88/29/39c0e37f817a768a2e1616e60ebd9b2aa9f5cc47b7ac28c7fe549420a85c/pyinjector-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-18 23:32:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kmaork",
    "github_project": "pyinjector",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "pyinjector"
}
        
Elapsed time: 1.86148s