Metadata-Version: 2.1
Name: nc-hops
Version: 0.2.4
Summary: Hop file writer and reader
Home-page: https://gitlab.com/brejabrejic/Hops
Author: Nikola Brajic
Author-email: Nikola Brajic <nikolabrajic@proton.me>, Igor Pekovic <igor.pekovic95@gmail.com>, Aleksa Marceta <aleksa.marceta@gmail.com>
License: MIT
Project-URL: homepage, https://gitlab.com/brejabrejic/Hops
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Pillow~=10.0.1
Requires-Dist: numpy~=1.26.0
Requires-Dist: setuptools~=70.0.0
Requires-Dist: smbprotocol~=1.13.0
Requires-Dist: chardet
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: black; extra == "dev"

# nc-hops

## Abstract

`nc-hops` is a Python package designed to facilitate the creation, reading, and manipulation of `.hop` files, which are primarily used with Hops, a Computer-Aided Manufacturing (CAM) software for CNC machines. The package enables users to seamlessly load, edit, and write `.hop` files while preserving all relevant content, ensuring compatibility with different CNC machines.

Any unfamiliar content encountered within `.hop` files is gracefully ignored but retained for future modifications, enabling robust handling of files generated by various software applications.

## Quick-Info

- `nc-hops` is a Python package for creating, reading, modifying, and writing `.hop` files.
- **License**: MIT License
- **Intended Audience**: Programmers, CNC Machine Operators, and CAM Software Users
- **Python Compatibility**: Requires at least Python 3.6
- **OS Compatibility**: OS Independent
- **Dependencies**: 
  - Pillow
  - numpy
  - setuptools
  - smbprotocol
  - chardet

- **Current Capabilities**:
  - Reading and extracting elements from `.hop` files.
  - Writing `.hop` files with support for Milling, Drilling, Machine, and Nesting operations.
- **Supported `.hop` Content**: Supports read/write operations for most known versions of `.hop` files.

## Installation

To install the `nc-hops` package, run the following command:
```bash
python -m pip install nc-hops
```

For advanced usage or development, you can clone it from the repository and use the command:
```bash 
python -m pip install .
```

## Usage

### Reading `.hop` Files

Extract various elements such as variables, comments, and processing details from `.hop` files using the `ReadHop` module.

### Writing `.hop` Files

Utilize the `WriteHop` module to create `.hop` files with support for:
- **Milling Operations**: Create and customize milling operations.
- **Drilling Operations**: Define drilling operations with precise parameters.
- **Machine Setup**: Configure machine-specific settings.
- **Nesting Operations**: Optimize material usage through nesting.

## Examples
For more detailed examples of how to use nc-hops for reading and writing .hop files, please refer to the example scripts available in the [repository](https://gitlab.com/brejabrejic/Hops).

## Project Status

Ongoing - Actively developed 

## Contributors

- **Nikola Brajic** - [nikolabrajic@proton.me](mailto:nikolabrajic@proton.me)
- **Igor Pekovic** - [igor.pekovic95@gmail.com](mailto:igor.pekovic95@gmail.com)
- **Aleksa Marceta** - [aleksa.marceta@gmail.com](mailto:aleksa.marceta@gmail.com)

## Feedback and Contribution

Questions and feedback can be directed to the project's contributors via their email addresses. Contributions are welcome; please fork the repository and submit a pull request with your improvements.

## License

This project is licensed under the MIT License.

## Contact

For questions, feature requests, or bug reports, please contact:
- Nikola Brajic - [nikolabrajic@proton.me](mailto:nikolabrajic@proton.me)

