werk24


Namewerk24 JSON
Version 2.2.0 PyPI version JSON
download
home_pageNone
SummaryAI-powered platform for extracting and analyzing data from technical drawings / CAD drawings to enhance manufacturing workflows.
upload_time2025-08-21 10:25:40
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseParameters Licensor: W24 Service GmbH Licensed Work: Werk24 Techread Client The Licensed Work is (c) 2025 W24 Service GmbH Use Grant: The Software may only be used in combination with a commercial license: https://werk24.io Refer to assets/fonts/STIX_2.0.2_license.pdf for a font-specific license.
keywords technical-drawings cad ai additive-manufacturing feasibility pmi sheet-rebranding title-block tolerance thread chamfer gdt surface-roughness api feature-extraction digitization manufacturing computer-vision supply-chain automation
VCS
bugtrack_url
requirements aiohttp certifi cryptography packaging pint pydantic-extra-types pydantic python-dotenv pydantic-settings typer websockets
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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>

# Werk24 Python Client

Unlock manufacturing intelligence from technical drawings with AI.

[![PyPI version](https://img.shields.io/pypi/v/werk24.svg)](https://pypi.python.org/pypi/werk24)
![Python Version](https://img.shields.io/pypi/pyversions/werk24.svg)
![License](https://img.shields.io/badge/license-commercial-blue)
[![Downloads](https://img.shields.io/pypi/dm/werk24.svg)](https://pypi.python.org/pypi/werk24)
[![Tests](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml/badge.svg)](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml)

## Table of Contents

- [Overview](#overview)
- [Why Werk24?](#why-werk24)
- [Features](#features)
- [Applications](#applications)
- [Installation](#installation)
- [Quick Start](#quick-start)
- [Documentation](#documentation)
- [Community & Support](#community--support)
- [Contributing](#contributing)
- [License](#license)

## 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 gives 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.

👉 Visit [werk24.io](https://werk24.io/?utm_source=github&utm_medium=feature_link) to learn more or request a demo.

## Why Werk24?

- **Accelerate Quoting** – Generate prices from 2D drawings in seconds.
- **Reduce Manual Entry** – Automatically capture metadata and dimensions.
- **Speed Up Supplier Scouting** – Match drawings with capable vendors.
- **Protect IP** – Anonymize sensitive details before sharing.
- **Boost Productivity** – Let engineers focus on design, not data extraction.

## 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.                                           │
│ status         Fetch and display the Werk24 system status.                               │
╰───────────────────────────────────────────────────────────────────────────────────────────╯

```

## Community & Support

- Website: [werk24.io](https://werk24.io/?utm_source=github&utm_medium=community_link)
- Email: [info@werk24.io](mailto:info@werk24.io)
- LinkedIn: [Werk24](https://www.linkedin.com/company/werk24/)

Have questions? [Request a demo](https://werk24.io/?utm_source=github&utm_medium=request_demo) or open an issue and we’ll be happy to help.

## Contributing

We welcome contributions that improve the client or documentation.

1. Fork the repository and create a new branch.
2. Make your changes and ensure tests pass with `pytest`.
3. Open a pull request describing your changes.

See [CONTRIBUTING.md](CONTRIBUTING.md) for more details.

## License

The Werk24 Python Client requires a commercial Werk24 license to use.
See [LICENSE.txt](LICENSE.txt) for terms and conditions.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "werk24",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "technical-drawings, CAD, AI, additive-manufacturing, feasibility, PMI, sheet-rebranding, title-block, tolerance, thread, chamfer, GDT, surface-roughness, API, feature-extraction, digitization, manufacturing, computer-vision, supply-chain, automation",
    "author": null,
    "author_email": "W24 Service GmbH <info@werk24.io>",
    "download_url": "https://files.pythonhosted.org/packages/f5/78/84942124fa34f3825d23a9214c4907e233bc28b0a0fa5900c463cf20233e/werk24-2.2.0.tar.gz",
    "platform": null,
    "description": "<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\n# Werk24 Python Client\n\nUnlock manufacturing intelligence from technical drawings with AI.\n\n[![PyPI version](https://img.shields.io/pypi/v/werk24.svg)](https://pypi.python.org/pypi/werk24)\n![Python Version](https://img.shields.io/pypi/pyversions/werk24.svg)\n![License](https://img.shields.io/badge/license-commercial-blue)\n[![Downloads](https://img.shields.io/pypi/dm/werk24.svg)](https://pypi.python.org/pypi/werk24)\n[![Tests](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml/badge.svg)](https://github.com/W24-Service-GmbH/werk24-python/actions/workflows/python-test.yml)\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Why Werk24?](#why-werk24)\n- [Features](#features)\n- [Applications](#applications)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Documentation](#documentation)\n- [Community & Support](#community--support)\n- [Contributing](#contributing)\n- [License](#license)\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 gives 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\n\ud83d\udc49 Visit [werk24.io](https://werk24.io/?utm_source=github&utm_medium=feature_link) to learn more or request a demo.\n\n## Why Werk24?\n\n- **Accelerate Quoting** \u2013 Generate prices from 2D drawings in seconds.\n- **Reduce Manual Entry** \u2013 Automatically capture metadata and dimensions.\n- **Speed Up Supplier Scouting** \u2013 Match drawings with capable vendors.\n- **Protect IP** \u2013 Anonymize sensitive details before sharing.\n- **Boost Productivity** \u2013 Let engineers focus on design, not data extraction.\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\u2502 status         Fetch and display the Werk24 system status.                               \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\n## Community & Support\n\n- Website: [werk24.io](https://werk24.io/?utm_source=github&utm_medium=community_link)\n- Email: [info@werk24.io](mailto:info@werk24.io)\n- LinkedIn: [Werk24](https://www.linkedin.com/company/werk24/)\n\nHave questions? [Request a demo](https://werk24.io/?utm_source=github&utm_medium=request_demo) or open an issue and we\u2019ll be happy to help.\n\n## Contributing\n\nWe welcome contributions that improve the client or documentation.\n\n1. Fork the repository and create a new branch.\n2. Make your changes and ensure tests pass with `pytest`.\n3. Open a pull request describing your changes.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more details.\n\n## License\n\nThe Werk24 Python Client requires a commercial Werk24 license to use.\nSee [LICENSE.txt](LICENSE.txt) for terms and conditions.\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.2.0",
    "project_urls": {
        "documentation": "https://werk24.io/docs",
        "homepage": "https://werk24.io",
        "repository": "https://github.com/W24-Service-GmbH/werk24-python"
    },
    "split_keywords": [
        "technical-drawings",
        " cad",
        " ai",
        " additive-manufacturing",
        " feasibility",
        " pmi",
        " sheet-rebranding",
        " title-block",
        " tolerance",
        " thread",
        " chamfer",
        " gdt",
        " surface-roughness",
        " api",
        " feature-extraction",
        " digitization",
        " manufacturing",
        " computer-vision",
        " supply-chain",
        " automation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5428793f22bc75f2900a94861caae1085337b81a5fc33e83ccca67ff78b82342",
                "md5": "30dddeeeb44fc8b345b0e3693610d8f3",
                "sha256": "74aa2e0e5b1411b46c95ea8db70b433d60fdc890edb5d4a8263cf0d8d88d3f70"
            },
            "downloads": -1,
            "filename": "werk24-2.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "30dddeeeb44fc8b345b0e3693610d8f3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 139924,
            "upload_time": "2025-08-21T10:25:39",
            "upload_time_iso_8601": "2025-08-21T10:25:39.133504Z",
            "url": "https://files.pythonhosted.org/packages/54/28/793f22bc75f2900a94861caae1085337b81a5fc33e83ccca67ff78b82342/werk24-2.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f57884942124fa34f3825d23a9214c4907e233bc28b0a0fa5900c463cf20233e",
                "md5": "8e5898ba9a089b2195d34e83aac2e8ca",
                "sha256": "c2a3d0655d06d05d878a2b86202c7909e27b04af9c6b19159cc855de0d61d6d6"
            },
            "downloads": -1,
            "filename": "werk24-2.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8e5898ba9a089b2195d34e83aac2e8ca",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 116247,
            "upload_time": "2025-08-21T10:25:40",
            "upload_time_iso_8601": "2025-08-21T10:25:40.585026Z",
            "url": "https://files.pythonhosted.org/packages/f5/78/84942124fa34f3825d23a9214c4907e233bc28b0a0fa5900c463cf20233e/werk24-2.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-21 10:25:40",
    "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.12.15"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    ">=",
                    "2025.8.3"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "45.0.6"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    ">=",
                    "25.0"
                ]
            ]
        },
        {
            "name": "pint",
            "specs": [
                [
                    ">=",
                    "0.24.4"
                ]
            ]
        },
        {
            "name": "pydantic-extra-types",
            "specs": [
                [
                    ">=",
                    "2.10.5"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    ">=",
                    "2.11.5"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    ">=",
                    "1.1.0"
                ]
            ]
        },
        {
            "name": "pydantic-settings",
            "specs": [
                [
                    ">=",
                    "2.9.1"
                ]
            ]
        },
        {
            "name": "typer",
            "specs": [
                [
                    ">=",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "websockets",
            "specs": [
                [
                    ">=",
                    "15.0.1"
                ]
            ]
        }
    ],
    "lcname": "werk24"
}
        
Elapsed time: 0.71841s