# Werk24 Python Client
<p align="center">
<p align="center">
<a href="https://werk24.io/?utm_source=github&utm_medium=logo" target="_blank">
<img src="https://github.com/W24-Service-GmbH/.github/blob/prod/profile/Werk24_banner_GitHub.png?raw=true" alt="Werk24">
</a>
</p>
</p>
[](https://pypi.python.org/pypi/werk24)
[](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml)
## Overview
Werk24 provides AI-powered solutions for extracting and interpreting technical drawings.
This Python client enables easy interaction with the Werk24 API for processing technical drawings efficiently.
The API give you access to the following structured data:
- **Meta Data**: Drawing ID, Part ID, Designation, General Tolerances, General Roughness, Material, Weight, Bill of Material, Revision Table, Languages and Notes.
- **Features**: Dimensions incl. Tolerances, Threads, Bores, Chamfers, Roughnesses, GDnTs, Radii
- **Insights**: Manufacturing Method, Postprocesses, Input Geometry, Output Geometry
- **Redaction**: Redact information from Technical Drawings.
Check our website at [https://werk24.io](https://werk24.io/?utm_source=github&utm_medium=feature_link).
## Features
- **Automated Extraction**: Retrieve metadata, dimensions, and annotations from technical drawings.
- **Fast Processing**: Optimized API calls for efficient inference.
- **Seamless Integration**: Works with Python-based workflows for manufacturing, CAD, and ERP systems.
- **JSON Output**: Standardized response format for easy processing.
## Applications
Harness Werk24 for:
- **Instant Pricing**: Automate 2D drawing-based quoting.
- **Feasibility Checks**: Evaluate RFQs efficiently.
- **Configurator Auto-Fill**: Populate online configurators with minimal input.
- **Drawing Anonymization**: Protect sensitive data in technical drawings.
- **Supplier Scouting**: Automate vendor selection for specific requirements.
- **ERP Registration**: Streamline incoming RFQ registrations.
- **Structured Archiving**: Organize drawings with metadata extraction.
## Installation
Pip installation
```bash
pip install werk24 # install the library
werk24 init # obtain a trial license
```
## Quick Start
Here's how you can use the Werk24 client to extract data from a technical drawing:
```python
import asyncio
from werk24 import Werk24Client, AskMetaData, get_test_drawing
async def read_drawing(asks):
fid = get_test_drawing()
async with Werk24Client() as client:
return [msg async for msg in client.read_drawing(fid, asks)]
asyncio.run(read_drawing([AskMetaData()]))
```
## Documentation
See [https://werk24.io/docs/index.html](https://werk24.io/docs/index.html)
## CLI
To get a first impression, you can run the CLI:
```bash
$> werk24 --help
Usage: python -m werk24.cli.werk24 [OPTIONS] COMMAND [ARGS]...
╭─ Options ─────────────────────────────────────────────────────────────────────────────────╮
│ --log-level TEXT Set the log level [default: WARNING] │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or... |
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────────────╮
│ init Initialize Werk24 by providing or creating a license. │
│ health-check Run a comprehensive health check for the CLI. │
│ techread Read a drawing file and extract information. │
│ version Print the version of the Client. │
╰───────────────────────────────────────────────────────────────────────────────────────────╯
```
Raw data
{
"_id": null,
"home_page": null,
"name": "werk24",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "technical drawing data extraction, engineering drawing analysis, AI-powered CAD drawing processing, additive manufacturing assessment, feasibility analysis for manufacturing, PMI extraction, sheet rebranding, title block recognition, measure and tolerance extraction, thread and chamfer detection, geometric dimensioning and tolerancing, surface roughness analysis, API integration for technical drawings, automated feature extraction, manufacturing data digitization, AI in manufacturing, computer vision in engineering, digital supply chain optimization, technical drawing interpretation, manufacturing process automation",
"author": null,
"author_email": "W24 Service GmbH <info@werk24.io>",
"download_url": "https://files.pythonhosted.org/packages/d9/2f/966b072b3c104a6052925e17df3f59fe624bc952643297fd00e86f0d69b4/werk24-2.0.4.tar.gz",
"platform": null,
"description": "# Werk24 Python Client\n\n<p align=\"center\">\n <p align=\"center\">\n <a href=\"https://werk24.io/?utm_source=github&utm_medium=logo\" target=\"_blank\">\n <img src=\"https://github.com/W24-Service-GmbH/.github/blob/prod/profile/Werk24_banner_GitHub.png?raw=true\" alt=\"Werk24\">\n </a>\n </p>\n</p>\n\n[](https://pypi.python.org/pypi/werk24)\n[](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml)\n\n## Overview\n\nWerk24 provides AI-powered solutions for extracting and interpreting technical drawings.\nThis Python client enables easy interaction with the Werk24 API for processing technical drawings efficiently.\nThe API give you access to the following structured data:\n\n- **Meta Data**: Drawing ID, Part ID, Designation, General Tolerances, General Roughness, Material, Weight, Bill of Material, Revision Table, Languages and Notes.\n- **Features**: Dimensions incl. Tolerances, Threads, Bores, Chamfers, Roughnesses, GDnTs, Radii\n- **Insights**: Manufacturing Method, Postprocesses, Input Geometry, Output Geometry\n- **Redaction**: Redact information from Technical Drawings.\n\nCheck our website at [https://werk24.io](https://werk24.io/?utm_source=github&utm_medium=feature_link).\n\n## Features\n\n- **Automated Extraction**: Retrieve metadata, dimensions, and annotations from technical drawings.\n- **Fast Processing**: Optimized API calls for efficient inference.\n- **Seamless Integration**: Works with Python-based workflows for manufacturing, CAD, and ERP systems.\n- **JSON Output**: Standardized response format for easy processing.\n\n## Applications\n\nHarness Werk24 for:\n\n- **Instant Pricing**: Automate 2D drawing-based quoting.\n- **Feasibility Checks**: Evaluate RFQs efficiently.\n- **Configurator Auto-Fill**: Populate online configurators with minimal input.\n- **Drawing Anonymization**: Protect sensitive data in technical drawings.\n- **Supplier Scouting**: Automate vendor selection for specific requirements.\n- **ERP Registration**: Streamline incoming RFQ registrations.\n- **Structured Archiving**: Organize drawings with metadata extraction.\n\n## Installation\n\nPip installation\n\n```bash\npip install werk24 # install the library\nwerk24 init # obtain a trial license\n```\n\n## Quick Start\n\nHere's how you can use the Werk24 client to extract data from a technical drawing:\n\n```python\nimport asyncio\nfrom werk24 import Werk24Client, AskMetaData, get_test_drawing\n\nasync def read_drawing(asks):\n fid = get_test_drawing()\n async with Werk24Client() as client:\n return [msg async for msg in client.read_drawing(fid, asks)]\n\nasyncio.run(read_drawing([AskMetaData()]))\n```\n\n## Documentation\n\nSee [https://werk24.io/docs/index.html](https://werk24.io/docs/index.html)\n\n## CLI\n\nTo get a first impression, you can run the CLI:\n\n```bash\n$> werk24 --help\n Usage: python -m werk24.cli.werk24 [OPTIONS] COMMAND [ARGS]...\n\n\u256d\u2500 Options \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 --log-level TEXT Set the log level [default: WARNING] \u2502\n\u2502 --install-completion Install completion for the current shell. \u2502\n\u2502 --show-completion Show completion for the current shell, to copy it or... |\n\u2502 --help Show this message and exit. \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\u256d\u2500 Commands \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 init Initialize Werk24 by providing or creating a license. \u2502\n\u2502 health-check Run a comprehensive health check for the CLI. \u2502\n\u2502 techread Read a drawing file and extract information. \u2502\n\u2502 version Print the version of the Client. \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\n```\n",
"bugtrack_url": null,
"license": "Parameters\n \n Licensor: W24 Service GmbH\n Licensed Work: Werk24 Techread Client\n The Licensed Work is (c) 2025 W24 Service GmbH\n Use Grant: The Software may only be used in combination with a commercial license: https://werk24.io\n \n Refer to assets/fonts/STIX_2.0.2_license.pdf for a font-specific license.",
"summary": "AI-powered platform for extracting and analyzing data from technical drawings / CAD drawings to enhance manufacturing workflows.",
"version": "2.0.4",
"project_urls": {
"documentation": "https://werk24.io/docs",
"homepage": "https://werk24.io",
"repository": "https://github.com/W24-Service-GmbH/werk24-python"
},
"split_keywords": [
"technical drawing data extraction",
" engineering drawing analysis",
" ai-powered cad drawing processing",
" additive manufacturing assessment",
" feasibility analysis for manufacturing",
" pmi extraction",
" sheet rebranding",
" title block recognition",
" measure and tolerance extraction",
" thread and chamfer detection",
" geometric dimensioning and tolerancing",
" surface roughness analysis",
" api integration for technical drawings",
" automated feature extraction",
" manufacturing data digitization",
" ai in manufacturing",
" computer vision in engineering",
" digital supply chain optimization",
" technical drawing interpretation",
" manufacturing process automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "df16dfd4c661265f9b63a765bd452f3f1e3df52c5aea387ccc20c2ef649a3633",
"md5": "51383d6e025bdc9cc77cc30662a6eb8f",
"sha256": "c8e8fcf062241c6c76a2dec71e4881a16906591db0714d504f7022dbca7eac34"
},
"downloads": -1,
"filename": "werk24-2.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "51383d6e025bdc9cc77cc30662a6eb8f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 135937,
"upload_time": "2025-02-24T08:15:55",
"upload_time_iso_8601": "2025-02-24T08:15:55.974541Z",
"url": "https://files.pythonhosted.org/packages/df/16/dfd4c661265f9b63a765bd452f3f1e3df52c5aea387ccc20c2ef649a3633/werk24-2.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d92f966b072b3c104a6052925e17df3f59fe624bc952643297fd00e86f0d69b4",
"md5": "f05d733003fbcea095fb5287df7bedce",
"sha256": "9521e83037e45dec584c19af80126c6707d3c7d4d3f577f7f939462ae402c0f3"
},
"downloads": -1,
"filename": "werk24-2.0.4.tar.gz",
"has_sig": false,
"md5_digest": "f05d733003fbcea095fb5287df7bedce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 111767,
"upload_time": "2025-02-24T08:16:00",
"upload_time_iso_8601": "2025-02-24T08:16:00.475948Z",
"url": "https://files.pythonhosted.org/packages/d9/2f/966b072b3c104a6052925e17df3f59fe624bc952643297fd00e86f0d69b4/werk24-2.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-24 08:16:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "W24-Service-GmbH",
"github_project": "werk24-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
"==",
"3.11.12"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.12.14"
]
]
},
{
"name": "cryptography",
"specs": [
[
">=",
"44.0.0"
]
]
},
{
"name": "packaging",
"specs": [
[
">=",
"24.2"
]
]
},
{
"name": "pint",
"specs": [
[
"==",
"0.24.4"
]
]
},
{
"name": "pydantic-extra-types",
"specs": [
[
"==",
"2.10.2"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.10.6"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "pydantic-settings",
"specs": [
[
"==",
"2.7.1"
]
]
},
{
"name": "typer",
"specs": [
[
"==",
"0.15.1"
]
]
},
{
"name": "websockets",
"specs": [
[
"==",
"14.2"
]
]
}
],
"lcname": "werk24"
}