pyslang


Namepyslang JSON
Version 6.0 PyPI version JSON
download
home_pageNone
SummaryPython bindings for slang, a library for compiling SystemVerilog
upload_time2024-04-22 03:09:17
maintainerNone
docs_urlNone
authorMike Popoloski
requires_pythonNone
licenseNone
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": null,
    "name": "pyslang",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "slang, verilog, systemverilog, parsing, compiler, eda",
    "author": "Mike Popoloski",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/b5/7c/67a1aaf90f48d2a59bb95816a7aee75c9b6a04305bef90c0f2c09e392aea/pyslang-6.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": null,
    "summary": "Python bindings for slang, a library for compiling SystemVerilog",
    "version": "6.0",
    "project_urls": {
        "Changelog": "https://github.com/MikePopoloski/slang/blob/master/CHANGELOG.md",
        "Documentation": "https://sv-lang.com/",
        "Homepage": "https://sv-lang.com/",
        "Issues": "https://github.com/MikePopoloski/slang/issues",
        "Repository": "https://github.com/MikePopoloski/pyslang"
    },
    "split_keywords": [
        "slang",
        " verilog",
        " systemverilog",
        " parsing",
        " compiler",
        " eda"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "96d078f234ec77a760ce506d130027bcf8d09fbe884c12a5725aa52e84c65fc4",
                "md5": "4a0fbabb7a04334035a3207b6290287c",
                "sha256": "e71b1a7d0d973bd50999775df2f512587c912f8369880b39c7f8d070b42beb22"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp310-cp310-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "4a0fbabb7a04334035a3207b6290287c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 5446521,
            "upload_time": "2024-04-22T03:08:28",
            "upload_time_iso_8601": "2024-04-22T03:08:28.298746Z",
            "url": "https://files.pythonhosted.org/packages/96/d0/78f234ec77a760ce506d130027bcf8d09fbe884c12a5725aa52e84c65fc4/pyslang-6.0-cp310-cp310-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09041c98fbcd78b7344ca6465b9e7bb9cab4f42906456d470aba3a5023fe0381",
                "md5": "746b7cd6d61bd82f3c0c0dce176b941c",
                "sha256": "d24d9b912a916ab81939911ca604a562aab9e13a240719a5bca31c70b9baed54"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp310-cp310-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "746b7cd6d61bd82f3c0c0dce176b941c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2842373,
            "upload_time": "2024-04-22T03:08:30",
            "upload_time_iso_8601": "2024-04-22T03:08:30.858895Z",
            "url": "https://files.pythonhosted.org/packages/09/04/1c98fbcd78b7344ca6465b9e7bb9cab4f42906456d470aba3a5023fe0381/pyslang-6.0-cp310-cp310-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "51ca643f46756ec3c680c493034d967c06f9a1d6bb687cd438ae565d3256fe6f",
                "md5": "17a95468d1fc4e41714979d1766458e2",
                "sha256": "d620915698b45d5ef8816bcb38b96037da44c511c2ffa59d2e4f62c15f8e1943"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "17a95468d1fc4e41714979d1766458e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 3628214,
            "upload_time": "2024-04-22T03:08:33",
            "upload_time_iso_8601": "2024-04-22T03:08:33.151296Z",
            "url": "https://files.pythonhosted.org/packages/51/ca/643f46756ec3c680c493034d967c06f9a1d6bb687cd438ae565d3256fe6f/pyslang-6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fdebb8c5c8df73abe58c6a02cb8469fc739d7eda11979dbba981349f031c70b5",
                "md5": "987d0369552ce2a13b156173c87945a0",
                "sha256": "3d94d63dcc4aaf59db9e8ad273529815806f0432cfbe4058129136f7c1b26e47"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "987d0369552ce2a13b156173c87945a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 2211169,
            "upload_time": "2024-04-22T03:08:35",
            "upload_time_iso_8601": "2024-04-22T03:08:35.446881Z",
            "url": "https://files.pythonhosted.org/packages/fd/eb/b8c5c8df73abe58c6a02cb8469fc739d7eda11979dbba981349f031c70b5/pyslang-6.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4f8a11c1b2d89145459a33a83c3076b9ed693e3906677a2246c8a790cc609972",
                "md5": "658b72f1cd7b4511b4af0585394f68a1",
                "sha256": "09cd6600ab245be023319a73b7aea322e792a106bb902be1cd92175b9bfc7bce"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp311-cp311-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "658b72f1cd7b4511b4af0585394f68a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 5450529,
            "upload_time": "2024-04-22T03:08:37",
            "upload_time_iso_8601": "2024-04-22T03:08:37.920203Z",
            "url": "https://files.pythonhosted.org/packages/4f/8a/11c1b2d89145459a33a83c3076b9ed693e3906677a2246c8a790cc609972/pyslang-6.0-cp311-cp311-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a02657b8c9c1551411ff4cb1bc4fe66775f6ef33eba3693fcf84dd81df5b65cc",
                "md5": "4034ce9896d75eda9df511fba34c0855",
                "sha256": "28c5f603b431b2063dd9c07f0daefac58d7ead232972762a80a293d328268ded"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp311-cp311-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4034ce9896d75eda9df511fba34c0855",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2844619,
            "upload_time": "2024-04-22T03:08:40",
            "upload_time_iso_8601": "2024-04-22T03:08:40.359044Z",
            "url": "https://files.pythonhosted.org/packages/a0/26/57b8c9c1551411ff4cb1bc4fe66775f6ef33eba3693fcf84dd81df5b65cc/pyslang-6.0-cp311-cp311-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e5a9c0193a9a0b301e01c5f3d03d12d27da26a244d9d1be8e1b35a65a768124",
                "md5": "ecacf45fb86c5daf7ac6318adcc2f64c",
                "sha256": "78dfd85f6264d0c64ffe4e86955ea69539fdae635d7d887b8211575f6b2a2165"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ecacf45fb86c5daf7ac6318adcc2f64c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 3630810,
            "upload_time": "2024-04-22T03:08:42",
            "upload_time_iso_8601": "2024-04-22T03:08:42.605593Z",
            "url": "https://files.pythonhosted.org/packages/5e/5a/9c0193a9a0b301e01c5f3d03d12d27da26a244d9d1be8e1b35a65a768124/pyslang-6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13a0946fbb986b1ddcc84005ffcdd5c50f7fc14b612c6d4d12550d66b627baa7",
                "md5": "7b82a4b892695beff48682953ee630f7",
                "sha256": "a894a2f34c84d6da72a4254ec3ef4a1e66e89a73e4f328aaacf24c07a2c758ef"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7b82a4b892695beff48682953ee630f7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 2212526,
            "upload_time": "2024-04-22T03:08:44",
            "upload_time_iso_8601": "2024-04-22T03:08:44.076529Z",
            "url": "https://files.pythonhosted.org/packages/13/a0/946fbb986b1ddcc84005ffcdd5c50f7fc14b612c6d4d12550d66b627baa7/pyslang-6.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f0f18be222ca018cba62bfd8ba749ec69bffa65877db9a484db4adb1a4e61760",
                "md5": "1501f1bad33e6df848a217a1e057e72b",
                "sha256": "bb29cb8292a70efa38d84964d6a7964e4175a345b5a7887f1b65ebc01ba030fa"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp312-cp312-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "1501f1bad33e6df848a217a1e057e72b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 5497436,
            "upload_time": "2024-04-22T03:08:47",
            "upload_time_iso_8601": "2024-04-22T03:08:47.027460Z",
            "url": "https://files.pythonhosted.org/packages/f0/f1/8be222ca018cba62bfd8ba749ec69bffa65877db9a484db4adb1a4e61760/pyslang-6.0-cp312-cp312-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "889ea5b5835e08bff141fa5da66a654a4f95a76062ef891ba8c3778915e9030b",
                "md5": "aa48a8c7b7c170cdf5380d7c2bb463ae",
                "sha256": "a13f93e9b9f180fb607fc19ff5b42eeac4cc0c4d427a2c056db63ba5d07ceba3"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp312-cp312-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa48a8c7b7c170cdf5380d7c2bb463ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2875426,
            "upload_time": "2024-04-22T03:08:49",
            "upload_time_iso_8601": "2024-04-22T03:08:49.484863Z",
            "url": "https://files.pythonhosted.org/packages/88/9e/a5b5835e08bff141fa5da66a654a4f95a76062ef891ba8c3778915e9030b/pyslang-6.0-cp312-cp312-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "595a83f531fb1f309514d5b3d14c679504197aba6165d9ca729891f32f935e1b",
                "md5": "9564814afaa2620fb48a9ee65225ad33",
                "sha256": "b3ebec9d232a3602d130b66a8c994d2987301f109b17c6acbdbceeb84245c75b"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9564814afaa2620fb48a9ee65225ad33",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 3619597,
            "upload_time": "2024-04-22T03:08:51",
            "upload_time_iso_8601": "2024-04-22T03:08:51.925061Z",
            "url": "https://files.pythonhosted.org/packages/59/5a/83f531fb1f309514d5b3d14c679504197aba6165d9ca729891f32f935e1b/pyslang-6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e85ddb28eee377a40e408d56bad8875d8ad5492a9fdbee9b7290e57047fd4186",
                "md5": "d3d67ed4afd39f4f9e785d5741d824f4",
                "sha256": "56b8066e6c69562ddf3ccc01f32ad1d26f76c487ef49840346d9dd3350e980fa"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d3d67ed4afd39f4f9e785d5741d824f4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 2214008,
            "upload_time": "2024-04-22T03:08:53",
            "upload_time_iso_8601": "2024-04-22T03:08:53.595819Z",
            "url": "https://files.pythonhosted.org/packages/e8/5d/db28eee377a40e408d56bad8875d8ad5492a9fdbee9b7290e57047fd4186/pyslang-6.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "681fa76780a1a5b92da813c53c76f3818e3c96a51adb9c5b8ee6351313c88d5d",
                "md5": "d757c0c9be0ebadc1370f31aec2ff9c9",
                "sha256": "6ac7b13177f7b432866f3f1bcc7bc6fd692a4df8e59c477e2bcd854b127527e8"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d757c0c9be0ebadc1370f31aec2ff9c9",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 2796365,
            "upload_time": "2024-04-22T03:08:55",
            "upload_time_iso_8601": "2024-04-22T03:08:55.522576Z",
            "url": "https://files.pythonhosted.org/packages/68/1f/a76780a1a5b92da813c53c76f3818e3c96a51adb9c5b8ee6351313c88d5d/pyslang-6.0-cp37-cp37m-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3fdc5af3241f7e268ba7165fa8c17553cadf362e4a0c300197b0d168c12a7af4",
                "md5": "6e87d2e3b09eec4cba786e3c51a88fcd",
                "sha256": "1c09aef1848eac8b9460625c4472db058579da0017c2833a2e82f7ea6f2fd3b1"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6e87d2e3b09eec4cba786e3c51a88fcd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 3710136,
            "upload_time": "2024-04-22T03:08:57",
            "upload_time_iso_8601": "2024-04-22T03:08:57.322711Z",
            "url": "https://files.pythonhosted.org/packages/3f/dc/5af3241f7e268ba7165fa8c17553cadf362e4a0c300197b0d168c12a7af4/pyslang-6.0-cp37-cp37m-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ab9b441eded9c25bbfcb01a5fcc1c3546cfcdcef02e0ffacf55b832dd8057ad",
                "md5": "ca091e00e3e0d8082af09b8b46507b99",
                "sha256": "30ec45e094f65593fba629fc5f731dc1f574a530253ab47722bc682202f9943e"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ca091e00e3e0d8082af09b8b46507b99",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 2160300,
            "upload_time": "2024-04-22T03:08:59",
            "upload_time_iso_8601": "2024-04-22T03:08:59.632873Z",
            "url": "https://files.pythonhosted.org/packages/0a/b9/b441eded9c25bbfcb01a5fcc1c3546cfcdcef02e0ffacf55b832dd8057ad/pyslang-6.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a0d06def15f664fc22ae61e2743ff51e39ec245463e0dac554fcd644fbdf81f",
                "md5": "fc55c9e4e5a00df28a3ae004ce3512a9",
                "sha256": "2f383f18523c2f8da8ed1d3a1bf3a62904565f09db32ec91cae912be5f2ee249"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp38-cp38-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "fc55c9e4e5a00df28a3ae004ce3512a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 5445815,
            "upload_time": "2024-04-22T03:09:01",
            "upload_time_iso_8601": "2024-04-22T03:09:01.303416Z",
            "url": "https://files.pythonhosted.org/packages/8a/0d/06def15f664fc22ae61e2743ff51e39ec245463e0dac554fcd644fbdf81f/pyslang-6.0-cp38-cp38-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd4f7fe8dde84ced7eed06622d59cc13a7bb71724e72b8a6bb7580dd025040ed",
                "md5": "a33136baa680a352107379f6a66ee05a",
                "sha256": "0b1326f14cfe74e4d2a35a5838f5af33b2acc4feb1bd3fce3ffaa87f07556cc0"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp38-cp38-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a33136baa680a352107379f6a66ee05a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2841869,
            "upload_time": "2024-04-22T03:09:03",
            "upload_time_iso_8601": "2024-04-22T03:09:03.096577Z",
            "url": "https://files.pythonhosted.org/packages/bd/4f/7fe8dde84ced7eed06622d59cc13a7bb71724e72b8a6bb7580dd025040ed/pyslang-6.0-cp38-cp38-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4c20f24dce638befd9a5a92467604bb5dc839174006805a270ca1f4445515a45",
                "md5": "65f497ff4f68850e19577abf8d5b598d",
                "sha256": "4760e01ad02b4819f498e2972514f33d9147c1332fea526ad9a6035a0b4b72e0"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "65f497ff4f68850e19577abf8d5b598d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 3626676,
            "upload_time": "2024-04-22T03:09:05",
            "upload_time_iso_8601": "2024-04-22T03:09:05.544413Z",
            "url": "https://files.pythonhosted.org/packages/4c/20/f24dce638befd9a5a92467604bb5dc839174006805a270ca1f4445515a45/pyslang-6.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3c600f3cb0973a6993d172ce8d20dc9830719c344181d5dd20f9094a0efab554",
                "md5": "c8cf887da8cfd967f871fa138cac2f94",
                "sha256": "c922f4e9f2320a171de9bbc8c52eeaf6f35fa445848e1edabc926e63857c22b0"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c8cf887da8cfd967f871fa138cac2f94",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 2210855,
            "upload_time": "2024-04-22T03:09:07",
            "upload_time_iso_8601": "2024-04-22T03:09:07.199363Z",
            "url": "https://files.pythonhosted.org/packages/3c/60/0f3cb0973a6993d172ce8d20dc9830719c344181d5dd20f9094a0efab554/pyslang-6.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "947ca276aa072766f3fbbc3e9f8d6237f3ee95af33f94317d67dc7bf3313b581",
                "md5": "cbc35663aca23ca8ed3a0ae908306f99",
                "sha256": "14ba45b7bdffdf4c094bdde4848a15474a1b735991729c0fb52fe043a05c3a52"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp39-cp39-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "cbc35663aca23ca8ed3a0ae908306f99",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 5446790,
            "upload_time": "2024-04-22T03:09:09",
            "upload_time_iso_8601": "2024-04-22T03:09:09.415312Z",
            "url": "https://files.pythonhosted.org/packages/94/7c/a276aa072766f3fbbc3e9f8d6237f3ee95af33f94317d67dc7bf3313b581/pyslang-6.0-cp39-cp39-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ece5dfd7a6899a8d42ac03f1fa7ccd6a9d4356d095eb9899cb5c6efa32a5d20",
                "md5": "12bd1006bf4a684867c409ed6a7aae18",
                "sha256": "0f90703c1bb1806113fed9ad07ba726035c7d81f655bccaaa485d34bf727ec6c"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp39-cp39-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "12bd1006bf4a684867c409ed6a7aae18",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2842577,
            "upload_time": "2024-04-22T03:09:11",
            "upload_time_iso_8601": "2024-04-22T03:09:11.462846Z",
            "url": "https://files.pythonhosted.org/packages/2e/ce/5dfd7a6899a8d42ac03f1fa7ccd6a9d4356d095eb9899cb5c6efa32a5d20/pyslang-6.0-cp39-cp39-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48fc4ad5678db0d84f0b52e155f2459b7de2e8446f2609f6826452f7f4136c2a",
                "md5": "ed87022724599186414a21aa7be738e2",
                "sha256": "bd664a8de43f58cf740718c624036e4ba4ded635673352d40415aa84bceec1d8"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed87022724599186414a21aa7be738e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 3628064,
            "upload_time": "2024-04-22T03:09:13",
            "upload_time_iso_8601": "2024-04-22T03:09:13.724111Z",
            "url": "https://files.pythonhosted.org/packages/48/fc/4ad5678db0d84f0b52e155f2459b7de2e8446f2609f6826452f7f4136c2a/pyslang-6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "87ce4b6f36f9da5399376faa02fa6d45dcae2703485b4738b1ee06c97d9556e3",
                "md5": "e6bc69b5f05890ec375238b43fcaaeec",
                "sha256": "146619fd6fabd3a564667201f06882eed102a7990c7a178256e0007553dd507a"
            },
            "downloads": -1,
            "filename": "pyslang-6.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e6bc69b5f05890ec375238b43fcaaeec",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 2454536,
            "upload_time": "2024-04-22T03:09:15",
            "upload_time_iso_8601": "2024-04-22T03:09:15.427834Z",
            "url": "https://files.pythonhosted.org/packages/87/ce/4b6f36f9da5399376faa02fa6d45dcae2703485b4738b1ee06c97d9556e3/pyslang-6.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b57c67a1aaf90f48d2a59bb95816a7aee75c9b6a04305bef90c0f2c09e392aea",
                "md5": "bc3aec59a876f71f3bd072b122d3b5b5",
                "sha256": "0809685eacdd0c28ef51669735ad93244e12bd01fcc8c93ee19587e6fce760cb"
            },
            "downloads": -1,
            "filename": "pyslang-6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bc3aec59a876f71f3bd072b122d3b5b5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 1123975,
            "upload_time": "2024-04-22T03:09:17",
            "upload_time_iso_8601": "2024-04-22T03:09:17.534586Z",
            "url": "https://files.pythonhosted.org/packages/b5/7c/67a1aaf90f48d2a59bb95816a7aee75c9b6a04305bef90c0f2c09e392aea/pyslang-6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-22 03:09:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MikePopoloski",
    "github_project": "slang",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyslang"
}
        
Elapsed time: 0.19891s