# PynyHTM
PynyHTM is a Cython based Python wrapper for [libtinyhtm](https://github.com/Caltech-IPAC/libtinyhtm/), the minimalistic hierarchal triangular mesh library.
*libtinyhtm*, developed by *Serge Monkewitz* and *Walter Landry* is based on prior work from *Alex Szalay*, *Gyorgy Fekete* and *Jim Gray* in [Searchable Sky Coverage of Astronomical Observations: Footprints and Exposures](https://doi.org/10.48550/arXiv.1005.2606) and [Indexing the Sphere with the Hierarchical Triangular Mesh](https://doi.org/10.48550/arXiv.cs/0701164).
Hierarchal triangular meshes(HTM) use the sub-division of triangles, which are projected onto a sphere, to elegantly and efficiently partition the earth or the sky into regions with different identifiers.
## Usage sample
The code snippets below are available in [this example file](example.py).
Classes `SphericalCoordinate` and `V3` cover basic functionality for expressing points in 3D space.
```python
from PynyHTM import HTM, SphericalCoordinate, Triangle, V3
# Retrieve HTM ID for a spherical coordinate
sc_1 = SphericalCoordinate(10.1234, -20.1234)
id = sc_1.get_htm_id(level=14)
print(f"HTM-ID for sc_1: {id} at level 14")
# >>> HTM-ID for sc_1: 3278525534 at level 14
# Convert spherical coordinate to vector
v_1 = sc_1.to_v3()
# Retrieve HTM ID for a V3 vector
v_2 = V3(0.1,0.2,0.3)
id = v_2.get_htm_id(level=3)
print(f"HTM-ID for v_2: {id} at level 3")
# >>> HTM-ID for v_2: 986 at level 3
# Conversion from vector to spherical coordinate
sc_2 = v_2.to_sc()
diff = sc_1.angle_separation(sc_2)
print(f"Angle between sc_1 and sc_2 (v2): {diff}")
# >>> Angle between sc_1 and sc_2 (v2): 78.05738774142326
```
Triangles, instantiated from the `Triangle` class provide additional information about a trixel within the HTM. They contain the three vertices which make up a Trixel as well as the center and more additional information.
```python
# Retrieve additional information about a triangle within the HTM
triangle = Triangle.from_id(id)
print(f"This triangle is in level {triangle.level}")
# >>> This triangle is in level 3
sc_center = triangle.center.to_sc()
print(f"The center is located at {sc_center}")
# >>> The center is located at SphericalCoordinate({'_latitude': 57.03662706265828, '_longitude': 59.20954536171413})
```
The `HTM` class contains more helpers to manage HTM identifiers.
```python
print(f"The Triangle with id {id} is located at level {HTM.get_level(id)}")
# >>> The Triangle with id 986 is located at level 3
print(f"The ID can also be expressed in it's subdivision form: {HTM.id_to_dec(id)}")
# >>> The ID can also be expressed in it's subdivision form: 23122
# Determine the children of a given triangle
children = HTM.children(id)
print(f"Children of {id}: {children}")
# >>> Children of 986: [3944, 3945, 3946, 3947]
# Determine the parent of a given id
parent = HTM.parent(id)
print(f"Parent of {id}: {parent}")
# >>> Parent of 986: 246
# Determine neighbors of a given triangle
neighbors = HTM.neighbors(id)
print(f"The neighbors of {id} are: {neighbors}")
# >>> The neighbors of 986 are: [987, 988, 1017]
# Search IDs within a circle around a given point
ids = HTM.circle_search(center=v_1, radius=0.5, level=7)
print(f"{ids} are located near center with radius 0.5")
# >>> [200104, 200105, 200106, 200107, 200108, 200134] are located near center with radius 0.5
```
Raw data
{
"_id": null,
"home_page": null,
"name": "PynyHTM",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "htm, libtinyhtm, hierarchial triangular mesh, triangle subdivision, index",
"author": null,
"author_email": "Till <till@fleisch.dev>",
"download_url": "https://files.pythonhosted.org/packages/ce/80/cc76cd0be620f5db2d5f0dfdf16d9541f302f507b4123481feba8593d979/pynyhtm-0.0.2.tar.gz",
"platform": null,
"description": "# PynyHTM\n\nPynyHTM is a Cython based Python wrapper for [libtinyhtm](https://github.com/Caltech-IPAC/libtinyhtm/), the minimalistic hierarchal triangular mesh library.\n*libtinyhtm*, developed by *Serge Monkewitz* and *Walter Landry* is based on prior work from *Alex Szalay*, *Gyorgy Fekete* and *Jim Gray* in [Searchable Sky Coverage of Astronomical Observations: Footprints and Exposures](https://doi.org/10.48550/arXiv.1005.2606) and [Indexing the Sphere with the Hierarchical Triangular Mesh](https://doi.org/10.48550/arXiv.cs/0701164).\n\nHierarchal triangular meshes(HTM) use the sub-division of triangles, which are projected onto a sphere, to elegantly and efficiently partition the earth or the sky into regions with different identifiers.\n\n## Usage sample\n\nThe code snippets below are available in [this example file](example.py).\nClasses `SphericalCoordinate` and `V3` cover basic functionality for expressing points in 3D space.\n\n```python\nfrom PynyHTM import HTM, SphericalCoordinate, Triangle, V3\n\n# Retrieve HTM ID for a spherical coordinate\nsc_1 = SphericalCoordinate(10.1234, -20.1234)\nid = sc_1.get_htm_id(level=14)\nprint(f\"HTM-ID for sc_1: {id} at level 14\")\n# >>> HTM-ID for sc_1: 3278525534 at level 14\n\n# Convert spherical coordinate to vector\nv_1 = sc_1.to_v3()\n\n# Retrieve HTM ID for a V3 vector\nv_2 = V3(0.1,0.2,0.3)\nid = v_2.get_htm_id(level=3)\nprint(f\"HTM-ID for v_2: {id} at level 3\")\n# >>> HTM-ID for v_2: 986 at level 3\n\n# Conversion from vector to spherical coordinate\nsc_2 = v_2.to_sc()\n\ndiff = sc_1.angle_separation(sc_2)\nprint(f\"Angle between sc_1 and sc_2 (v2): {diff}\")\n# >>> Angle between sc_1 and sc_2 (v2): 78.05738774142326\n```\n\nTriangles, instantiated from the `Triangle` class provide additional information about a trixel within the HTM. They contain the three vertices which make up a Trixel as well as the center and more additional information.\n\n```python\n# Retrieve additional information about a triangle within the HTM\ntriangle = Triangle.from_id(id)\nprint(f\"This triangle is in level {triangle.level}\")\n# >>> This triangle is in level 3\n\nsc_center = triangle.center.to_sc()\nprint(f\"The center is located at {sc_center}\")\n# >>> The center is located at SphericalCoordinate({'_latitude': 57.03662706265828, '_longitude': 59.20954536171413})\n```\n\nThe `HTM` class contains more helpers to manage HTM identifiers.\n\n```python\n\nprint(f\"The Triangle with id {id} is located at level {HTM.get_level(id)}\")\n# >>> The Triangle with id 986 is located at level 3\n\nprint(f\"The ID can also be expressed in it's subdivision form: {HTM.id_to_dec(id)}\")\n# >>> The ID can also be expressed in it's subdivision form: 23122\n\n# Determine the children of a given triangle\nchildren = HTM.children(id)\nprint(f\"Children of {id}: {children}\")\n# >>> Children of 986: [3944, 3945, 3946, 3947]\n\n# Determine the parent of a given id\nparent = HTM.parent(id)\nprint(f\"Parent of {id}: {parent}\")\n# >>> Parent of 986: 246\n\n# Determine neighbors of a given triangle\nneighbors = HTM.neighbors(id)\nprint(f\"The neighbors of {id} are: {neighbors}\")\n# >>> The neighbors of 986 are: [987, 988, 1017]\n\n# Search IDs within a circle around a given point\nids = HTM.circle_search(center=v_1, radius=0.5, level=7)\nprint(f\"{ids} are located near center with radius 0.5\")\n# >>> [200104, 200105, 200106, 200107, 200108, 200134] are located near center with radius 0.5\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Python wrapper for the libtinyhtm library.",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://github.com/TillFleisch/PynyHTM",
"Issues": "https://github.com/TillFleisch/PynyHTM/issues",
"Repository": "https://github.com/TillFleisch/PynyHTM.git"
},
"split_keywords": [
"htm",
" libtinyhtm",
" hierarchial triangular mesh",
" triangle subdivision",
" index"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "147e10099970bc9213b920b97bbbb0f0c46981d843beb01393c17e3717b0897b",
"md5": "1a82dab0cd4f58b9aaa595faaf49c69e",
"sha256": "4ffd14d215c65fb415542d2f4382e88203c849bbfa50b343242a658e42c58f52"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "1a82dab0cd4f58b9aaa595faaf49c69e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 808458,
"upload_time": "2024-05-23T08:22:36",
"upload_time_iso_8601": "2024-05-23T08:22:36.907571Z",
"url": "https://files.pythonhosted.org/packages/14/7e/10099970bc9213b920b97bbbb0f0c46981d843beb01393c17e3717b0897b/PynyHTM-0.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "89115ef64bd765c7b8b6cc7d72f503bfa57b2f9b95e0193136b26c7f40fafeae",
"md5": "ebdd2e84d2c325167348ca01dfeceabb",
"sha256": "c87ed1b32ec52ff6405699574022879dd5e8e8b428cae6bdf729f7cfa0cf5a83"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ebdd2e84d2c325167348ca01dfeceabb",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 837833,
"upload_time": "2024-05-23T08:22:38",
"upload_time_iso_8601": "2024-05-23T08:22:38.256055Z",
"url": "https://files.pythonhosted.org/packages/89/11/5ef64bd765c7b8b6cc7d72f503bfa57b2f9b95e0193136b26c7f40fafeae/PynyHTM-0.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5d77b125186baf0bec5c07c8ea013d3922728543000f37c0cd2785bc1727eed7",
"md5": "7015e7620ebbb6f287fe8a3bb02992db",
"sha256": "28fc3ce933dd3cdfa29784c90cf69733a36f7e203489e287f2c62a3cc641dbb3"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp310-cp310-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "7015e7620ebbb6f287fe8a3bb02992db",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1710814,
"upload_time": "2024-05-23T08:22:39",
"upload_time_iso_8601": "2024-05-23T08:22:39.551476Z",
"url": "https://files.pythonhosted.org/packages/5d/77/b125186baf0bec5c07c8ea013d3922728543000f37c0cd2785bc1727eed7/PynyHTM-0.0.2-cp310-cp310-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8552df9cc165bdc6ccc67a273579dbfa2ea28ce8337f740d8eda7b1c74266b50",
"md5": "bc96d7b1718375d0f96c6e3209350b76",
"sha256": "5fbdfb72487713b6e3596800b4a2fcdb75ef0ab341b88f58ca1e09c6e1502b0b"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp310-cp310-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "bc96d7b1718375d0f96c6e3209350b76",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1805704,
"upload_time": "2024-05-23T08:22:41",
"upload_time_iso_8601": "2024-05-23T08:22:41.001533Z",
"url": "https://files.pythonhosted.org/packages/85/52/df9cc165bdc6ccc67a273579dbfa2ea28ce8337f740d8eda7b1c74266b50/PynyHTM-0.0.2-cp310-cp310-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c8636f9998971f7cbb95b438b1af2dceafc00a09f859f2f2d9850868ae073899",
"md5": "341adf08d8d91e2fae73ed8dc8cb1e91",
"sha256": "66d50663f7b2ab7e5ca8202ed6486803f51c84078ad9e79d0bbf80dde5d0a586"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "341adf08d8d91e2fae73ed8dc8cb1e91",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 888977,
"upload_time": "2024-05-23T08:22:42",
"upload_time_iso_8601": "2024-05-23T08:22:42.332612Z",
"url": "https://files.pythonhosted.org/packages/c8/63/6f9998971f7cbb95b438b1af2dceafc00a09f859f2f2d9850868ae073899/PynyHTM-0.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "51d2f13d44108a9dc5549d25dffb20f57ccc54f4af34803c8011969f58f8fab9",
"md5": "bf6591a3f85113a1bbff1bbe83c6c75c",
"sha256": "5d862358bf098df3716d5a4680dd5a3e319693e2b56f2f812e40976d3457a593"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "bf6591a3f85113a1bbff1bbe83c6c75c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 912759,
"upload_time": "2024-05-23T08:22:44",
"upload_time_iso_8601": "2024-05-23T08:22:44.787570Z",
"url": "https://files.pythonhosted.org/packages/51/d2/f13d44108a9dc5549d25dffb20f57ccc54f4af34803c8011969f58f8fab9/PynyHTM-0.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1ff98119c3a4fe9d1de5fe9f6bdffc343069a468ae54e7842e18e2fba53ccc33",
"md5": "61dee46851b96550f6b703656627f759",
"sha256": "1e1a29d69d9bfb998d3707ec03cfe836bc5383f03e79ff9d051390a87828504f"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp311-cp311-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "61dee46851b96550f6b703656627f759",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1796737,
"upload_time": "2024-05-23T08:22:46",
"upload_time_iso_8601": "2024-05-23T08:22:46.277574Z",
"url": "https://files.pythonhosted.org/packages/1f/f9/8119c3a4fe9d1de5fe9f6bdffc343069a468ae54e7842e18e2fba53ccc33/PynyHTM-0.0.2-cp311-cp311-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ff115436ed87555b243b4213079bfb372a16a73627b59970cdb4840122f6e60",
"md5": "a9cd631658ca1b67f7956693549d3942",
"sha256": "c0a5d7dc9e0defdd8398556ecad0e6ec431521595a09fbe98aa042d19428224c"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "a9cd631658ca1b67f7956693549d3942",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1888693,
"upload_time": "2024-05-23T08:22:47",
"upload_time_iso_8601": "2024-05-23T08:22:47.546522Z",
"url": "https://files.pythonhosted.org/packages/9f/f1/15436ed87555b243b4213079bfb372a16a73627b59970cdb4840122f6e60/PynyHTM-0.0.2-cp311-cp311-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f9083f16de519a019410ed5c66e5a3708a41fd6e487a31eabfcf277b25fcc027",
"md5": "b0c18b2e5b0c98a4be25cb7161f4c379",
"sha256": "7872b1cf02d127b56679c8e8feb67620f82dd80b327ca8ee536c1765e5de1b37"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "b0c18b2e5b0c98a4be25cb7161f4c379",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 865598,
"upload_time": "2024-05-23T08:22:49",
"upload_time_iso_8601": "2024-05-23T08:22:49.228398Z",
"url": "https://files.pythonhosted.org/packages/f9/08/3f16de519a019410ed5c66e5a3708a41fd6e487a31eabfcf277b25fcc027/PynyHTM-0.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "77eeb3021e3686bdee3f8aae6a855a9971d0ad977460cd0054e5f64c932e9094",
"md5": "8ad1613a29aba044ff4e48221f094c07",
"sha256": "751a1a8c143a58264611a24183ddb32b22cd87c89cc8361057a71a2cae5e4c4b"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "8ad1613a29aba044ff4e48221f094c07",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 903783,
"upload_time": "2024-05-23T08:22:50",
"upload_time_iso_8601": "2024-05-23T08:22:50.527465Z",
"url": "https://files.pythonhosted.org/packages/77/ee/b3021e3686bdee3f8aae6a855a9971d0ad977460cd0054e5f64c932e9094/PynyHTM-0.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3cca50683a5b8ee098e00227070a45463058c7598c20b5d6f001c6e71c1b7b55",
"md5": "8eafd849f2e7ac5852fcf3ea8b2e597a",
"sha256": "6cb5072d8edd8b37bda47e7858ad5429e812c0cc48dfc15ad2e3df0aa04da1a5"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp312-cp312-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "8eafd849f2e7ac5852fcf3ea8b2e597a",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 1769710,
"upload_time": "2024-05-23T08:22:51",
"upload_time_iso_8601": "2024-05-23T08:22:51.767463Z",
"url": "https://files.pythonhosted.org/packages/3c/ca/50683a5b8ee098e00227070a45463058c7598c20b5d6f001c6e71c1b7b55/PynyHTM-0.0.2-cp312-cp312-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ca9260e1692368d4fd2148ed1d950b706171176ce745f0fcb7f2bbaa8607de5d",
"md5": "5850e42b06397f033a4d50153ded391b",
"sha256": "a0115b0259d62e89f7fff6412a1b92da24de0aa205f458c0cd594b3c529d7df1"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "5850e42b06397f033a4d50153ded391b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 1857236,
"upload_time": "2024-05-23T08:22:53",
"upload_time_iso_8601": "2024-05-23T08:22:53.707958Z",
"url": "https://files.pythonhosted.org/packages/ca/92/60e1692368d4fd2148ed1d950b706171176ce745f0fcb7f2bbaa8607de5d/PynyHTM-0.0.2-cp312-cp312-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a1fc85df614a48eb5500c255c0a31051b57801c6bebffdb277148906ada63b05",
"md5": "454f166b42cd2194dbac3d214b808072",
"sha256": "03b781167263db761d0ebd90df3fb80449904102c017fa058220591aa1f4626a"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "454f166b42cd2194dbac3d214b808072",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 823489,
"upload_time": "2024-05-23T08:22:55",
"upload_time_iso_8601": "2024-05-23T08:22:55.138864Z",
"url": "https://files.pythonhosted.org/packages/a1/fc/85df614a48eb5500c255c0a31051b57801c6bebffdb277148906ada63b05/PynyHTM-0.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a05cf9b7f6814569da9d79c6e7c0c4cc6116d979266e4d2ce234cdbfdccb7a2e",
"md5": "d1077417a9b47b6de3d6a0e635f9efbb",
"sha256": "b770728e941c61b5e3556c6a48529a5c546becf6580a54b2393321fde2d0175c"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "d1077417a9b47b6de3d6a0e635f9efbb",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 854372,
"upload_time": "2024-05-23T08:22:56",
"upload_time_iso_8601": "2024-05-23T08:22:56.865671Z",
"url": "https://files.pythonhosted.org/packages/a0/5c/f9b7f6814569da9d79c6e7c0c4cc6116d979266e4d2ce234cdbfdccb7a2e/PynyHTM-0.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3727b7b9f5d92e852ae72aadabdd77146e8b624cbd34a98d81928f2f048b882",
"md5": "c8272ac2cd23283d47007de86086d656",
"sha256": "3e4d8980ca4eef9980c9cc2108a73e0355cf249f4bd882ece311b9c7515a8d90"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp38-cp38-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "c8272ac2cd23283d47007de86086d656",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1737671,
"upload_time": "2024-05-23T08:22:58",
"upload_time_iso_8601": "2024-05-23T08:22:58.377083Z",
"url": "https://files.pythonhosted.org/packages/a3/72/7b7b9f5d92e852ae72aadabdd77146e8b624cbd34a98d81928f2f048b882/PynyHTM-0.0.2-cp38-cp38-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c2f5ce1e721e5b91d911aa2dede44c07fd59309a2eb1648c48126c24a3cd4ea",
"md5": "80a18fb23603d5c465a9dda6f74b6f29",
"sha256": "1ba2aaea5dd5cbd4f69fcdd9ff2664308c26131b8abcff707cfc275c2a8134c9"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp38-cp38-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "80a18fb23603d5c465a9dda6f74b6f29",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1835538,
"upload_time": "2024-05-23T08:22:59",
"upload_time_iso_8601": "2024-05-23T08:22:59.826592Z",
"url": "https://files.pythonhosted.org/packages/7c/2f/5ce1e721e5b91d911aa2dede44c07fd59309a2eb1648c48126c24a3cd4ea/PynyHTM-0.0.2-cp38-cp38-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e0487602d94c9851b610d7499bd0389324ea1a2b5726c2e6b8c373f59eeb58fb",
"md5": "fc9c45a63f22b951c8b66e84d7058ece",
"sha256": "95d25d550c680e116f8ccb5b73ce7f9bc32955d13b4b9f0d83b17a8755ff712a"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "fc9c45a63f22b951c8b66e84d7058ece",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 807824,
"upload_time": "2024-05-23T08:23:01",
"upload_time_iso_8601": "2024-05-23T08:23:01.715824Z",
"url": "https://files.pythonhosted.org/packages/e0/48/7602d94c9851b610d7499bd0389324ea1a2b5726c2e6b8c373f59eeb58fb/PynyHTM-0.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0def9ff5dec9827ca28edd3aee7f303544148fde13d648f8e8160b66ffe43f51",
"md5": "3e6f4c24cf4de6ed64676b81939630cc",
"sha256": "f7dd5c8cbd640dc351898b0a85769afe6b877d64b05cf37ef7a38376d73c0e52"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3e6f4c24cf4de6ed64676b81939630cc",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 837267,
"upload_time": "2024-05-23T08:23:04",
"upload_time_iso_8601": "2024-05-23T08:23:04.278686Z",
"url": "https://files.pythonhosted.org/packages/0d/ef/9ff5dec9827ca28edd3aee7f303544148fde13d648f8e8160b66ffe43f51/PynyHTM-0.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3d9cb4b2f85176a18c23efbc9227d3e8ea92349af5b41b51418f4df6cc4b17d",
"md5": "9de498f199bf17df33e2654cb4aeab7a",
"sha256": "ccc49cab9b917b10852556669bb044f7187e1588aabcd7e8634ea1b6470afe79"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp39-cp39-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "9de498f199bf17df33e2654cb4aeab7a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1710301,
"upload_time": "2024-05-23T08:23:05",
"upload_time_iso_8601": "2024-05-23T08:23:05.727536Z",
"url": "https://files.pythonhosted.org/packages/d3/d9/cb4b2f85176a18c23efbc9227d3e8ea92349af5b41b51418f4df6cc4b17d/PynyHTM-0.0.2-cp39-cp39-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a7d25cb3d8b6a6e74943bf0708525ad26a8c8b02b9814a041667bc5e19e20be6",
"md5": "5b4e54e05efff14d9594d8dc928dd8ce",
"sha256": "6c1f92eeee09fe9ee1ab9448329773a30bf845a4c52e11dfdde21414f9e21a82"
},
"downloads": -1,
"filename": "PynyHTM-0.0.2-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "5b4e54e05efff14d9594d8dc928dd8ce",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1805141,
"upload_time": "2024-05-23T08:23:07",
"upload_time_iso_8601": "2024-05-23T08:23:07.042185Z",
"url": "https://files.pythonhosted.org/packages/a7/d2/5cb3d8b6a6e74943bf0708525ad26a8c8b02b9814a041667bc5e19e20be6/PynyHTM-0.0.2-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce80cc76cd0be620f5db2d5f0dfdf16d9541f302f507b4123481feba8593d979",
"md5": "98874f7a77a4c798d6fb0505722a5ae0",
"sha256": "e40ba8994e52f066872d8b0d70c42988128ae5943aa2625f0c215f588339be5d"
},
"downloads": -1,
"filename": "pynyhtm-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "98874f7a77a4c798d6fb0505722a5ae0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 640997,
"upload_time": "2024-05-23T08:23:08",
"upload_time_iso_8601": "2024-05-23T08:23:08.325090Z",
"url": "https://files.pythonhosted.org/packages/ce/80/cc76cd0be620f5db2d5f0dfdf16d9541f302f507b4123481feba8593d979/pynyhtm-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-23 08:23:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TillFleisch",
"github_project": "PynyHTM",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pynyhtm"
}