# pyslang - Language bindings for slang, SystemVerilog parsing and compilation library
[](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml)
[](https://pypi.org/project/pyslang/)
[](https://github.com/MikePopoloski/pyslang/blob/master/LICENSE)
[](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/33/65/62b248b0c7fe139737f84a789fb4fab1f7a8c0fe6275def2f721c9a0e2af/pyslang-3.0.0.tar.gz",
"platform": null,
"description": "# pyslang - Language bindings for slang, SystemVerilog parsing and compilation library\n\n[](https://github.com/MikePopoloski/pyslang/actions/workflows/build.yml)\n[](https://pypi.org/project/pyslang/)\n[](https://github.com/MikePopoloski/pyslang/blob/master/LICENSE)\n[](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": "3.0.0",
"split_keywords": [
"slang",
"verilog",
"systemverilog",
"parsing",
"compiler",
"eda"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "76cbb1296daecd0f242c64988752c15df19272d62855e6b3373b8fe972c68a62",
"md5": "dfd022a76c9155de8e575ec4e7a2a909",
"sha256": "8619a76570eb2ce7071697d04deffe3e3a8fb08f3cdf0219b82330b45e89bf6b"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp310-cp310-macosx_10_15_universal2.whl",
"has_sig": false,
"md5_digest": "dfd022a76c9155de8e575ec4e7a2a909",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 5185877,
"upload_time": "2023-03-18T21:24:14",
"upload_time_iso_8601": "2023-03-18T21:24:14.831645Z",
"url": "https://files.pythonhosted.org/packages/76/cb/b1296daecd0f242c64988752c15df19272d62855e6b3373b8fe972c68a62/pyslang-3.0.0-cp310-cp310-macosx_10_15_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ed508b3ec9bb17175995b50c89216ac11a0b313b441ece4ac79c6a24069d2130",
"md5": "17142c69d344a445b176075c5be255e8",
"sha256": "9baf73a834fcb52a739f9238b8c107b9bf3dd801431f8a4f012cccfe6ce35129"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp310-cp310-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "17142c69d344a445b176075c5be255e8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2734570,
"upload_time": "2023-03-18T21:24:16",
"upload_time_iso_8601": "2023-03-18T21:24:16.856948Z",
"url": "https://files.pythonhosted.org/packages/ed/50/8b3ec9bb17175995b50c89216ac11a0b313b441ece4ac79c6a24069d2130/pyslang-3.0.0-cp310-cp310-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "241fd56d5defdc80b8f4e29ab5f27e636651a4f3501c07cf2634fd8392ae625a",
"md5": "ede58c7ba2bec43915453c768198746c",
"sha256": "fd63b0e34896f5fb7d8ad0e9878f6075633136d52562271f3f4f3d864404d960"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ede58c7ba2bec43915453c768198746c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3083726,
"upload_time": "2023-03-18T21:24:19",
"upload_time_iso_8601": "2023-03-18T21:24:19.926220Z",
"url": "https://files.pythonhosted.org/packages/24/1f/d56d5defdc80b8f4e29ab5f27e636651a4f3501c07cf2634fd8392ae625a/pyslang-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "05364f0e7b8edf0ec6d3f24ed44a5337faeeeec29b7528c9a36411f05463158a",
"md5": "1204a5668e9207c891eca9f47ddd17c3",
"sha256": "309d85856690d446598b38b0bc278c740e3aac0a6632994dfd546d71c873132f"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "1204a5668e9207c891eca9f47ddd17c3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3345378,
"upload_time": "2023-03-18T21:24:21",
"upload_time_iso_8601": "2023-03-18T21:24:21.827926Z",
"url": "https://files.pythonhosted.org/packages/05/36/4f0e7b8edf0ec6d3f24ed44a5337faeeeec29b7528c9a36411f05463158a/pyslang-3.0.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "253dc1a716ca7e47d6b5f7718ddc48ef8f05902b62cd1d8eee10ddee447d5ac1",
"md5": "f2d38f26b3e6991c2f7bf75e8f59be26",
"sha256": "c006abacb0547795622b38e1174237a896bfe7834d06d9a8a17b124f1c19d3fc"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "f2d38f26b3e6991c2f7bf75e8f59be26",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 1930293,
"upload_time": "2023-03-18T21:24:23",
"upload_time_iso_8601": "2023-03-18T21:24:23.762871Z",
"url": "https://files.pythonhosted.org/packages/25/3d/c1a716ca7e47d6b5f7718ddc48ef8f05902b62cd1d8eee10ddee447d5ac1/pyslang-3.0.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a1aec21fa2cafd05aa5304a8acfd1e0e2e28259812cea5c892c0807d98b99961",
"md5": "0364ddf1da6e5cb667c9924b32f65d24",
"sha256": "596676961ae24ad49ba7ed6b312fa66b9106daa574914813d024fdf29f0ce710"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp37-cp37m-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "0364ddf1da6e5cb667c9924b32f65d24",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 2669475,
"upload_time": "2023-03-18T21:24:25",
"upload_time_iso_8601": "2023-03-18T21:24:25.017982Z",
"url": "https://files.pythonhosted.org/packages/a1/ae/c21fa2cafd05aa5304a8acfd1e0e2e28259812cea5c892c0807d98b99961/pyslang-3.0.0-cp37-cp37m-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b665b35444655f7ba1f7931f8e23878e13e0622a2c736a47c87d50612b8b730e",
"md5": "ff6b242a1b932ee347941e422c4e3feb",
"sha256": "2c7458f583dd70f2001834bfd9d110df26ebe8b02e7029d5542d4625b6eb8e99"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ff6b242a1b932ee347941e422c4e3feb",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3159124,
"upload_time": "2023-03-18T21:24:26",
"upload_time_iso_8601": "2023-03-18T21:24:26.373231Z",
"url": "https://files.pythonhosted.org/packages/b6/65/b35444655f7ba1f7931f8e23878e13e0622a2c736a47c87d50612b8b730e/pyslang-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7b00e55ae76d12259a9455e66999d6adbd9d43e4363ec109e0d81fe0c6419906",
"md5": "46b2828df42f1f8cbc63eb4e7b55c571",
"sha256": "1e7f1f57ae8c52ec2ac986df4fe5394a824a02c4c04e98e3cd81b0ca4e828545"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "46b2828df42f1f8cbc63eb4e7b55c571",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3382622,
"upload_time": "2023-03-18T21:24:28",
"upload_time_iso_8601": "2023-03-18T21:24:28.244124Z",
"url": "https://files.pythonhosted.org/packages/7b/00/e55ae76d12259a9455e66999d6adbd9d43e4363ec109e0d81fe0c6419906/pyslang-3.0.0-cp37-cp37m-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "03ff5cfc200d214936309a460bb9eed098d52cdc078295f96ceb112620c44b38",
"md5": "eb5355597064295e401a5371b60191a9",
"sha256": "0a045e065ea7670f29585dd3dc2f973c6a3243cdd15cbbbbff2fde280a3d8aec"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "eb5355597064295e401a5371b60191a9",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 1903032,
"upload_time": "2023-03-18T21:24:30",
"upload_time_iso_8601": "2023-03-18T21:24:30.701967Z",
"url": "https://files.pythonhosted.org/packages/03/ff/5cfc200d214936309a460bb9eed098d52cdc078295f96ceb112620c44b38/pyslang-3.0.0-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "40dba8de666ccd66b0dec3339a538ad56cd0c7383ca4bdefae2266d5db23a493",
"md5": "906f6a5fb6965a834cb8470ee1b760f2",
"sha256": "380babd5d5acbc2a94800609069944f9bed10cb43870634c0cb713e8e99d0e9d"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp38-cp38-macosx_10_15_universal2.whl",
"has_sig": false,
"md5_digest": "906f6a5fb6965a834cb8470ee1b760f2",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 5185383,
"upload_time": "2023-03-18T21:24:32",
"upload_time_iso_8601": "2023-03-18T21:24:32.694350Z",
"url": "https://files.pythonhosted.org/packages/40/db/a8de666ccd66b0dec3339a538ad56cd0c7383ca4bdefae2266d5db23a493/pyslang-3.0.0-cp38-cp38-macosx_10_15_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa6f9a6a0b913d9322afbc6ead6df729c650f0b8806868055bbf8e9e76cac682",
"md5": "dd2b213770fb1ca7f2363f774a82c205",
"sha256": "76ddc5b9de270c5831788882432d809fa5d11f611dc1285a8ee5191e59dfee78"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp38-cp38-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "dd2b213770fb1ca7f2363f774a82c205",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 2734505,
"upload_time": "2023-03-18T21:24:34",
"upload_time_iso_8601": "2023-03-18T21:24:34.663033Z",
"url": "https://files.pythonhosted.org/packages/fa/6f/9a6a0b913d9322afbc6ead6df729c650f0b8806868055bbf8e9e76cac682/pyslang-3.0.0-cp38-cp38-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "480bacbe75fe328c77a8151402740126d72c2464997c272f6753727e77fade8d",
"md5": "1a8dd5685731e03e7e6dd724e443ddfa",
"sha256": "8b86bbc1efd70656e1bd727cf239b78371fb1e7f7076018ac5d7501bbe68dae1"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "1a8dd5685731e03e7e6dd724e443ddfa",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3082672,
"upload_time": "2023-03-18T21:24:36",
"upload_time_iso_8601": "2023-03-18T21:24:36.625269Z",
"url": "https://files.pythonhosted.org/packages/48/0b/acbe75fe328c77a8151402740126d72c2464997c272f6753727e77fade8d/pyslang-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5d79bc08bf52bf38c361f0815108f4150ce766ccd06be14c1d1fc57c0aa9c55",
"md5": "8322306cbb01d18f5b03b7919ab5ece7",
"sha256": "5da843e9474a0446c9c9a0e76419acb4a2148d6568acd499c471eb2d31a472c8"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "8322306cbb01d18f5b03b7919ab5ece7",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3344325,
"upload_time": "2023-03-18T21:24:38",
"upload_time_iso_8601": "2023-03-18T21:24:38.617801Z",
"url": "https://files.pythonhosted.org/packages/c5/d7/9bc08bf52bf38c361f0815108f4150ce766ccd06be14c1d1fc57c0aa9c55/pyslang-3.0.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "73d88dd593493ef507f10b77ea61ef4a83075fc7982b07829e34e4e053e48255",
"md5": "33134903ad00085c1f55007efb4bd5e8",
"sha256": "090e96d3a135ca0375dbf18d8d76fc3ebce24585713c7e5ed8f7d6a4aa262152"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "33134903ad00085c1f55007efb4bd5e8",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 1930208,
"upload_time": "2023-03-18T21:24:39",
"upload_time_iso_8601": "2023-03-18T21:24:39.974422Z",
"url": "https://files.pythonhosted.org/packages/73/d8/8dd593493ef507f10b77ea61ef4a83075fc7982b07829e34e4e053e48255/pyslang-3.0.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f533d0354223f1c26b01124a8f3ad59ca455d4d35688adc2dde04882dad0ae33",
"md5": "270bd2ca774070482bdd0a089378da54",
"sha256": "ac2214ce537fa1e0b4469f956ac8951a1e7fec3f8f65f5e30b7d7f4ad1dfd6c7"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp39-cp39-macosx_10_15_universal2.whl",
"has_sig": false,
"md5_digest": "270bd2ca774070482bdd0a089378da54",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 5186085,
"upload_time": "2023-03-18T21:24:41",
"upload_time_iso_8601": "2023-03-18T21:24:41.747708Z",
"url": "https://files.pythonhosted.org/packages/f5/33/d0354223f1c26b01124a8f3ad59ca455d4d35688adc2dde04882dad0ae33/pyslang-3.0.0-cp39-cp39-macosx_10_15_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "17760294944196763b122d91c07f335cff355dac3669e0d81b6a94b742524676",
"md5": "77d4e863cc1a32526928352bc193071e",
"sha256": "cc26cefb319e245c2d59aede38af570be1d252c0b731de91d5d4e7ad0ea93d6e"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "77d4e863cc1a32526928352bc193071e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2734643,
"upload_time": "2023-03-18T21:24:43",
"upload_time_iso_8601": "2023-03-18T21:24:43.569954Z",
"url": "https://files.pythonhosted.org/packages/17/76/0294944196763b122d91c07f335cff355dac3669e0d81b6a94b742524676/pyslang-3.0.0-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7fd36f3e3b9ea2f05214ce289c96784b29b140b4889cabf54174ebefbb4c6867",
"md5": "341ad22f2e7f94265901cd6e056f4332",
"sha256": "2aac6e5d3fdb5b30da91df530ab49fcb7f5976877c3270d3e332fce3bf4198b5"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "341ad22f2e7f94265901cd6e056f4332",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3085064,
"upload_time": "2023-03-18T21:24:44",
"upload_time_iso_8601": "2023-03-18T21:24:44.896797Z",
"url": "https://files.pythonhosted.org/packages/7f/d3/6f3e3b9ea2f05214ce289c96784b29b140b4889cabf54174ebefbb4c6867/pyslang-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "943b812fa042f40837b37771c3ea19ee4f474de0b6c668d6deb9ac63ac6e26cf",
"md5": "708f6fc28f746ec003e9ea78e1115bed",
"sha256": "2c12636ed4f5f5c626c34eed537cdd62b445b9b6d630831c3671de8f56c869b2"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "708f6fc28f746ec003e9ea78e1115bed",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3345599,
"upload_time": "2023-03-18T21:24:46",
"upload_time_iso_8601": "2023-03-18T21:24:46.260274Z",
"url": "https://files.pythonhosted.org/packages/94/3b/812fa042f40837b37771c3ea19ee4f474de0b6c668d6deb9ac63ac6e26cf/pyslang-3.0.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fbdb097fe5e15783d7750b3b30bb9735f2f5f00e324aee71562fce7c6fbeaaba",
"md5": "c10477b331560ee3a8a0d756bb8ae402",
"sha256": "a8f1b522f856ae938c69b4bb16e482e88a68f01da28e8190db661b605757858a"
},
"downloads": -1,
"filename": "pyslang-3.0.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "c10477b331560ee3a8a0d756bb8ae402",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2159564,
"upload_time": "2023-03-18T21:24:48",
"upload_time_iso_8601": "2023-03-18T21:24:48.100325Z",
"url": "https://files.pythonhosted.org/packages/fb/db/097fe5e15783d7750b3b30bb9735f2f5f00e324aee71562fce7c6fbeaaba/pyslang-3.0.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "336562b248b0c7fe139737f84a789fb4fab1f7a8c0fe6275def2f721c9a0e2af",
"md5": "e472f942c60e48ea5059940eef5bbfea",
"sha256": "f4d57f33a7cd1cb31c6f18c1db338409a914ae019c19be4cec7452919a495626"
},
"downloads": -1,
"filename": "pyslang-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "e472f942c60e48ea5059940eef5bbfea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 945625,
"upload_time": "2023-03-18T21:24:49",
"upload_time_iso_8601": "2023-03-18T21:24:49.364087Z",
"url": "https://files.pythonhosted.org/packages/33/65/62b248b0c7fe139737f84a789fb4fab1f7a8c0fe6275def2f721c9a0e2af/pyslang-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-18 21:24:49",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "MikePopoloski",
"github_project": "pyslang",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyslang"
}