pyslang


Namepyslang JSON
Version 5.0.0 PyPI version JSON
download
home_pagehttps://github.com/MikePopoloski/pyslang
SummaryPython bindings for slang, a library for compiling SystemVerilog
upload_time2023-12-26 19:34:07
maintainer
docs_urlNone
authorMike Popoloski
requires_python>=3.7
licenseMIT
keywords slang verilog systemverilog parsing compiler eda
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyslang - Language bindings for slang, SystemVerilog parsing and compilation library

[![build](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml/badge.svg)](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml)
[![PyPI](https://img.shields.io/pypi/v/pyslang.svg)](https://pypi.org/project/pyslang/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/MikePopoloski/pyslang/blob/master/LICENSE)
[![Join the chat at https://gitter.im/MikePopoloski/slang](https://badges.gitter.im/MikePopoloski/slang.svg)](https://gitter.im/MikePopoloski/slang?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

slang is a software library that provides various components for lexing, parsing, type checking, and elaborating SystemVerilog code. pyslang exposes that library
to Python projects.

Full documentation is available on the website: https://sv-lang.com

## Installation
pyslang can be installed like any other Python library, using (a recent version of) the Python package manager `pip`, on Linux, macOS, and Windows:
```
pip install pyslang
```
or, to update your installed version to the latest release:
```
pip install -U pyslang
```
or, to checkout and install a local build:
```
git clone https://github.com/MikePopoloski/pyslang.git
cd pyslang
git submodule update --init --recursive
pip install .
```

## Example usage

Given a 'test.sv' source file:
```sv
module memory(
    address,
    data_in,
    data_out,
    read_write,
    chip_en
  );

  input wire [7:0] address, data_in;
  output reg [7:0] data_out;
  input wire read_write, chip_en;

  reg [7:0] mem [0:255];

  always @ (address or data_in or read_write or chip_en)
    if (read_write == 1 && chip_en == 1) begin
      mem[address] = data_in;
  end

  always @ (read_write or chip_en or address)
    if (read_write == 0 && chip_en)
      data_out = mem[address];
    else
      data_out = 0;

endmodule
```

We can use slang to load the syntax tree and inspect it:
```py
import pyslang

tree = pyslang.SyntaxTree.fromFile('test.sv')
mod = tree.root.members[0]
print(mod.header.name.value)
print(mod.members[0].kind)
print(mod.members[1].header.dataType)
```

```
memory
SyntaxKind.PortDeclaration
reg [7:0]
```

We can also evaluate arbitrary SystemVerilog expressions:
```py
session = pyslang.ScriptSession()
session.eval("logic bit_arr [16] = '{0:1, 1:1, 2:1, default:0};")
result = session.eval("bit_arr.sum with ( int'(item) );")
print(result)
```

```
3
```

## Contact & Support

If you encounter a bug, have questions, or want to contribute, please get in touch by opening a GitHub issue or posting a message on Gitter.

Contributions are welcome, whether they be in the form of bug reports, comments, suggestions, documentation improvements, or full fledged new features via pull requests.

## License

slang (and pyslang) is licensed under the MIT license:

>   Copyright (c) 2015-2023 Michael Popoloski
>
>   Permission is hereby granted, free of charge, to any person obtaining a copy
>   of this software and associated documentation files (the "Software"), to deal
>   in the Software without restriction, including without limitation the rights
>   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
>   copies of the Software, and to permit persons to whom the Software is
>   furnished to do so, subject to the following conditions:
>
>   The above copyright notice and this permission notice shall be included in
>   all copies or substantial portions of the Software.
>
>   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
>   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
>   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
>   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>   THE SOFTWARE.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MikePopoloski/pyslang",
    "name": "pyslang",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "slang,verilog,systemverilog,parsing,compiler,eda",
    "author": "Mike Popoloski",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/17/ab/d79995777be00bab1138f26e2a6d403fbfe0654c478218857dff1c00575e/pyslang-5.0.0.tar.gz",
    "platform": null,
    "description": "# pyslang - Language bindings for slang, SystemVerilog parsing and compilation library\n\n[![build](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml/badge.svg)](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml)\n[![PyPI](https://img.shields.io/pypi/v/pyslang.svg)](https://pypi.org/project/pyslang/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/MikePopoloski/pyslang/blob/master/LICENSE)\n[![Join the chat at https://gitter.im/MikePopoloski/slang](https://badges.gitter.im/MikePopoloski/slang.svg)](https://gitter.im/MikePopoloski/slang?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nslang is a software library that provides various components for lexing, parsing, type checking, and elaborating SystemVerilog code. pyslang exposes that library\nto Python projects.\n\nFull documentation is available on the website: https://sv-lang.com\n\n## Installation\npyslang can be installed like any other Python library, using (a recent version of) the Python package manager `pip`, on Linux, macOS, and Windows:\n```\npip install pyslang\n```\nor, to update your installed version to the latest release:\n```\npip install -U pyslang\n```\nor, to checkout and install a local build:\n```\ngit clone https://github.com/MikePopoloski/pyslang.git\ncd pyslang\ngit submodule update --init --recursive\npip install .\n```\n\n## Example usage\n\nGiven a 'test.sv' source file:\n```sv\nmodule memory(\n    address,\n    data_in,\n    data_out,\n    read_write,\n    chip_en\n  );\n\n  input wire [7:0] address, data_in;\n  output reg [7:0] data_out;\n  input wire read_write, chip_en;\n\n  reg [7:0] mem [0:255];\n\n  always @ (address or data_in or read_write or chip_en)\n    if (read_write == 1 && chip_en == 1) begin\n      mem[address] = data_in;\n  end\n\n  always @ (read_write or chip_en or address)\n    if (read_write == 0 && chip_en)\n      data_out = mem[address];\n    else\n      data_out = 0;\n\nendmodule\n```\n\nWe can use slang to load the syntax tree and inspect it:\n```py\nimport pyslang\n\ntree = pyslang.SyntaxTree.fromFile('test.sv')\nmod = tree.root.members[0]\nprint(mod.header.name.value)\nprint(mod.members[0].kind)\nprint(mod.members[1].header.dataType)\n```\n\n```\nmemory\nSyntaxKind.PortDeclaration\nreg [7:0]\n```\n\nWe can also evaluate arbitrary SystemVerilog expressions:\n```py\nsession = pyslang.ScriptSession()\nsession.eval(\"logic bit_arr [16] = '{0:1, 1:1, 2:1, default:0};\")\nresult = session.eval(\"bit_arr.sum with ( int'(item) );\")\nprint(result)\n```\n\n```\n3\n```\n\n## Contact & Support\n\nIf you encounter a bug, have questions, or want to contribute, please get in touch by opening a GitHub issue or posting a message on Gitter.\n\nContributions are welcome, whether they be in the form of bug reports, comments, suggestions, documentation improvements, or full fledged new features via pull requests.\n\n## License\n\nslang (and pyslang) is licensed under the MIT license:\n\n>   Copyright (c) 2015-2023 Michael Popoloski\n>\n>   Permission is hereby granted, free of charge, to any person obtaining a copy\n>   of this software and associated documentation files (the \"Software\"), to deal\n>   in the Software without restriction, including without limitation the rights\n>   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n>   copies of the Software, and to permit persons to whom the Software is\n>   furnished to do so, subject to the following conditions:\n>\n>   The above copyright notice and this permission notice shall be included in\n>   all copies or substantial portions of the Software.\n>\n>   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n>   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n>   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n>   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n>   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n>   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n>   THE SOFTWARE.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python bindings for slang, a library for compiling SystemVerilog",
    "version": "5.0.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/MikePopoloski/slang/issues",
        "Documentation": "https://sv-lang.com/",
        "Homepage": "https://github.com/MikePopoloski/pyslang",
        "Source Code": "https://github.com/MikePopoloski/pyslang"
    },
    "split_keywords": [
        "slang",
        "verilog",
        "systemverilog",
        "parsing",
        "compiler",
        "eda"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0a83fd5d8fb4e9c7a04393b37743f54c7da53e88ac4b3a2b65b66e024222af86",
                "md5": "be196a92d87fc5206116e4a3b94905ad",
                "sha256": "688a7615dc0c990549c7f3b1f9d362e2784d99c521b545eb78fa44634c013a1c"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp310-cp310-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "be196a92d87fc5206116e4a3b94905ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 5290027,
            "upload_time": "2023-12-26T19:33:25",
            "upload_time_iso_8601": "2023-12-26T19:33:25.193930Z",
            "url": "https://files.pythonhosted.org/packages/0a/83/fd5d8fb4e9c7a04393b37743f54c7da53e88ac4b3a2b65b66e024222af86/pyslang-5.0.0-cp310-cp310-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "643fa089617b4015e98f5ef532d90edb985cfc35a39bf334b04f2e51524f3237",
                "md5": "f593a3d5175abb20d2cf387265ee86c1",
                "sha256": "320b319101abfd68790f55780025af28451c128408b17cc65afdfe3cc28e9afd"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f593a3d5175abb20d2cf387265ee86c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2754127,
            "upload_time": "2023-12-26T19:33:27",
            "upload_time_iso_8601": "2023-12-26T19:33:27.488972Z",
            "url": "https://files.pythonhosted.org/packages/64/3f/a089617b4015e98f5ef532d90edb985cfc35a39bf334b04f2e51524f3237/pyslang-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b8a9f64348c296fe4deddb7fc95e7cc58ea301f714a216c5f4a1d9a1d34396f7",
                "md5": "c9c4e73ec5a9cd7d592dd490cfbd5d4f",
                "sha256": "216cab758282c534917a2d9c5880b5632c417bb7e3bd797889b73f96cf2bbde2"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c9c4e73ec5a9cd7d592dd490cfbd5d4f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 3509882,
            "upload_time": "2023-12-26T19:33:29",
            "upload_time_iso_8601": "2023-12-26T19:33:29.658345Z",
            "url": "https://files.pythonhosted.org/packages/b8/a9/f64348c296fe4deddb7fc95e7cc58ea301f714a216c5f4a1d9a1d34396f7/pyslang-5.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35e3c94ed923869443539e5496ee18ff13ce829c015d3a1879995c728065f13b",
                "md5": "f6f25473a4762bcc166b6c82d9f6e9b1",
                "sha256": "444f9197c82207223ef505bb838a3da8dbb02b427d1ca50aeda4dad377182ad8"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f6f25473a4762bcc166b6c82d9f6e9b1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2158648,
            "upload_time": "2023-12-26T19:33:31",
            "upload_time_iso_8601": "2023-12-26T19:33:31.761057Z",
            "url": "https://files.pythonhosted.org/packages/35/e3/c94ed923869443539e5496ee18ff13ce829c015d3a1879995c728065f13b/pyslang-5.0.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5fb8feded344a8db7e07d4f58cd0c1ba567697c158350cd5eadbb5a43baa2ec4",
                "md5": "d8a0ea4256ef715bfa0a728874895eca",
                "sha256": "0957d0f08e2f01f37a73455596d75a046164efde0fa30ed28cf55747268b54bf"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp311-cp311-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "d8a0ea4256ef715bfa0a728874895eca",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 5289892,
            "upload_time": "2023-12-26T19:33:33",
            "upload_time_iso_8601": "2023-12-26T19:33:33.803672Z",
            "url": "https://files.pythonhosted.org/packages/5f/b8/feded344a8db7e07d4f58cd0c1ba567697c158350cd5eadbb5a43baa2ec4/pyslang-5.0.0-cp311-cp311-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd47352d81ec9e3d001ea4f6cf3902f7fadc9c251241db263eb77cd203ec0d7f",
                "md5": "ecac8b3ba0cab35644e897524cfb75e0",
                "sha256": "d47052c16d28903c699da89cc8cf895faf5827cea61ecc7c530898f7e8cab975"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ecac8b3ba0cab35644e897524cfb75e0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2754049,
            "upload_time": "2023-12-26T19:33:35",
            "upload_time_iso_8601": "2023-12-26T19:33:35.420610Z",
            "url": "https://files.pythonhosted.org/packages/cd/47/352d81ec9e3d001ea4f6cf3902f7fadc9c251241db263eb77cd203ec0d7f/pyslang-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49c3321f4f564a3be1f8a31f2de6daf5398ccd4e53cfe12d0f4a6738177107a5",
                "md5": "7292a0b35b5194ad47b4f33296acd35e",
                "sha256": "4d1037ece801d68126a4e9c33c5700e4c489cd6e49befc05fc2563547fe4b881"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7292a0b35b5194ad47b4f33296acd35e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 3511043,
            "upload_time": "2023-12-26T19:33:37",
            "upload_time_iso_8601": "2023-12-26T19:33:37.500832Z",
            "url": "https://files.pythonhosted.org/packages/49/c3/321f4f564a3be1f8a31f2de6daf5398ccd4e53cfe12d0f4a6738177107a5/pyslang-5.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "956d426231e495484abd87a9f6c34c4f8754c87969601e41e440e9965eb87577",
                "md5": "92a222e6b624ed23ce02707011962526",
                "sha256": "e171787cf938857b3142bd2624835b30e8f0a263b16caedbace1e8814bc399bc"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "92a222e6b624ed23ce02707011962526",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2158515,
            "upload_time": "2023-12-26T19:33:38",
            "upload_time_iso_8601": "2023-12-26T19:33:38.913254Z",
            "url": "https://files.pythonhosted.org/packages/95/6d/426231e495484abd87a9f6c34c4f8754c87969601e41e440e9965eb87577/pyslang-5.0.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "90944c66f16826b3fac2559efff8d63d7f77fc27b664e6f2a9e230d4f7b84345",
                "md5": "f406db20d1bbfd235e56f9f7ba48066b",
                "sha256": "1540f905ddc3764c7537a31d65bf166c547cf3047ed74734b50448367935e2ce"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp312-cp312-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "f406db20d1bbfd235e56f9f7ba48066b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 5328381,
            "upload_time": "2023-12-26T19:33:40",
            "upload_time_iso_8601": "2023-12-26T19:33:40.226405Z",
            "url": "https://files.pythonhosted.org/packages/90/94/4c66f16826b3fac2559efff8d63d7f77fc27b664e6f2a9e230d4f7b84345/pyslang-5.0.0-cp312-cp312-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1782f958c83781c5882e9bbebaac0cf587e91e292623063cb7ac55fd00c71ce9",
                "md5": "cc73d1a53db247fdc3409c70305a5056",
                "sha256": "5dbba0880a6b5085447ead35e22741883a7b3d8945d97d16730c49bdb481c7a5"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cc73d1a53db247fdc3409c70305a5056",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2780878,
            "upload_time": "2023-12-26T19:33:42",
            "upload_time_iso_8601": "2023-12-26T19:33:42.364400Z",
            "url": "https://files.pythonhosted.org/packages/17/82/f958c83781c5882e9bbebaac0cf587e91e292623063cb7ac55fd00c71ce9/pyslang-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "14f9f81fbfa49fe6ad3e195d2f14ff5d5d42f832b087a6db8be078e0ea81c65e",
                "md5": "0237a5dd37d6f5af43f88deec83a1b43",
                "sha256": "b587f31e01e26170bebb7280b86435a3de1c1368234ee4cfd365ba31d0773cb3"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0237a5dd37d6f5af43f88deec83a1b43",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 3508634,
            "upload_time": "2023-12-26T19:33:44",
            "upload_time_iso_8601": "2023-12-26T19:33:44.404918Z",
            "url": "https://files.pythonhosted.org/packages/14/f9/f81fbfa49fe6ad3e195d2f14ff5d5d42f832b087a6db8be078e0ea81c65e/pyslang-5.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92f108bd73bc6b9951969bae711a7aff779c7f1eaa4a25b35453d6a79117d8a8",
                "md5": "1abd94f15b588b70dbca8e5656b80db4",
                "sha256": "908fb71ddc34f8931cd0fda5981167a4fa6998751d1928132880fa24bf09f410"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1abd94f15b588b70dbca8e5656b80db4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2158073,
            "upload_time": "2023-12-26T19:33:46",
            "upload_time_iso_8601": "2023-12-26T19:33:46.207282Z",
            "url": "https://files.pythonhosted.org/packages/92/f1/08bd73bc6b9951969bae711a7aff779c7f1eaa4a25b35453d6a79117d8a8/pyslang-5.0.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c579acbea633f2a2d71eca5ca317edd2dd01e1a0d99b863cfc5e67181a590262",
                "md5": "c0e6bea9f948119b63ca17c6c66869e3",
                "sha256": "3443b55af0e46fd00a6add363b02574e5ce302e5c96f8aa11e6f279f8dbdcd2f"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c0e6bea9f948119b63ca17c6c66869e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2723981,
            "upload_time": "2023-12-26T19:33:48",
            "upload_time_iso_8601": "2023-12-26T19:33:48.159463Z",
            "url": "https://files.pythonhosted.org/packages/c5/79/acbea633f2a2d71eca5ca317edd2dd01e1a0d99b863cfc5e67181a590262/pyslang-5.0.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c7be476360f142be10ad823d5a7e20cebff41940de7648568d06994d4c75472a",
                "md5": "7fda70004e13da317b832512b92707e4",
                "sha256": "5bf5d267279d8fe1e29a2522974883243c2d6bcaf53500d1b5b9ab488eec8644"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7fda70004e13da317b832512b92707e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 3604861,
            "upload_time": "2023-12-26T19:33:50",
            "upload_time_iso_8601": "2023-12-26T19:33:50.136337Z",
            "url": "https://files.pythonhosted.org/packages/c7/be/476360f142be10ad823d5a7e20cebff41940de7648568d06994d4c75472a/pyslang-5.0.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a552b5a8dd010d3f74923b46aad56e6734160d6bad4a9bbe18609014ec00da7f",
                "md5": "09a4bcef404618d815ab1fc7161e14df",
                "sha256": "69d93a6fab1b272126b87eba272fe69403a1f4321094348005f88d6fc82f048e"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "09a4bcef404618d815ab1fc7161e14df",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2122256,
            "upload_time": "2023-12-26T19:33:51",
            "upload_time_iso_8601": "2023-12-26T19:33:51.552871Z",
            "url": "https://files.pythonhosted.org/packages/a5/52/b5a8dd010d3f74923b46aad56e6734160d6bad4a9bbe18609014ec00da7f/pyslang-5.0.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ccf3fe2068c4a32fbdf546de8c253eb4574b246a4dd80d9f2de7c9785b0335e",
                "md5": "f17b3bf87ec92ade80ce72d9c2d78b69",
                "sha256": "3f4511f82980a74bdaa85ed144cace03b8119555ea7baa0cfede2b48888af10b"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp38-cp38-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "f17b3bf87ec92ade80ce72d9c2d78b69",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 5289543,
            "upload_time": "2023-12-26T19:33:52",
            "upload_time_iso_8601": "2023-12-26T19:33:52.912789Z",
            "url": "https://files.pythonhosted.org/packages/6c/cf/3fe2068c4a32fbdf546de8c253eb4574b246a4dd80d9f2de7c9785b0335e/pyslang-5.0.0-cp38-cp38-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "acb526ccb50496aaa6be9759abe32582a3cb41bbff7cbb99d08b0517e814cff2",
                "md5": "6cdb17f3134cb2764ec63a9aa9066e2d",
                "sha256": "94c0ae8a755af1b55ca0483895ee2e6a3cd973ee778ee6e7e09c4d23a701cd23"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp38-cp38-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6cdb17f3134cb2764ec63a9aa9066e2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 2754129,
            "upload_time": "2023-12-26T19:33:54",
            "upload_time_iso_8601": "2023-12-26T19:33:54.451087Z",
            "url": "https://files.pythonhosted.org/packages/ac/b5/26ccb50496aaa6be9759abe32582a3cb41bbff7cbb99d08b0517e814cff2/pyslang-5.0.0-cp38-cp38-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed9394d8a5aa44974c4ef0da2a93e1c89b6064d5dafbeace7527b5a4b5bdb90c",
                "md5": "6ec2bb544ba84daa2b5f8ed70302599e",
                "sha256": "00a4319ab820bb9880c4ab9907c76e1da8b4918dd541a0c3b22fe44a6c9dfb80"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6ec2bb544ba84daa2b5f8ed70302599e",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 3508152,
            "upload_time": "2023-12-26T19:33:55",
            "upload_time_iso_8601": "2023-12-26T19:33:55.880529Z",
            "url": "https://files.pythonhosted.org/packages/ed/93/94d8a5aa44974c4ef0da2a93e1c89b6064d5dafbeace7527b5a4b5bdb90c/pyslang-5.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f8d387a7d0ac778a919726050113fb7e7c448b7486b94e176626385513d8e6fc",
                "md5": "41e9824a190e2d7226fc9caafeb55d32",
                "sha256": "5f196983a238542bd3136c160b61dfd56eaf6bf834e9421e02ea3fe6bc6240b0"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "41e9824a190e2d7226fc9caafeb55d32",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 2158849,
            "upload_time": "2023-12-26T19:33:57",
            "upload_time_iso_8601": "2023-12-26T19:33:57.390884Z",
            "url": "https://files.pythonhosted.org/packages/f8/d3/87a7d0ac778a919726050113fb7e7c448b7486b94e176626385513d8e6fc/pyslang-5.0.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7920cf97573bdc9b75161ca0137f98d24d8afc52d4f2b55b579dd909521459e3",
                "md5": "fe80df4486025794e1ea095b252ea4d2",
                "sha256": "0c4157c364276b183a44799aac588703fb949491ad057f30e4954af914c99d9e"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp39-cp39-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "fe80df4486025794e1ea095b252ea4d2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 5289959,
            "upload_time": "2023-12-26T19:33:59",
            "upload_time_iso_8601": "2023-12-26T19:33:59.571726Z",
            "url": "https://files.pythonhosted.org/packages/79/20/cf97573bdc9b75161ca0137f98d24d8afc52d4f2b55b579dd909521459e3/pyslang-5.0.0-cp39-cp39-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff17f4cee907e0ec545d48fe4a59dfdae70feb553df2833f06ea1f5e70767a05",
                "md5": "6c05f182db948e7a04f25efea1a09572",
                "sha256": "e5386c36e80cf4ddcb36be4004566dc343f5759fd279e6a8c8a804f0692695da"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp39-cp39-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6c05f182db948e7a04f25efea1a09572",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2754129,
            "upload_time": "2023-12-26T19:34:01",
            "upload_time_iso_8601": "2023-12-26T19:34:01.766176Z",
            "url": "https://files.pythonhosted.org/packages/ff/17/f4cee907e0ec545d48fe4a59dfdae70feb553df2833f06ea1f5e70767a05/pyslang-5.0.0-cp39-cp39-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2abd0e62f357304be30e936a088912e58cf668445c026beefa4b218c2dbf00cc",
                "md5": "71aa0c8e1f08e4aee6be16cae64c2051",
                "sha256": "6239829d497bf2ef4de65f4cd299b3f95663a10bd8c63d30d006e46812a4ec5b"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "71aa0c8e1f08e4aee6be16cae64c2051",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 3509599,
            "upload_time": "2023-12-26T19:34:03",
            "upload_time_iso_8601": "2023-12-26T19:34:03.491537Z",
            "url": "https://files.pythonhosted.org/packages/2a/bd/0e62f357304be30e936a088912e58cf668445c026beefa4b218c2dbf00cc/pyslang-5.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bad07ff2d3d34ba58593caf49bcd5c3b74c50627994e706aebd0a6b894d9b3ae",
                "md5": "f5a45f166dcf8830b85957ea8e6c07dc",
                "sha256": "d8382086e1c28f3d36ae01524d35e450c38ae3fb466ffd8d2eb1b8096748fbdf"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f5a45f166dcf8830b85957ea8e6c07dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2397402,
            "upload_time": "2023-12-26T19:34:06",
            "upload_time_iso_8601": "2023-12-26T19:34:06.041353Z",
            "url": "https://files.pythonhosted.org/packages/ba/d0/7ff2d3d34ba58593caf49bcd5c3b74c50627994e706aebd0a6b894d9b3ae/pyslang-5.0.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17abd79995777be00bab1138f26e2a6d403fbfe0654c478218857dff1c00575e",
                "md5": "7ad01e6b011478aca0c186c948496ef6",
                "sha256": "5124048bc44f0a10e0a8127a64fb4addbd2441ec71fde316e0421cf9005d3ae3"
            },
            "downloads": -1,
            "filename": "pyslang-5.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7ad01e6b011478aca0c186c948496ef6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1153504,
            "upload_time": "2023-12-26T19:34:07",
            "upload_time_iso_8601": "2023-12-26T19:34:07.732060Z",
            "url": "https://files.pythonhosted.org/packages/17/ab/d79995777be00bab1138f26e2a6d403fbfe0654c478218857dff1c00575e/pyslang-5.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-26 19:34:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MikePopoloski",
    "github_project": "pyslang",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyslang"
}
        
Elapsed time: 0.20165s