Name | pyswx JSON |
Version |
0.3.1
JSON |
| download |
home_page | None |
Summary | A python wrapper for the SolidWorks API. |
upload_time | 2025-07-24 12:49:49 |
maintainer | Philip Delorenzo |
docs_url | None |
author | Philip Delorenzo |
requires_python | >=3.12 |
license | MIT |
keywords |
solidworks
sldworks
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# PySWX
A python wrapper for the SolidWorks API.


[](https://www.python.org/downloads/)


[](https://github.com/deloarts/pyswx/actions/workflows/publish-pypi.yml)
<img src="https://github.com/deloarts/pyswx/blob/main/assets/images/icon.png?raw=true" width="200" height="200">
<br>
<br>
**PySWX** is a wrapper for the SolidWorks API 2024, based on the [official help site](https://help.solidworks.com/2024/english/api/sldworksapiprogguide/Welcome.htm). It provides a typed interface and some useful features.
> ✏️ This project is in an early stage of development. The API is not complete and the documentation is not yet available. If you want to contribute to this project, please open an issue or a pull request. To see the current state of this project, check out the [development branch](https://github.com/deloarts/pyswx/tree/development).
## 1 installation
### 1.1 system requirements
- Windows 11
- SolidWorks 2024 or later
- [Python 3.12](https://www.python.org/downloads/)
> ✏️ These requirements aren't strict, you can try and use **PySWX** on older or more recent systems, but it isn't tested on these.
### 1.2 pip
```powershell
python -m pip install pyswx
```
or
```powershell
python -m pip install git+ssh://git@github.com/deloarts/pyswx.git
```
If you're using poetry add it to you **pyproject.toml** file using:
```powershell
poetry add pyswx
```
## 2 usage
**PySWX** works with [VS Code Intellisense](https://code.visualstudio.com/docs/editing/intellisense) and provides type hints for the SolidWorks API:

All methods and classes are documented with docstrings, which can be viewed in the Intellisense popup.
Like in the example above you can refer to the official documentation of [IModelDocExtension](https://help.solidworks.com/2024/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDocExtension.html).
> ✏️ **PySWX** uses PEP8 style for methods, classes and variables.
>
> ✏️ **PySWX** is not completed, methods that aren't implemented yet will raise a `NotImplementedError` when called.
### 2.1 example: open a part
```python
# Open a part and export it as step
from pathlib import Path
from pyswx import PySWX
from pyswx.api.swconst.enumerations import SWDocumentTypesE
from pyswx.api.swconst.enumerations import SWRebuildOnActivationOptionsE
from pyswx.api.swconst.enumerations import SWSaveAsOptionsE
from pyswx.api.swconst.enumerations import SWSaveAsVersionE
PATH_TO_PART = Path("C:\\path\\to\\your\\part.SLDPRT")
swx = PySWX(version=2024).application
part_open_spec = swx.get_open_doc_spec(file_name=PATH_TO_PART)
part_open_spec.document_type = SWDocumentTypesE.SW_DOC_PART
part_open_spec.use_light_weight_default = True
part_open_spec.light_weight = True
part_open_spec.silent = True
part_model = swx.open_doc7(specification=part_open_spec)
if part_open_spec.warning is not None:
swx.logger.warning(part_open_spec.warning.name)
if part_open_spec.error is not None:
swx.logger.error(part_open_spec.error.name)
raise Exception(part_open_spec.error.name)
part_model = swx.activate_doc_3(
name=part_model.get_path_name(),
use_user_preferences=False,
option=SWRebuildOnActivationOptionsE.SW_REBUILD_ACTIVE_DOC,
)
step_path = part_model.get_path_name().with_suffix(".step")
part_model.extension.save_as_3(
name=step_path,
version=SWSaveAsVersionE.SW_SAVE_AS_CURRENT_VERSION,
options=SWSaveAsOptionsE.SW_SAVE_AS_OPTIONS_SILENT,
export_data=None,
advanced_save_as_options=None,
)
```
For more examples see the [examples](https://github.com/deloarts/pyswx/tree/main/examples) folder.
### 2.2 tools
**PySWX** comes with some tools to help you work with the SolidWorks API, e.g. the above code can be shortcutted with:
```python
from pyswx import PySWX
from pyswx.tools.part_tools import export_step
PATH_TO_PART = Path("C:\\path\\to\\your\\part.SLDPRT")
swx = PySWX().application
export_step(swx, PATH_TO_PART)
```
For all tools check out the [tools]([/tools](https://github.com/deloarts/pyswx/tree/main/pyswx/tools)) folder.
### 2.3 com object
**PySWX** provides a way to access the SolidWorks COM object directly. This is useful if you want to use methods that are not yet implemented in **PySWX**:
```python
...
doc_model = swx.open_doc7(specification=part_open_spec)
doc_model_com_object = doc_model.com_object # Here we access the actual com object
configuration_names_com_object = doc_model_com_object.GetConfigurationNames
# Note: Notice how the case of the object after the com_object changes from snake_case to PascalCase.
# The com object is the actual SolidWorks COM object, so you can use it like you would use the SolidWorks API in VBA.
```
To convert a com object to a **PySWX** object, you can pass it to the interface:
```python
from pyswx.api.sldworks.interfaces.i_model_doc_2 import IModelDoc2
doc_model = IModelDoc2(doc_model_com_object)
```
### 2.4 divergencies
The SolidWorks API exposes methods that work with `ByRef [out]` arguments, which are not supported in Python.
Such a methods is, for example, the [GetConfigurationParams](https://help.solidworks.com/2024/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iconfigurationmanager~getconfigurationparams.html) method:
```VB
Function GetConfigurationParams( _
ByVal ConfigName As System.String, _
ByRef Params As System.Object, _
ByRef Values As System.Object _
) As System.Boolean
```
This method sets the `Params` and the `Values` via the given arguments, and returns only a bool (in this case `True`, if the method was successful).
As this isn't possible in Python, the equivalent **PySWX** method returns a `Tuple`, the method return value and all ByRef-argument values:
```Python
type ParamsRetrieved = bool
type ParamNames = List[str]
type ParamValues = List[str]
def get_configuration_params(self, config_name: str) -> Tuple[ParamsRetrieved, ParamNames, ParamValues]:
...
```
### 2.5 obsolete methods and properties
The SolidWorks API exposes obsolete methods and properties. Those are not included in **PySWX**.
You are still able to access them via the `com_object`.
## 3 developing
For developing you would, additionally to the system requirements, need to install:
- [Poetry](https://python-poetry.org/docs/master/#installation)
- [Git](https://git-scm.com/downloads) or [GitHub Desktop](https://desktop.github.com/)
### 3.1 repository
#### 3.1.1 cloning
Clone the repo to your local machine:
```powershell
cd $HOME
New-Item -Path '.\git\pyswx' -ItemType Directory
cd .\git\pyswx\
git clone git@github.com:deloarts/pyswx.git
```
Or use GitHub Desktop.
#### 3.1.2 main branch protection
> ❗️ Never develop new features and fixes in the main branch!
The main branch is protected: it's not allowed to make changes directly to it. Create a new branch in order work on issues. The new branch should follow the naming convention from below.
#### 3.1.3 branch naming convention
1. Use grouping tokens at the beginning of your branch names, such as:
- feature: A new feature that will be added to the project
- fix: For bugfixes
- tests: Adding or updating tests
- docs: For updating the docs
- wip: Work in progress, won't be finished soon
- junk: Just for experimenting
2. Use slashes `/` as delimiter in branch names (`feature/docket-export`)
3. Avoid long descriptive names, rather refer to an issue
4. Do not use bare numbers as leading parts (`fix/108` is bad, `fix/issue108` is good)
#### 3.1.4 issues
Use the issue templates for creating an issue. Please don't open a new issue if you haven't met the requirements and add as much information as possible. Further:
- Format your code in an issue correctly with three backticks, see the [markdown guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).
- Add the full error trace.
- Do not add screenshots for code or traces.
### 3.2 poetry
#### 3.2.1 setup
If you prefer the environment inside the projects root, use:
```powershell
poetry config virtualenvs.in-project true
```
> ⚠️ Make sure not to commit the virtual environment to GitHub. See **.gitignore** to find out which folders are ignored.
#### 3.2.2 install
Install all dependencies (assuming you are inside the projects root folder):
```powershell
poetry install
```
Update packages with:
```powershell
poetry update
```
#### 3.2.3 tests
Tests are done with pytest. For testing with poetry run:
```powershell
poetry run pytest
```
> ⚠️ Test discovery in VS Code only works when SolidWorks is running and all documents are closed!
### 3.3 status indicators
Each api module has its own status indicator in the module docstring:
indicator | status | description
--- | --- | ---
🟢 | Completed | The module represents the SolidWorks API completely
🟠 | Methods Imported | All SolidWorks API methods are imported, but aren't fully implemented yet
🔴 | Not Completed | The module is not completed and some SolidWorks API methods may be missing
### 3.4 new revision checklist
1. Update **dependencies**: `poetry update`
2. Update the **version** in
- [pyproject.toml](pyproject.toml)
- [__ init __.py](pyswx/__init__.py)
- [README.md](README.md)
3. Run all **tests**: `poetry run pytest`
4. Check **pylint** output: `poetry run pylint pyswx/`
5. Update the **lockfile**: `poetry lock`
6. Update the **requirements.txt**: `poetry export -f requirements.txt -o requirements.txt`
7. **Build** the package: `poetry build`
## 4 license
[MIT License](LICENSE)
## 5 changelog
[**v0.3.1**](https://github.com/deloarts/pyswx/releases/tag/v0.3.1): Fix type mismatch in `custom_property_manager`.
[**v0.3.0**](https://github.com/deloarts/pyswx/releases/tag/v0.3.0): Complete ICustomPropertyManager interface.
[**v0.2.0**](https://github.com/deloarts/pyswx/releases/tag/v0.2.0): Complete IFrame interface and add swconst enum interfaces.
[**v0.1.1**](https://github.com/deloarts/pyswx/releases/tag/v0.1.1): Enhance IModelDoc2 and ISldWorks interfaces with new methods and clean up imports.
[**v0.1.0**](https://github.com/deloarts/pyswx/releases/tag/v0.1.0): Add new interfaces and properties for IComponent2, IConfiguration, IModelDoc2, ISldWorks and ISwAddin.
[**v0.0.1**](https://github.com/deloarts/pyswx/releases/tag/v0.0.1): First stable version.
## 6 to do
Using VS Code [Comment Anchors](https://marketplace.visualstudio.com/items?itemName=ExodiusStudios.comment-anchors) to keep track of to-dos.
Raw data
{
"_id": null,
"home_page": null,
"name": "pyswx",
"maintainer": "Philip Delorenzo",
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": "git@deloarts.com",
"keywords": "solidworks, sldworks",
"author": "Philip Delorenzo",
"author_email": "git@deloarts.com",
"download_url": "https://files.pythonhosted.org/packages/9a/d9/a7d851d56aa6cde6e8ce40305d626168992fb31b2d9e7941a5ab35141fef/pyswx-0.3.1.tar.gz",
"platform": null,
"description": "# PySWX\n\nA python wrapper for the SolidWorks API.\n\n\n\n[](https://www.python.org/downloads/)\n\n\n[](https://github.com/deloarts/pyswx/actions/workflows/publish-pypi.yml)\n\n<img src=\"https://github.com/deloarts/pyswx/blob/main/assets/images/icon.png?raw=true\" width=\"200\" height=\"200\">\n<br>\n<br>\n\n**PySWX** is a wrapper for the SolidWorks API 2024, based on the [official help site](https://help.solidworks.com/2024/english/api/sldworksapiprogguide/Welcome.htm). It provides a typed interface and some useful features.\n\n> \u270f\ufe0f This project is in an early stage of development. The API is not complete and the documentation is not yet available. If you want to contribute to this project, please open an issue or a pull request. To see the current state of this project, check out the [development branch](https://github.com/deloarts/pyswx/tree/development).\n\n## 1 installation\n\n### 1.1 system requirements\n\n- Windows 11\n- SolidWorks 2024 or later\n- [Python 3.12](https://www.python.org/downloads/)\n\n> \u270f\ufe0f These requirements aren't strict, you can try and use **PySWX** on older or more recent systems, but it isn't tested on these.\n\n### 1.2 pip\n\n```powershell\npython -m pip install pyswx\n```\n\nor\n\n```powershell\npython -m pip install git+ssh://git@github.com/deloarts/pyswx.git\n```\n\nIf you're using poetry add it to you **pyproject.toml** file using:\n\n```powershell\npoetry add pyswx\n```\n\n## 2 usage\n\n**PySWX** works with [VS Code Intellisense](https://code.visualstudio.com/docs/editing/intellisense) and provides type hints for the SolidWorks API:\n\n\n\nAll methods and classes are documented with docstrings, which can be viewed in the Intellisense popup.\nLike in the example above you can refer to the official documentation of [IModelDocExtension](https://help.solidworks.com/2024/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDocExtension.html).\n\n> \u270f\ufe0f **PySWX** uses PEP8 style for methods, classes and variables.\n>\n> \u270f\ufe0f **PySWX** is not completed, methods that aren't implemented yet will raise a `NotImplementedError` when called.\n\n### 2.1 example: open a part\n\n```python\n# Open a part and export it as step\n\nfrom pathlib import Path\n\nfrom pyswx import PySWX\nfrom pyswx.api.swconst.enumerations import SWDocumentTypesE\nfrom pyswx.api.swconst.enumerations import SWRebuildOnActivationOptionsE\nfrom pyswx.api.swconst.enumerations import SWSaveAsOptionsE\nfrom pyswx.api.swconst.enumerations import SWSaveAsVersionE\n\nPATH_TO_PART = Path(\"C:\\\\path\\\\to\\\\your\\\\part.SLDPRT\")\n\nswx = PySWX(version=2024).application\n\npart_open_spec = swx.get_open_doc_spec(file_name=PATH_TO_PART)\npart_open_spec.document_type = SWDocumentTypesE.SW_DOC_PART\npart_open_spec.use_light_weight_default = True\npart_open_spec.light_weight = True\npart_open_spec.silent = True\n\npart_model = swx.open_doc7(specification=part_open_spec)\n\nif part_open_spec.warning is not None:\n swx.logger.warning(part_open_spec.warning.name)\n\nif part_open_spec.error is not None:\n swx.logger.error(part_open_spec.error.name)\n raise Exception(part_open_spec.error.name)\n\npart_model = swx.activate_doc_3(\n name=part_model.get_path_name(),\n use_user_preferences=False,\n option=SWRebuildOnActivationOptionsE.SW_REBUILD_ACTIVE_DOC,\n)\n\nstep_path = part_model.get_path_name().with_suffix(\".step\")\n\npart_model.extension.save_as_3(\n name=step_path,\n version=SWSaveAsVersionE.SW_SAVE_AS_CURRENT_VERSION,\n options=SWSaveAsOptionsE.SW_SAVE_AS_OPTIONS_SILENT,\n export_data=None,\n advanced_save_as_options=None,\n)\n```\n\nFor more examples see the [examples](https://github.com/deloarts/pyswx/tree/main/examples) folder.\n\n### 2.2 tools\n\n**PySWX** comes with some tools to help you work with the SolidWorks API, e.g. the above code can be shortcutted with:\n\n```python\nfrom pyswx import PySWX\nfrom pyswx.tools.part_tools import export_step\n\nPATH_TO_PART = Path(\"C:\\\\path\\\\to\\\\your\\\\part.SLDPRT\")\n\nswx = PySWX().application\nexport_step(swx, PATH_TO_PART)\n```\n\nFor all tools check out the [tools]([/tools](https://github.com/deloarts/pyswx/tree/main/pyswx/tools)) folder.\n\n### 2.3 com object\n\n**PySWX** provides a way to access the SolidWorks COM object directly. This is useful if you want to use methods that are not yet implemented in **PySWX**:\n\n```python\n...\ndoc_model = swx.open_doc7(specification=part_open_spec)\ndoc_model_com_object = doc_model.com_object # Here we access the actual com object\nconfiguration_names_com_object = doc_model_com_object.GetConfigurationNames\n\n# Note: Notice how the case of the object after the com_object changes from snake_case to PascalCase.\n# The com object is the actual SolidWorks COM object, so you can use it like you would use the SolidWorks API in VBA. \n```\n\nTo convert a com object to a **PySWX** object, you can pass it to the interface:\n\n```python\nfrom pyswx.api.sldworks.interfaces.i_model_doc_2 import IModelDoc2\ndoc_model = IModelDoc2(doc_model_com_object)\n```\n\n### 2.4 divergencies\n\nThe SolidWorks API exposes methods that work with `ByRef [out]` arguments, which are not supported in Python.\nSuch a methods is, for example, the [GetConfigurationParams](https://help.solidworks.com/2024/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.iconfigurationmanager~getconfigurationparams.html) method:\n\n```VB\nFunction GetConfigurationParams( _\n ByVal ConfigName As System.String, _\n ByRef Params As System.Object, _\n ByRef Values As System.Object _\n) As System.Boolean\n```\n\nThis method sets the `Params` and the `Values` via the given arguments, and returns only a bool (in this case `True`, if the method was successful).\nAs this isn't possible in Python, the equivalent **PySWX** method returns a `Tuple`, the method return value and all ByRef-argument values:\n\n```Python\ntype ParamsRetrieved = bool\ntype ParamNames = List[str]\ntype ParamValues = List[str]\n\ndef get_configuration_params(self, config_name: str) -> Tuple[ParamsRetrieved, ParamNames, ParamValues]:\n ...\n```\n\n### 2.5 obsolete methods and properties\n\nThe SolidWorks API exposes obsolete methods and properties. Those are not included in **PySWX**.\nYou are still able to access them via the `com_object`.\n\n## 3 developing\n\nFor developing you would, additionally to the system requirements, need to install:\n\n- [Poetry](https://python-poetry.org/docs/master/#installation)\n- [Git](https://git-scm.com/downloads) or [GitHub Desktop](https://desktop.github.com/)\n\n### 3.1 repository\n\n#### 3.1.1 cloning\n\nClone the repo to your local machine:\n\n```powershell\ncd $HOME\nNew-Item -Path '.\\git\\pyswx' -ItemType Directory\ncd .\\git\\pyswx\\\ngit clone git@github.com:deloarts/pyswx.git\n```\n\nOr use GitHub Desktop.\n\n#### 3.1.2 main branch protection\n\n> \u2757\ufe0f Never develop new features and fixes in the main branch!\n\nThe main branch is protected: it's not allowed to make changes directly to it. Create a new branch in order work on issues. The new branch should follow the naming convention from below.\n\n#### 3.1.3 branch naming convention\n\n1. Use grouping tokens at the beginning of your branch names, such as:\n - feature: A new feature that will be added to the project\n - fix: For bugfixes\n - tests: Adding or updating tests\n - docs: For updating the docs\n - wip: Work in progress, won't be finished soon\n - junk: Just for experimenting\n2. Use slashes `/` as delimiter in branch names (`feature/docket-export`)\n3. Avoid long descriptive names, rather refer to an issue\n4. Do not use bare numbers as leading parts (`fix/108` is bad, `fix/issue108` is good)\n\n#### 3.1.4 issues\n\nUse the issue templates for creating an issue. Please don't open a new issue if you haven't met the requirements and add as much information as possible. Further:\n\n- Format your code in an issue correctly with three backticks, see the [markdown guide](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax).\n- Add the full error trace.\n- Do not add screenshots for code or traces.\n\n### 3.2 poetry\n\n#### 3.2.1 setup\n\nIf you prefer the environment inside the projects root, use:\n\n```powershell\npoetry config virtualenvs.in-project true\n```\n\n> \u26a0\ufe0f Make sure not to commit the virtual environment to GitHub. See **.gitignore** to find out which folders are ignored.\n\n#### 3.2.2 install\n\nInstall all dependencies (assuming you are inside the projects root folder):\n\n```powershell\npoetry install\n```\n\nUpdate packages with:\n\n```powershell\npoetry update\n```\n\n#### 3.2.3 tests\n\nTests are done with pytest. For testing with poetry run:\n\n```powershell\npoetry run pytest\n```\n\n> \u26a0\ufe0f Test discovery in VS Code only works when SolidWorks is running and all documents are closed!\n\n### 3.3 status indicators\n\nEach api module has its own status indicator in the module docstring:\n\nindicator | status | description\n--- | --- | ---\n\ud83d\udfe2 | Completed | The module represents the SolidWorks API completely\n\ud83d\udfe0 | Methods Imported | All SolidWorks API methods are imported, but aren't fully implemented yet\n\ud83d\udd34 | Not Completed | The module is not completed and some SolidWorks API methods may be missing\n\n### 3.4 new revision checklist\n\n1. Update **dependencies**: `poetry update`\n2. Update the **version** in\n - [pyproject.toml](pyproject.toml)\n - [__ init __.py](pyswx/__init__.py)\n - [README.md](README.md)\n3. Run all **tests**: `poetry run pytest`\n4. Check **pylint** output: `poetry run pylint pyswx/`\n5. Update the **lockfile**: `poetry lock`\n6. Update the **requirements.txt**: `poetry export -f requirements.txt -o requirements.txt`\n7. **Build** the package: `poetry build`\n\n## 4 license\n\n[MIT License](LICENSE)\n\n## 5 changelog\n\n[**v0.3.1**](https://github.com/deloarts/pyswx/releases/tag/v0.3.1): Fix type mismatch in `custom_property_manager`. \n[**v0.3.0**](https://github.com/deloarts/pyswx/releases/tag/v0.3.0): Complete ICustomPropertyManager interface. \n[**v0.2.0**](https://github.com/deloarts/pyswx/releases/tag/v0.2.0): Complete IFrame interface and add swconst enum interfaces. \n[**v0.1.1**](https://github.com/deloarts/pyswx/releases/tag/v0.1.1): Enhance IModelDoc2 and ISldWorks interfaces with new methods and clean up imports. \n[**v0.1.0**](https://github.com/deloarts/pyswx/releases/tag/v0.1.0): Add new interfaces and properties for IComponent2, IConfiguration, IModelDoc2, ISldWorks and ISwAddin. \n[**v0.0.1**](https://github.com/deloarts/pyswx/releases/tag/v0.0.1): First stable version. \n\n## 6 to do\n\nUsing VS Code [Comment Anchors](https://marketplace.visualstudio.com/items?itemName=ExodiusStudios.comment-anchors) to keep track of to-dos.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python wrapper for the SolidWorks API.",
"version": "0.3.1",
"project_urls": null,
"split_keywords": [
"solidworks",
" sldworks"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4125e6fa712baa6d6ae56f1a31a09d1d574fa560345876337bce14fb9d7e2beb",
"md5": "75194f7ee9391bae0ff4830b0968bd1c",
"sha256": "cf4e16eb5e831bfd760b981337219ef666df21e98e975de40092b8df06dd6565"
},
"downloads": -1,
"filename": "pyswx-0.3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "75194f7ee9391bae0ff4830b0968bd1c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 85320,
"upload_time": "2025-07-24T12:49:48",
"upload_time_iso_8601": "2025-07-24T12:49:48.360726Z",
"url": "https://files.pythonhosted.org/packages/41/25/e6fa712baa6d6ae56f1a31a09d1d574fa560345876337bce14fb9d7e2beb/pyswx-0.3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ad9a7d851d56aa6cde6e8ce40305d626168992fb31b2d9e7941a5ab35141fef",
"md5": "1b0c8b36b84ee034bee4d1e7926906c8",
"sha256": "010300ccd38822a02d194fd0f62a5ee5beb98593fc6b2a620997808b4cdea48b"
},
"downloads": -1,
"filename": "pyswx-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "1b0c8b36b84ee034bee4d1e7926906c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 46924,
"upload_time": "2025-07-24T12:49:49",
"upload_time_iso_8601": "2025-07-24T12:49:49.520929Z",
"url": "https://files.pythonhosted.org/packages/9a/d9/a7d851d56aa6cde6e8ce40305d626168992fb31b2d9e7941a5ab35141fef/pyswx-0.3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-24 12:49:49",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pyswx"
}