# STL Reducer
This project provides a Rust implementation for reading STL files and reducing the number of points using a fast grid sampling method. The functionality is exposed to Python using PyO3.
## Features
- Read STL files and extract points.
- Reduce the number of points using a fast grid sampling method.
- Python bindings for easy integration with Python projects.
## Usage
### Python
```bash
pip install stl-reducer
```
## Functions
#### `reduce_stl_points(stl_file_path: Path, clusters: int) -> List[Tuple[float, float, float]]`
Reads an STL file and reduces the number of points.
**Args:**
- `stl_file_path (Path)`: Path to the STL file.
- `clusters (int)`: Number of clusters to reduce the points to.
**Returns:**
- `List[Tuple[float, float, float]]`: List of points in the reduced STL file.
## License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "stl-reducer",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "stl, reducer, python, rust, pyo3, grid, voxel",
"author": "vffuunnyy <vffuunnyy@gmail.com>",
"author_email": "vffuunnyy <vffuunnyy@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/32/1f/2d707d25ca7351a35853b93d8013ca5bf3d17184fc3ff69599a5666ef893/stl_reducer-0.1.4.tar.gz",
"platform": null,
"description": "# STL Reducer\n\nThis project provides a Rust implementation for reading STL files and reducing the number of points using a fast grid sampling method. The functionality is exposed to Python using PyO3.\n\n## Features\n\n- Read STL files and extract points.\n- Reduce the number of points using a fast grid sampling method.\n- Python bindings for easy integration with Python projects.\n\n## Usage\n\n### Python\n\n```bash\npip install stl-reducer\n```\n\n## Functions\n\n#### `reduce_stl_points(stl_file_path: Path, clusters: int) -> List[Tuple[float, float, float]]`\n\nReads an STL file and reduces the number of points.\n\n**Args:**\n- `stl_file_path (Path)`: Path to the STL file.\n- `clusters (int)`: Number of clusters to reduce the points to.\n\n**Returns:**\n- `List[Tuple[float, float, float]]`: List of points in the reduced STL file.\n\n## License\n\nThis project is licensed under the MIT License.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python package for reading STL files and extracting points",
"version": "0.1.4",
"project_urls": {
"Documentation": "https://github.com/vffuunnyy/stl_reducer/",
"Homepage": "https://github.com/vffuunnyy/stl_reducer/",
"Issues": "https://github.com/vffuunnyy/stl_reducer/issues",
"Repository": "https://github.com/vffuunnyy/stl_reducer.git"
},
"split_keywords": [
"stl",
" reducer",
" python",
" rust",
" pyo3",
" grid",
" voxel"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d90438f6c21dbf9fa3ba62d83e93877e17f4ac4f14af26e4762bd43bf84fcadc",
"md5": "7d3bfb85e11e6dbd52f922b95233bec1",
"sha256": "f195bbc1782dd468fecb357052af30583df894de25fa58135342d89aef4e8d3a"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "7d3bfb85e11e6dbd52f922b95233bec1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 245264,
"upload_time": "2024-11-08T05:42:18",
"upload_time_iso_8601": "2024-11-08T05:42:18.246431Z",
"url": "https://files.pythonhosted.org/packages/d9/04/38f6c21dbf9fa3ba62d83e93877e17f4ac4f14af26e4762bd43bf84fcadc/stl_reducer-0.1.4-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a0a3514c8d36d0e95411ce8c4fe473a7abf4f460976c5e29e7d3402f46c99bfb",
"md5": "c0a5c4c9ca4693210c606bf435c33875",
"sha256": "e55dddc532f6530d478f58d3d340a1db25e54977a1457ea47a0aecd2ef52b9d3"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp310-cp310-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "c0a5c4c9ca4693210c606bf435c33875",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 286136,
"upload_time": "2024-11-08T05:42:24",
"upload_time_iso_8601": "2024-11-08T05:42:24.657326Z",
"url": "https://files.pythonhosted.org/packages/a0/a3/514c8d36d0e95411ce8c4fe473a7abf4f460976c5e29e7d3402f46c99bfb/stl_reducer-0.1.4-cp310-cp310-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e498af8a7d3998b0d2de8d1d1ef58a61da8f0712437715dfd92b8979be11dfd1",
"md5": "1204d1e046e04f5a3c3c13265ff88824",
"sha256": "254e1756e64cea541b08bf60e9a0571316e5d199669056c67d551646069cfd50"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "1204d1e046e04f5a3c3c13265ff88824",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 190869,
"upload_time": "2024-11-08T05:42:30",
"upload_time_iso_8601": "2024-11-08T05:42:30.926421Z",
"url": "https://files.pythonhosted.org/packages/e4/98/af8a7d3998b0d2de8d1d1ef58a61da8f0712437715dfd92b8979be11dfd1/stl_reducer-0.1.4-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0feff7a8883e5d36b0bf7a8e55c53eff92318f1abfcd58549478273d2d5c95c7",
"md5": "da6d7459dd9bb2ae699ddb3a861a3b08",
"sha256": "568dd0ae7340aa7f046f1dbda4fa384166814ff114b905f5fa90903f4ec27e53"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "da6d7459dd9bb2ae699ddb3a861a3b08",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 245164,
"upload_time": "2024-11-08T05:42:20",
"upload_time_iso_8601": "2024-11-08T05:42:20.104950Z",
"url": "https://files.pythonhosted.org/packages/0f/ef/f7a8883e5d36b0bf7a8e55c53eff92318f1abfcd58549478273d2d5c95c7/stl_reducer-0.1.4-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7b063a83b626ca5267bce563df37fd89dd0d99c6eab8d46bc95b831cd483f1ef",
"md5": "2e4d74c7e960b998671ee20615e1b753",
"sha256": "2d658c4fb70292ede722902239cf7508e804162ae55550569c55118ec8d1de09"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp311-cp311-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "2e4d74c7e960b998671ee20615e1b753",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 285993,
"upload_time": "2024-11-08T05:42:25",
"upload_time_iso_8601": "2024-11-08T05:42:25.765715Z",
"url": "https://files.pythonhosted.org/packages/7b/06/3a83b626ca5267bce563df37fd89dd0d99c6eab8d46bc95b831cd483f1ef/stl_reducer-0.1.4-cp311-cp311-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "14964f70f25f34bf0ed2f09452fb2947485e89b0d962d9d68b8b489209d554bb",
"md5": "8ec829a5847fa5429714139d52a4ed76",
"sha256": "dea1ada02c62dcc10a7b0bbe25987ca765c902c5d88bac07dcf113d5d6772b79"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "8ec829a5847fa5429714139d52a4ed76",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 190747,
"upload_time": "2024-11-08T05:42:31",
"upload_time_iso_8601": "2024-11-08T05:42:31.937572Z",
"url": "https://files.pythonhosted.org/packages/14/96/4f70f25f34bf0ed2f09452fb2947485e89b0d962d9d68b8b489209d554bb/stl_reducer-0.1.4-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "33dbf6f44697efe40cc69af8fc7bab811ff6005e8825df51197e5fb0e9ac048d",
"md5": "6e8e9f3819eef589422916db015ad4c7",
"sha256": "9fbace4c7e73ef6430435e08ea9c42f7f039f718e4d7cac66868617588818da1"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6e8e9f3819eef589422916db015ad4c7",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 244552,
"upload_time": "2024-11-08T05:42:21",
"upload_time_iso_8601": "2024-11-08T05:42:21.923200Z",
"url": "https://files.pythonhosted.org/packages/33/db/f6f44697efe40cc69af8fc7bab811ff6005e8825df51197e5fb0e9ac048d/stl_reducer-0.1.4-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8053c94c97cd6f260557be87a540d74987d046fe410f3ad51ee860275b9b6857",
"md5": "44c4975f76c45424f068cddb28b43923",
"sha256": "0d45e9ab34f270db7428fcc1332422b4e797def103c41fe1aa4ff3fbd88c47fa"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp312-cp312-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "44c4975f76c45424f068cddb28b43923",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 285266,
"upload_time": "2024-11-08T05:42:27",
"upload_time_iso_8601": "2024-11-08T05:42:27.320290Z",
"url": "https://files.pythonhosted.org/packages/80/53/c94c97cd6f260557be87a540d74987d046fe410f3ad51ee860275b9b6857/stl_reducer-0.1.4-cp312-cp312-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "831dfb93db5010f63351b9979dc36353641ca76888523bc94c2a7ccddad5a37e",
"md5": "7bb983826ff0ecbf487a8a2985e9190a",
"sha256": "d7e4aa70b4cff21827f2052ae8c6e7584066a937d7644977fc36a447d5ee3854"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "7bb983826ff0ecbf487a8a2985e9190a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 190108,
"upload_time": "2024-11-08T05:42:33",
"upload_time_iso_8601": "2024-11-08T05:42:33.525834Z",
"url": "https://files.pythonhosted.org/packages/83/1d/fb93db5010f63351b9979dc36353641ca76888523bc94c2a7ccddad5a37e/stl_reducer-0.1.4-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3c9729a0679ff6f5432780d0851e90436414c9a8aae18e846e88961f358d6c38",
"md5": "87e90605daa0a6049d64d5e634fa7f51",
"sha256": "25e74fdc7630357b1028642ae342d8e545ff221d827a2b6e01de19a3b3c32fb6"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "87e90605daa0a6049d64d5e634fa7f51",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 245265,
"upload_time": "2024-11-08T05:42:22",
"upload_time_iso_8601": "2024-11-08T05:42:22.991315Z",
"url": "https://files.pythonhosted.org/packages/3c/97/29a0679ff6f5432780d0851e90436414c9a8aae18e846e88961f358d6c38/stl_reducer-0.1.4-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e46f7068834212c3ebe4cf8e58fd0f1380cfe50235c08d6929faffccd677cf41",
"md5": "721831a4c7c7cb8bb1ac07f1f959ee4f",
"sha256": "68ad98c15e00036da1f8e9ccb6dc9338fa7cf42462f34b4821648ac3357e59aa"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp39-cp39-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "721831a4c7c7cb8bb1ac07f1f959ee4f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 286140,
"upload_time": "2024-11-08T05:42:29",
"upload_time_iso_8601": "2024-11-08T05:42:29.092098Z",
"url": "https://files.pythonhosted.org/packages/e4/6f/7068834212c3ebe4cf8e58fd0f1380cfe50235c08d6929faffccd677cf41/stl_reducer-0.1.4-cp39-cp39-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f95842c2b46d776ba33a6461b1c23a9dadc34ec7acf38bb81414cad4113b1469",
"md5": "bd1e4acbfb96618d1370b19b2ae27066",
"sha256": "ca590bf65c76e00c02a84bd3f0d441496c9b238b34ff766ce287026795af9c7a"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "bd1e4acbfb96618d1370b19b2ae27066",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 190870,
"upload_time": "2024-11-08T05:42:35",
"upload_time_iso_8601": "2024-11-08T05:42:35.438469Z",
"url": "https://files.pythonhosted.org/packages/f9/58/42c2b46d776ba33a6461b1c23a9dadc34ec7acf38bb81414cad4113b1469/stl_reducer-0.1.4-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "321f2d707d25ca7351a35853b93d8013ca5bf3d17184fc3ff69599a5666ef893",
"md5": "5651890d93cf4cb5f9a70090460340d7",
"sha256": "c294ab22a68c6e8e239f104856c1a8f075915d36412efee113f855e7ab7704ca"
},
"downloads": -1,
"filename": "stl_reducer-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "5651890d93cf4cb5f9a70090460340d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 9372,
"upload_time": "2024-11-08T05:42:37",
"upload_time_iso_8601": "2024-11-08T05:42:37.033425Z",
"url": "https://files.pythonhosted.org/packages/32/1f/2d707d25ca7351a35853b93d8013ca5bf3d17184fc3ff69599a5666ef893/stl_reducer-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-08 05:42:37",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vffuunnyy",
"github_project": "stl_reducer",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "stl-reducer"
}