# pyXCP
[](https://app.codacy.com/app/christoph2/pyxcp?utm_source=github.com&utm_medium=referral&utm_content=christoph2/pyxcp&utm_campaign=Badge_Grade_Settings)
[](https://codeclimate.com/github/christoph2/pyxcp/maintainability)
[](https://github.com/christoph2/pyxcp/actions)
[](https://ci.appveyor.com/project/christoph2/pyxcp)
[](https://coveralls.io/github/christoph2/pyxcp?branch=master)
[](https://github.com/psf/black)
[](http://opensource.org/licenses/GPL-2.0)
pyXCP is a lightweight Python library which talks to ASAM MCD-1 XCP enabled devices.
These are mainly, but not only, automotive ECUs (Electronic Control Units).
XCP is used to take measurements, to adjust parameters, and to flash during the development process.
XCP also replaces the older CCP (CAN Calibration Protocol).
---
## Installation
pyXCP is hosted on Github, get the latest release: [https://github.com/christoph2/pyxcp](https://github.com/christoph2/pyxcp)
You can install pyxcp from source:
```
pip install -r requirements.txt
python setup.py install
```
Alternatively, you can install pyxcp from source with pip:
```
pip install git+https://github.com/christoph2/pyxcp.git
```
Alternatively, get pyxcp from [PyPI](https://pypi.org/project/pyxcp/):
```
pip install pyxcp
```
### Requirements
- Python >= 3.7
- A running XCP slave (of course).
- If you are using a 64bit Windows version and want to use seed-and-key .dlls (to unlock resources), a GCC compiler capable of creating 32bit
executables is required:
These .dlls almost always ship as 32bit versions, but you can't load a 32bit .dll into a 64bit process, so a small bridging program (asamkeydll.exe) is
required.
## First steps
T.B.D.
## Features
T.B.D.
## References
- [Offical home of XCP](https://www.asam.net/standards/detail/mcd-1-xcp/)
## License
GNU Lesser General Public License v3 or later (LGPLv3+)
Raw data
{
"_id": null,
"home_page": null,
"name": "pyxcp",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "automotive, ecu, xcp, asam, autosar",
"author": "Christoph Schueler",
"author_email": "cpu.gems@googlemail.com",
"download_url": "https://files.pythonhosted.org/packages/24/8b/0e9e01d0cb16e9b2e438c34f8e3fa3892b0362232602bf2774fcee0788c8/pyxcp-0.22.35.tar.gz",
"platform": null,
"description": "# pyXCP\n\n[](https://app.codacy.com/app/christoph2/pyxcp?utm_source=github.com&utm_medium=referral&utm_content=christoph2/pyxcp&utm_campaign=Badge_Grade_Settings)\n[](https://codeclimate.com/github/christoph2/pyxcp/maintainability)\n[](https://github.com/christoph2/pyxcp/actions)\n[](https://ci.appveyor.com/project/christoph2/pyxcp)\n[](https://coveralls.io/github/christoph2/pyxcp?branch=master)\n[](https://github.com/psf/black)\n[](http://opensource.org/licenses/GPL-2.0)\n\npyXCP is a lightweight Python library which talks to ASAM MCD-1 XCP enabled devices.\nThese are mainly, but not only, automotive ECUs (Electronic Control Units).\n\nXCP is used to take measurements, to adjust parameters, and to flash during the development process.\n\nXCP also replaces the older CCP (CAN Calibration Protocol).\n\n---\n\n## Installation\n\npyXCP is hosted on Github, get the latest release: [https://github.com/christoph2/pyxcp](https://github.com/christoph2/pyxcp)\n\nYou can install pyxcp from source:\n\n```\npip install -r requirements.txt\npython setup.py install\n```\n\nAlternatively, you can install pyxcp from source with pip:\n\n```\npip install git+https://github.com/christoph2/pyxcp.git\n```\n\nAlternatively, get pyxcp from [PyPI](https://pypi.org/project/pyxcp/):\n\n```\npip install pyxcp\n```\n\n### Requirements\n\n- Python >= 3.7\n- A running XCP slave (of course).\n- If you are using a 64bit Windows version and want to use seed-and-key .dlls (to unlock resources), a GCC compiler capable of creating 32bit\n executables is required:\n\n These .dlls almost always ship as 32bit versions, but you can't load a 32bit .dll into a 64bit process, so a small bridging program (asamkeydll.exe) is\n required.\n\n## First steps\n\nT.B.D.\n\n## Features\n\nT.B.D.\n\n## References\n\n- [Offical home of XCP](https://www.asam.net/standards/detail/mcd-1-xcp/)\n\n## License\n\nGNU Lesser General Public License v3 or later (LGPLv3+)\n\n",
"bugtrack_url": null,
"license": "LGPLv3",
"summary": "Universal Calibration Protocol for Python",
"version": "0.22.35",
"project_urls": {
"Homepage": "https://github.com/christoph2/pyxcp"
},
"split_keywords": [
"automotive",
" ecu",
" xcp",
" asam",
" autosar"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "55c76481f29a4c5a02a08797168589ab213e397d0a13c52b0b85ebbd4675d402",
"md5": "aaa7726cdc046e4b85a562ff1b086902",
"sha256": "83081dfebdc6482ef4f08439bfacfe4efce103fc16f2c09f6d836f2a721f189b"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "aaa7726cdc046e4b85a562ff1b086902",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 682568,
"upload_time": "2025-07-31T04:54:36",
"upload_time_iso_8601": "2025-07-31T04:54:36.060345Z",
"url": "https://files.pythonhosted.org/packages/55/c7/6481f29a4c5a02a08797168589ab213e397d0a13c52b0b85ebbd4675d402/pyxcp-0.22.35-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2674240449a8877702c6893afed7751c7b063053dc2b603a2a594bfb77ec0415",
"md5": "f0f5fca81c88dd08df4cea278e8a75e0",
"sha256": "1a42738a616720d2732d083a6db7732cdcd402c1ec8c4a16274a6b184b2701f8"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "f0f5fca81c88dd08df4cea278e8a75e0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 768638,
"upload_time": "2025-07-31T04:54:37",
"upload_time_iso_8601": "2025-07-31T04:54:37.968709Z",
"url": "https://files.pythonhosted.org/packages/26/74/240449a8877702c6893afed7751c7b063053dc2b603a2a594bfb77ec0415/pyxcp-0.22.35-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cd9873cfa16fda6d22abc247c98e2f63775ba8aefa3b16224aa4c11bc14d64f4",
"md5": "9f62184a01a97d98cc94479587ce9bd4",
"sha256": "d29c99e56ebdb36ceeb12239a9d80627191b2392db8b58abd6f51ff64e7333e6"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "9f62184a01a97d98cc94479587ce9bd4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 828372,
"upload_time": "2025-07-31T04:54:39",
"upload_time_iso_8601": "2025-07-31T04:54:39.232577Z",
"url": "https://files.pythonhosted.org/packages/cd/98/73cfa16fda6d22abc247c98e2f63775ba8aefa3b16224aa4c11bc14d64f4/pyxcp-0.22.35-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5e1e9443c3727ba96ac6abf8de0e5f2b30579ef551847b41cbd1d4d6f5bc3c13",
"md5": "1d460cd1bd4df926217446830ca57299",
"sha256": "795d704205cb0e146c298ea856b1e62fb4e5422b4a2fee5fa175d0ecab0392d3"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "1d460cd1bd4df926217446830ca57299",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": "<4.0,>=3.10",
"size": 635488,
"upload_time": "2025-07-31T04:54:40",
"upload_time_iso_8601": "2025-07-31T04:54:40.452830Z",
"url": "https://files.pythonhosted.org/packages/5e/1e/9443c3727ba96ac6abf8de0e5f2b30579ef551847b41cbd1d4d6f5bc3c13/pyxcp-0.22.35-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "31e8b7e92dbfb0a80bc701be6d7e52c9fd4a63c06589a459003f406032f06b04",
"md5": "78b0ec88f3245312598e39298fe1538e",
"sha256": "d22ab07570953c6593b0800b98b63a5dc7091612202eefe498a92f6f5d408fc0"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "78b0ec88f3245312598e39298fe1538e",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 1118305,
"upload_time": "2025-07-31T04:54:41",
"upload_time_iso_8601": "2025-07-31T04:54:41.490409Z",
"url": "https://files.pythonhosted.org/packages/31/e8/b7e92dbfb0a80bc701be6d7e52c9fd4a63c06589a459003f406032f06b04/pyxcp-0.22.35-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "70f2614c32ff4f217a56065bdf573c759d46a2755d2a0878b216e19aea42613d",
"md5": "724cd4f58fe7cea0506aa088ee933873",
"sha256": "0cba08540f585f4272eb8e0d2da4e66765ecd5816cacd892db41a7ee8f4c4eb8"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "724cd4f58fe7cea0506aa088ee933873",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 1290389,
"upload_time": "2025-07-31T04:54:42",
"upload_time_iso_8601": "2025-07-31T04:54:42.507645Z",
"url": "https://files.pythonhosted.org/packages/70/f2/614c32ff4f217a56065bdf573c759d46a2755d2a0878b216e19aea42613d/pyxcp-0.22.35-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "575d5ce64c00cda10d2b3c746186d81b4a53b517ee3ee9bd76676899d51e0558",
"md5": "7b0b913045150b667499fe01b7ec03c0",
"sha256": "b2b6694a6692cfd9f1d04420e29fdde2afb2380991774a94d29e908aaa72d706"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "7b0b913045150b667499fe01b7ec03c0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 1409500,
"upload_time": "2025-07-31T04:54:43",
"upload_time_iso_8601": "2025-07-31T04:54:43.980413Z",
"url": "https://files.pythonhosted.org/packages/57/5d/5ce64c00cda10d2b3c746186d81b4a53b517ee3ee9bd76676899d51e0558/pyxcp-0.22.35-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "046f2cd4fd79168d390354984e1f5cc2b96b8ea7182f40dc6fa1631b85aa77df",
"md5": "dadf2b4a34e00d0c77710298f3ba9c1a",
"sha256": "011e72b12c9e7a309b4fa697ea3cbf1c7aac6b0920e431505175be3557d01a92"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "dadf2b4a34e00d0c77710298f3ba9c1a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": "<4.0,>=3.10",
"size": 1022544,
"upload_time": "2025-07-31T04:54:44",
"upload_time_iso_8601": "2025-07-31T04:54:44.956522Z",
"url": "https://files.pythonhosted.org/packages/04/6f/2cd4fd79168d390354984e1f5cc2b96b8ea7182f40dc6fa1631b85aa77df/pyxcp-0.22.35-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8233911582287a9cbe60428732863395b71efbbcb8b48c6cd9cb80db159ee1e1",
"md5": "eb8f3d60d79e1dcb86eefa490676e1a7",
"sha256": "a2382c178030c5bb4ab5ae96f8288104a4c1d26946e960e41e558be7f33cd62f"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "eb8f3d60d79e1dcb86eefa490676e1a7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 1558204,
"upload_time": "2025-07-31T04:54:45",
"upload_time_iso_8601": "2025-07-31T04:54:45.985845Z",
"url": "https://files.pythonhosted.org/packages/82/33/911582287a9cbe60428732863395b71efbbcb8b48c6cd9cb80db159ee1e1/pyxcp-0.22.35-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c9c722e150dbcedb13fc1a9ba2b9bb930f0d512d6c97882ba8f3393bc2b1daec",
"md5": "666cfd02b36739397be45b149864ee76",
"sha256": "29ed2dd9cf35200b62fde63100ec9407c909e428ce2a1bee6c1e7a810689bd22"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "666cfd02b36739397be45b149864ee76",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 1812220,
"upload_time": "2025-07-31T04:54:47",
"upload_time_iso_8601": "2025-07-31T04:54:47.525473Z",
"url": "https://files.pythonhosted.org/packages/c9/c7/22e150dbcedb13fc1a9ba2b9bb930f0d512d6c97882ba8f3393bc2b1daec/pyxcp-0.22.35-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a9e31aef0e0f55a1609325f608ab0dfb7a9391f77aec8da379151f3d7cce79e7",
"md5": "226c695486e56724b2176732a5f07eff",
"sha256": "d843290d48f87b58b1bcf8ff85077efcd09c0d8cc48a9b539396d60e3edbeb14"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "226c695486e56724b2176732a5f07eff",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 1995039,
"upload_time": "2025-07-31T04:54:48",
"upload_time_iso_8601": "2025-07-31T04:54:48.624561Z",
"url": "https://files.pythonhosted.org/packages/a9/e3/1aef0e0f55a1609325f608ab0dfb7a9391f77aec8da379151f3d7cce79e7/pyxcp-0.22.35-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d5390d8d60258f598e451e0941a506ad7c79ee6578f8e94dd55eb373cc24b23a",
"md5": "c9efe032ae9a96145d88489de9a321bd",
"sha256": "d1acd754e296f476973921345f4c74b6f712a17a15a69d76de31be14f6ac06d3"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "c9efe032ae9a96145d88489de9a321bd",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<4.0,>=3.10",
"size": 1412815,
"upload_time": "2025-07-31T04:54:50",
"upload_time_iso_8601": "2025-07-31T04:54:50.013419Z",
"url": "https://files.pythonhosted.org/packages/d5/39/0d8d60258f598e451e0941a506ad7c79ee6578f8e94dd55eb373cc24b23a/pyxcp-0.22.35-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7752d5d48db753d7a01c0816221b5e2570183c269f1b19b8c1efee76b20e809f",
"md5": "9b7e3d3030c37446c8d2880b0d330513",
"sha256": "6d9a76f5eef0567206330867bd72519bbaae90cf840648165aba16bcd5a0a828"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "9b7e3d3030c37446c8d2880b0d330513",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 1998149,
"upload_time": "2025-07-31T04:54:51",
"upload_time_iso_8601": "2025-07-31T04:54:51.534065Z",
"url": "https://files.pythonhosted.org/packages/77/52/d5d48db753d7a01c0816221b5e2570183c269f1b19b8c1efee76b20e809f/pyxcp-0.22.35-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6f748695fab3d01bde2e1d93731d5b27ce9f4ac48a4a58714d4bf991ac14fba5",
"md5": "d702af4701028d844805ea62f1463666",
"sha256": "5e576e6dca9b64b3cde13f052e080257e3ac9f710eb9a43cd255c368dd5bf96a"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "d702af4701028d844805ea62f1463666",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 2334722,
"upload_time": "2025-07-31T04:54:52",
"upload_time_iso_8601": "2025-07-31T04:54:52.646476Z",
"url": "https://files.pythonhosted.org/packages/6f/74/8695fab3d01bde2e1d93731d5b27ce9f4ac48a4a58714d4bf991ac14fba5/pyxcp-0.22.35-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "50e6a18498b4cc3f6c48a2582b06342d14edd2c27f1a0a2d243f6e27e2b6a7d8",
"md5": "85cc21d327a96776873e3e73cf4d39b7",
"sha256": "36a7264e6e0805602c9258c8eebb4788797ce92027ceee7d00d7694ab5dd9a5d"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "85cc21d327a96776873e3e73cf4d39b7",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 2580793,
"upload_time": "2025-07-31T04:54:53",
"upload_time_iso_8601": "2025-07-31T04:54:53.758506Z",
"url": "https://files.pythonhosted.org/packages/50/e6/a18498b4cc3f6c48a2582b06342d14edd2c27f1a0a2d243f6e27e2b6a7d8/pyxcp-0.22.35-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1b5dea13fca7c76ae7ca12dab6f551c07b24691f4f2010e2ac8b524e0f9e560b",
"md5": "e1c8b7acb98a30fc12693fd0136782d0",
"sha256": "8c5404aa71406ae43c9738433192f8f147843826b61f197b54dd73e73e208dce"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "e1c8b7acb98a30fc12693fd0136782d0",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<4.0,>=3.10",
"size": 1803152,
"upload_time": "2025-07-31T04:54:54",
"upload_time_iso_8601": "2025-07-31T04:54:54.823568Z",
"url": "https://files.pythonhosted.org/packages/1b/5d/ea13fca7c76ae7ca12dab6f551c07b24691f4f2010e2ac8b524e0f9e560b/pyxcp-0.22.35-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "05c64200d166919d91b4de98b3774241cbc69676c46501dd5e1b9dfded640639",
"md5": "2b1db7d0d7d5f38a8327990e7d8f5e7d",
"sha256": "62cb9b2e87c417c5f5195b04f978611eb5502918903360664752aab10322360e"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp314-cp314-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "2b1db7d0d7d5f38a8327990e7d8f5e7d",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": "<4.0,>=3.10",
"size": 2439191,
"upload_time": "2025-07-31T04:54:56",
"upload_time_iso_8601": "2025-07-31T04:54:56.301467Z",
"url": "https://files.pythonhosted.org/packages/05/c6/4200d166919d91b4de98b3774241cbc69676c46501dd5e1b9dfded640639/pyxcp-0.22.35-cp314-cp314-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a93d5b46c797b97048fa96ecdc59569d7e6bd31850301a1ee67a26557075c7cb",
"md5": "cdc29abebfc1960f5dd8c93825a5a7d6",
"sha256": "3fdcbd6ee72a17add66397d54ee69698d58a8d907a7290f1c8946bef634c0c9f"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "cdc29abebfc1960f5dd8c93825a5a7d6",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": "<4.0,>=3.10",
"size": 2858799,
"upload_time": "2025-07-31T04:54:57",
"upload_time_iso_8601": "2025-07-31T04:54:57.618429Z",
"url": "https://files.pythonhosted.org/packages/a9/3d/5b46c797b97048fa96ecdc59569d7e6bd31850301a1ee67a26557075c7cb/pyxcp-0.22.35-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6869e8bd87eb097eb040ce0acf9bee66a1fa6dea46c200b8af4ef6fc583e908d",
"md5": "33cd3668660db36a0423c57f5615070c",
"sha256": "69f3f99a09f7725bc6b550ee6dbdf669865dd9e7215a3681ba26640d96578bc4"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "33cd3668660db36a0423c57f5615070c",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": "<4.0,>=3.10",
"size": 3167092,
"upload_time": "2025-07-31T04:54:59",
"upload_time_iso_8601": "2025-07-31T04:54:59.277083Z",
"url": "https://files.pythonhosted.org/packages/68/69/e8bd87eb097eb040ce0acf9bee66a1fa6dea46c200b8af4ef6fc583e908d/pyxcp-0.22.35-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "95fda469da60ab0f23af6a0f487306c30cd2a3ad6224216564aecf6be944b3eb",
"md5": "6c818a758ac70f21c7cd0dae61d4cb3c",
"sha256": "db2bda72ad2468775a1afdbe41a8be79f1227f05d388ef0a7c92ef4e81223905"
},
"downloads": -1,
"filename": "pyxcp-0.22.35-cp314-cp314-win_amd64.whl",
"has_sig": false,
"md5_digest": "6c818a758ac70f21c7cd0dae61d4cb3c",
"packagetype": "bdist_wheel",
"python_version": "cp314",
"requires_python": "<4.0,>=3.10",
"size": 2252353,
"upload_time": "2025-07-31T04:55:00",
"upload_time_iso_8601": "2025-07-31T04:55:00.801148Z",
"url": "https://files.pythonhosted.org/packages/95/fd/a469da60ab0f23af6a0f487306c30cd2a3ad6224216564aecf6be944b3eb/pyxcp-0.22.35-cp314-cp314-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "248b0e9e01d0cb16e9b2e438c34f8e3fa3892b0362232602bf2774fcee0788c8",
"md5": "19e263097c3a9e1752d450ef1734a736",
"sha256": "d84071eebd2a96f74f5fd5c4fc6a6b6d430f031d73529743d3a7e4a4e582e918"
},
"downloads": -1,
"filename": "pyxcp-0.22.35.tar.gz",
"has_sig": false,
"md5_digest": "19e263097c3a9e1752d450ef1734a736",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 215163,
"upload_time": "2025-07-31T04:55:02",
"upload_time_iso_8601": "2025-07-31T04:55:02.135600Z",
"url": "https://files.pythonhosted.org/packages/24/8b/0e9e01d0cb16e9b2e438c34f8e3fa3892b0362232602bf2774fcee0788c8/pyxcp-0.22.35.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-31 04:55:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "christoph2",
"github_project": "pyxcp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"lcname": "pyxcp"
}