gobbo 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. gobbo-2.0.0/ATTRIBUTION.md +32 -0
  2. gobbo-2.0.0/CITATION.cff +22 -0
  3. gobbo-2.0.0/EULA.md +125 -0
  4. gobbo-2.0.0/LICENSE +201 -0
  5. gobbo-2.0.0/MANIFEST.in +14 -0
  6. gobbo-2.0.0/NOTICE +22 -0
  7. gobbo-2.0.0/PKG-INFO +224 -0
  8. gobbo-2.0.0/README.md +189 -0
  9. gobbo-2.0.0/TRADEMARKS.md +59 -0
  10. gobbo-2.0.0/docs/PAIRWISE_LINES_AND_ENRICHMENTS.md +93 -0
  11. gobbo-2.0.0/gobbo/PRD.md +65 -0
  12. gobbo-2.0.0/gobbo/__init__.py +154 -0
  13. gobbo-2.0.0/gobbo/core/__init__.py +0 -0
  14. gobbo-2.0.0/gobbo/core/cli.py +347 -0
  15. gobbo-2.0.0/gobbo/core/constants.py +57 -0
  16. gobbo-2.0.0/gobbo/core/create_stamp.py +175 -0
  17. gobbo-2.0.0/gobbo/core/gnss.py +67 -0
  18. gobbo-2.0.0/gobbo/core/gobbo.py +886 -0
  19. gobbo-2.0.0/gobbo/core/gobbo_exact.py +452 -0
  20. gobbo-2.0.0/gobbo/core/local_voxels/local_voxels.json +1 -0
  21. gobbo-2.0.0/gobbo/core/pairwise_stamp.py +154 -0
  22. gobbo-2.0.0/gobbo/core/stamp_canonical.py +209 -0
  23. gobbo-2.0.0/gobbo/core/stamp_interactions.py +117 -0
  24. gobbo-2.0.0/gobbo/core/stamp_models.py +77 -0
  25. gobbo-2.0.0/gobbo/core/stamp_sentence.py +119 -0
  26. gobbo-2.0.0/gobbo/core/tests.py +356 -0
  27. gobbo-2.0.0/gobbo/core/voxel_traverse.py +220 -0
  28. gobbo-2.0.0/gobbo/docs/formal/PRIMER.md +176 -0
  29. gobbo-2.0.0/gobbo/docs/training/00-why-gobbo.md +83 -0
  30. gobbo-2.0.0/gobbo/docs/training/01-nine-dimensions.md +113 -0
  31. gobbo-2.0.0/gobbo/docs/training/02-ghn-frame.md +129 -0
  32. gobbo-2.0.0/gobbo/docs/training/03-depth-and-voxels.md +137 -0
  33. gobbo-2.0.0/gobbo/docs/training/04-stamp-technology.md +123 -0
  34. gobbo-2.0.0/gobbo/docs/training/05-first-stamp-tutorial.md +147 -0
  35. gobbo-2.0.0/gobbo/docs/training/06-angles-2td-vs-ghn.md +107 -0
  36. gobbo-2.0.0/gobbo/docs/training/07-identity-and-rounding.md +96 -0
  37. gobbo-2.0.0/gobbo/docs/training/08-collections-and-next.md +82 -0
  38. gobbo-2.0.0/gobbo/docs/training/README.md +60 -0
  39. gobbo-2.0.0/gobbo/examples/01_lla_to_voxel.py +31 -0
  40. gobbo-2.0.0/gobbo/examples/02_create_stamp.py +56 -0
  41. gobbo-2.0.0/gobbo/examples/03_ghn_and_2td.py +37 -0
  42. gobbo-2.0.0/gobbo/gobbo_sdk_demo.py +38 -0
  43. gobbo-2.0.0/gobbo/http_client.py +381 -0
  44. gobbo-2.0.0/gobbo/nav/da3_yolo.py +97 -0
  45. gobbo-2.0.0/gobbo/nav/init.py +1 -0
  46. gobbo-2.0.0/gobbo/nav/testnav.py +97 -0
  47. gobbo-2.0.0/gobbo/stamp_http_models.py +83 -0
  48. gobbo-2.0.0/gobbo.egg-info/PKG-INFO +224 -0
  49. gobbo-2.0.0/gobbo.egg-info/SOURCES.txt +76 -0
  50. gobbo-2.0.0/gobbo.egg-info/dependency_links.txt +1 -0
  51. gobbo-2.0.0/gobbo.egg-info/entry_points.txt +2 -0
  52. gobbo-2.0.0/gobbo.egg-info/requires.txt +24 -0
  53. gobbo-2.0.0/gobbo.egg-info/top_level.txt +1 -0
  54. gobbo-2.0.0/pyproject.toml +62 -0
  55. gobbo-2.0.0/setup.cfg +4 -0
  56. gobbo-2.0.0/tests/conformance_vectors/v1_forward_systems.json +86 -0
  57. gobbo-2.0.0/tests/conformance_vectors/v1_path_encoding.json +23 -0
  58. gobbo-2.0.0/tests/conformance_vectors/v1_reverse_outputs.json +34 -0
  59. gobbo-2.0.0/tests/fixtures/python_ts_voxel_compatibility.json +42 -0
  60. gobbo-2.0.0/tests/stress_roundtrip_runner.py +273 -0
  61. gobbo-2.0.0/tests/test_cli_stamp_subcommands.py +90 -0
  62. gobbo-2.0.0/tests/test_conformance_runner.py +111 -0
  63. gobbo-2.0.0/tests/test_create_stamp.py +112 -0
  64. gobbo-2.0.0/tests/test_gobbo_level_math.py +62 -0
  65. gobbo-2.0.0/tests/test_golden_vectors.py +149 -0
  66. gobbo-2.0.0/tests/test_http_client_parity.py +26 -0
  67. gobbo-2.0.0/tests/test_http_client_push_auth.py +81 -0
  68. gobbo-2.0.0/tests/test_lbf_doctrine.py +95 -0
  69. gobbo-2.0.0/tests/test_python_ts_compatibility.py +25 -0
  70. gobbo-2.0.0/tests/test_roundtrip_and_ned_conformance.py +106 -0
  71. gobbo-2.0.0/tests/test_segment_traverse_golden.py +40 -0
  72. gobbo-2.0.0/tests/test_stamp_canonical_v2.py +165 -0
  73. gobbo-2.0.0/tests/test_stamp_http_models.py +40 -0
  74. gobbo-2.0.0/tests/test_stamp_sdk_phase2.py +66 -0
  75. gobbo-2.0.0/tests/test_stress_roundtrip_runner.py +27 -0
  76. gobbo-2.0.0/tests/test_voxel_traverse.py +67 -0
  77. gobbo-2.0.0/us_cities/__MACOSX/._us_cities.geojson +0 -0
  78. gobbo-2.0.0/us_cities/us_cities.geojson +13057 -0
@@ -0,0 +1,32 @@
1
+ # Attribution — gobbo (Python)
2
+
3
+ ## Who owns and originated this work
4
+
5
+ - **Copyright:** Gobbo Datum Labs (2026). Licensed under **Apache License 2.0** (see `LICENSE`).
6
+ - **Inventor / original technical authorship:** **Adam Gobbo**.
7
+ - **Scope:** **Gobbo 9D Voxel Datum** (octree / voxel path positioning), **STAMP** ingestion and interaction math, and related tooling in this package (including optional HTTP client surfaces for Secure Envelope–compatible APIs).
8
+
9
+ ## What you must do when you use or redistribute this SDK
10
+
11
+ 1. Retain **`LICENSE`** and **`NOTICE`** (or equivalent notices) with distributions, per Apache 2.0.
12
+ 2. Where you document dependencies, **credit Gobbo Datum Labs** and **Adam Gobbo** as above.
13
+ 3. Do **not** strip notices in a way that hides the **true origin** of Gobbo Datum / STAMP technology.
14
+
15
+ ## What you must not do (good-faith reading; consult counsel for your jurisdiction)
16
+
17
+ - Do **not** claim **copyright ownership** over this SDK or the **Gobbo / STAMP** technology lineage **as a whole**.
18
+ - Do **not** represent yourself as **inventor or sole author** of Gobbo 9D Voxel Datum or STAMP in place of **Adam Gobbo** and **Gobbo Datum Labs**.
19
+ - Use **Gobbo** / **Gobbo Datum** naming accurately; do not imply endorsement where none exists.
20
+
21
+ ## Supplemental EULA (marks & STAMP naming)
22
+
23
+ **`EULA.md`** in this package adds **contractual** rules on **which Gobbo terms** you may use in public-facing references and how you must name **STAMP** / **STAMP Format**. It **supplements** Apache-2.0 (copyright). Read it before redistribution.
24
+
25
+ ## Suggested short citation (copy/paste)
26
+
27
+ > This product uses the **gobbo** Python package from **Gobbo Datum Labs**, implementing the **Gobbo 9D Voxel Datum** and **STAMP** technology (**Adam Gobbo**, inventor). Licensed under Apache 2.0.
28
+
29
+ ## Canonical links
30
+
31
+ - Public repository: https://github.com/gobbo-datum-labs/gobbo
32
+ - Maintained by: **Gobbo Datum Labs** (inventor: **Adam Gobbo**)
@@ -0,0 +1,22 @@
1
+ cff-version: 1.2.0
2
+ title: "gobbo — Gobbo 9D Voxel Datum with STAMP Technology"
3
+ message: "If you use this software, cite Gobbo Datum Labs and inventor Adam Gobbo; see ATTRIBUTION.md."
4
+ type: software
5
+ authors:
6
+ - family-names: Gobbo
7
+ given-names: Adam
8
+ affiliation: Gobbo Datum Labs
9
+ - name: Gobbo Datum Labs
10
+ repository-code: "https://github.com/gobbo-datum-labs/gobbo"
11
+ url: "https://github.com/gobbo-datum-labs/gobbo"
12
+ license: "Apache-2.0"
13
+ version: "2.0.0"
14
+ date-released: "2026-07-14"
15
+ keywords:
16
+ - gobbo
17
+ - gobbo-9d-voxel-datum
18
+ - ecef
19
+ - octree
20
+ - voxel
21
+ - stamp
22
+ - estamp
gobbo-2.0.0/EULA.md ADDED
@@ -0,0 +1,125 @@
1
+ # Supplemental End User License Agreement — Gobbo SDK Marks, Nomenclature, and STAMP Format
2
+
3
+ **Effective:** 2026-04-27
4
+ **Licensor:** Gobbo Datum Labs (“**GDL**”)
5
+ **Contact:** support@gobbodatumlabs.com
6
+
7
+ ---
8
+
9
+ ## IMPORTANT — READ BEFORE DOWNLOADING OR USING THE SDKs
10
+
11
+ **Not legal advice.** This document is a **draft** contractual template. **Gobbo Datum Labs must have it reviewed and finalized by qualified counsel** licensed in the **State of Delaware** (and elsewhere as needed) before relying on it. **No warranty** is made that any clause will be enforced as written by the **Court of Chancery of the State of Delaware**, any other Delaware court, or any court in the United States. **Enforceability** depends on facts, procedure, unconscionability, consumer protection law, federal preemption, and other doctrines.
12
+
13
+ **Relationship to Apache License 2.0.** The software in `gobbo-stamp-sdk`, `gobbo-datum-sdk`, and related materials (the “**Licensed Materials**”) is **also** licensed under the **Apache License, Version 2.0** (“**Apache-2.0**”) for purposes of **copyright in the code**. **Nothing in Apache-2.0 grants** rights to use **GDL’s names, brands, or nomenclature** except as stated in Apache-2.0 §6 (trademarks). **This Agreement supplements** Apache-2.0 and imposes **additional, independent obligations** regarding **trademarks, nomenclature, and the STAMP Format** when you **download, install, access, reproduce, distribute, or otherwise use** the Licensed Materials. If you **do not accept** this Agreement, **do not download or use** the Licensed Materials.
14
+
15
+ **Electronic acceptance.** By **downloading, installing, cloning, or using** any Licensed Materials—**including through a paid or membership-gated channel such as [www.secure-envelope.com](https://www.secure-envelope.com)**—you (“**Licensee**”) **acknowledge receipt** of this Agreement and, if acting on behalf of an entity, represent that you have authority to bind that entity.
16
+
17
+ ---
18
+
19
+ ## 1. Definitions
20
+
21
+ 1.1 **“Covered Gobbo References”** means any **public-facing** or **redistributed** statement (including documentation, marketing, product UI, press, packaging, training, and SDK READMEs **bundled with a derivative work**) that **names or describes the proprietary spatial datum / voxel framework** originated by GDL and Adam Gobbo—the technology commonly identified as the **nine-dimensional Gobbo voxel path / octree positioning system** and its **datum rules**, as described in GDL’s published specifications.
22
+
23
+ 1.2 **“Permitted Gobbo Designations”** means **only** the following **exact strings** (including spacing and capitalization as shown), used **substantially as a proper noun or defined term** when making Covered Gobbo References (the **formal name** of the framework):
24
+
25
+ - `Gobbo 9D Voxel Datum`
26
+ - `Gobbo 9D Voxel`
27
+ - `Gobbo 9D`
28
+ - `Gobbo Voxel`
29
+ - `Gobbo Datum`
30
+
31
+ **No other word, phrase, abbreviation, portmanteau, translated equivalent, or “fanciful substitute”** may be used **in place of** the Permitted Gobbo Designations when making a Covered Gobbo Reference. Examples of **prohibited substitutes** (non-exhaustive): “Gobbo nine-dimensional grid,” “G-9D datum,” “Gobbo octree format” **as the formal name of the datum**, “GDV datum,” or any new coinage not listed above.
32
+
33
+ **Descriptive language** (e.g. “octree path,” “voxel,” “ECEF,” “subdivision”) may appear **in explanatory prose** **if and only if** the **formal designation** of the proprietary datum framework, when stated, uses **only** the strings in §1.2.
34
+
35
+ 1.3 **“STAMP”** means the **specific ingestion and interchange format**, **record structure**, and **related protocol surfaces** designated by GDL as **STAMP** in official documentation and OpenAPI contracts—not a generic “data point,” “observation,” “message,” “row,” or “event” **when referring to that format by name**.
36
+
37
+ 1.4 **“STAMP Format”** means the **canonical, specified** STAMP representation required for interoperability within the **Gobbo / Secure Envelope** ecosystem for STAMP ingestion and reads.
38
+
39
+ 1.5 **“E-STAMP”** means the **derived / refined STAMP-class outputs** designated by GDL as **E-STAMP** in official documentation (companion mark to STAMP).
40
+
41
+ ---
42
+
43
+ ## 2. Nomenclature covenant (Gobbo datum / voxel framework)
44
+
45
+ 2.1 **Exclusive permitted designations.** For all Covered Gobbo References, Licensee **shall use only** the Permitted Gobbo Designations in §1.2.
46
+
47
+ 2.2 **No degradation or substitution.** Licensee **shall not** **alter, abbreviate, blend, translate, or replace** the Permitted Gobbo Designations with **any** terminology not expressly listed in §1.2 for Covered Gobbo References.
48
+
49
+ 2.3 **Generic descriptors.** Licensee may use ordinary English words such as “software,” “library,” “SDK,” “package,” “client,” or “API” **without** repeating a Permitted Gobbo Designation in every sentence, **provided that** whenever Licensee **names the proprietary spatial datum / voxel framework** (Covered Gobbo References), Licensee **uses only** §1.2 terms.
50
+
51
+ ---
52
+
53
+ ## 3. STAMP and STAMP Format covenant
54
+
55
+ 3.1 **Proper noun.** Licensee **shall refer** to the STAMP interchange format **as “STAMP”** (all capitals in Latin script) or **“STAMP Format”** when specifying the **format name** in technical documentation, schemas, UI labels, and marketing that describe **STAMP compatibility** or **STAMP ingestion**.
56
+
57
+ 3.2 **Not a generic thing.** Licensee **shall not** treat or describe **STAMP** as a **generic** “thing,” “item,” “blob,” or undifferentiated “data point” **where the reference is to the STAMP format or STAMP record type** in the Gobbo system. Ordinary descriptive language about payload contents is permitted **if** the **format designation** remains **STAMP** / **STAMP Format** as applicable.
58
+
59
+ 3.3 **Canonical format.** Licensee **acknowledges** that, within the Gobbo system, **STAMP Format** is the **specified** interchange form for STAMP-class records **as defined by GDL**; Licensee **shall not** publicly represent a **non-GDL format** as **“STAMP,”** **“STAMP-compatible,”** or **equivalent** without **prior written permission** from GDL.
60
+
61
+ 3.4 **E-STAMP.** Where official materials identify **E-STAMP**, Licensee **shall use** that designation **consistent with** GDL documentation when referring to those artifacts **by name**.
62
+
63
+ ---
64
+
65
+ ## 4. No ownership / authorship misrepresentation
66
+
67
+ 4.1 Licensee **shall not** remove or falsify **copyright notices, NOTICE files, ATTRIBUTION.md, or SPDX headers** required by Apache-2.0 and GDL’s published notices.
68
+
69
+ 4.2 Licensee **shall not** state or imply that Licensee **owns** the **Gobbo 9D Voxel Datum**, **STAMP**, **STAMP Format**, or **E-STAMP** **as intellectual property of Licensee**, or that Licensee is the **inventor** in place of **Adam Gobbo** or **GDL**, except to describe Licensee’s **own independent implementations** **clearly separated** from GDL’s official formats and marks.
70
+
71
+ ---
72
+
73
+ ## 5. Term, breach, suspension
74
+
75
+ 5.1 **Term.** This Agreement begins on first use of Licensed Materials and continues until terminated.
76
+
77
+ 5.2 **Material breach.** Failure to comply with §§2–4 is a **material breach** of **this Agreement** (independent of Apache-2.0 compliance).
78
+
79
+ 5.3 **Remedies.** Subject to applicable law and **procedural** requirements, GDL may seek **injunctive and equitable relief**, **actual damages**, **enhanced damages** where permitted by statute, **recovery of attorneys’ fees and costs** to the extent awarded by a court, and **any other relief** available for **breach of contract**, **false designation of origin**, **unfair competition**, or **trademark misuse**, as applicable.
80
+
81
+ 5.4 **No waiver.** Failure to enforce a provision is not a waiver.
82
+
83
+ ---
84
+
85
+ ## 6. Governing law; jurisdiction; venue
86
+
87
+ 6.1 **Governing law.** This Agreement is governed by the **laws of the State of Delaware**, **without regard to** conflict-of-law rules that would apply another jurisdiction’s law.
88
+
89
+ 6.2 **Jurisdiction and venue.** Subject to applicable federal law, Licensee **consents** to the **personal jurisdiction** of the **state courts of the State of Delaware** and the **United States District Court for the District of Delaware** for any action **arising out of or relating to** this Agreement or Licensee’s use of the Licensed Materials **in connection with** the obligations in §§2–4. Licensee **waives** any objection to venue in those courts **except** where **validly prohibited** by applicable statute or public policy.
90
+
91
+ 6.3 **Court of Chancery.** To the extent a claim seeks **equitable relief** (including **injunctive relief**) and the **Court of Chancery of the State of Delaware** has **subject-matter jurisdiction**, Licensee **consents** to suit there **for such equitable claims**. **GDL acknowledges** that Chancery **does not** hear all categories of disputes; §6.2 remains **operative** for damages and other claims **outside** Chancery’s jurisdiction.
92
+
93
+ ---
94
+
95
+ ## 7. Miscellaneous
96
+
97
+ 7.1 **Severability.** If a provision is invalid, the remainder remains in effect to the maximum extent permitted.
98
+
99
+ 7.2 **Assignment.** GDL may assign; Licensee may not assign without GDL’s consent except as part of a **bona fide** merger or sale of substantially all assets with notice.
100
+
101
+ 7.3 **Entire agreement (marks/nomenclature).** For **marks and nomenclature obligations** in §§2–4, this document is the **entire agreement** between the parties **on those subjects** as delivered with the Licensed Materials, **subject to** Apache-2.0 for **copyright license** scope.
102
+
103
+ 7.4 **Export.** Licensee complies with **U.S. export** and sanctions laws.
104
+
105
+ ---
106
+
107
+ ## Exhibit A — Permitted Gobbo Designations (copy/paste)
108
+
109
+ Use **only** these strings for **Covered Gobbo References**:
110
+
111
+ 1. Gobbo 9D Voxel Datum
112
+ 2. Gobbo 9D Voxel
113
+ 3. Gobbo 9D
114
+ 4. Gobbo Voxel
115
+ 5. Gobbo Datum
116
+
117
+ ## Exhibit B — STAMP naming (copy/paste)
118
+
119
+ - **STAMP**
120
+ - **STAMP Format**
121
+ - **E-STAMP** (where referring to E-STAMP outputs per GDL documentation)
122
+
123
+ ---
124
+
125
+ *Draft for counsel review. Gobbo Datum Labs. Copyright 2026 Gobbo Datum Labs.*
gobbo-2.0.0/LICENSE ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright 2026 Gobbo Datum Labs
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
@@ -0,0 +1,14 @@
1
+ include README.md
2
+ include LICENSE
3
+ include NOTICE
4
+ include ATTRIBUTION.md
5
+ include EULA.md
6
+ include TRADEMARKS.md
7
+ include CITATION.cff
8
+ recursive-include docs *.md
9
+ include gobbo/PRD.md
10
+ recursive-include gobbo/docs *.md
11
+ recursive-include gobbo/examples *.py
12
+ recursive-include gobbo/core/local_voxels *.json
13
+ recursive-include us_cities *.geojson
14
+ recursive-include tests *.py *.json
gobbo-2.0.0/NOTICE ADDED
@@ -0,0 +1,22 @@
1
+ Gobbo Datum SDK — Gobbo 9D Voxel Datum with STAMP Technology
2
+ Copyright 2026 Gobbo Datum Labs. All rights reserved.
3
+
4
+ Original technical authorship and invention: Adam Gobbo (founder / inventor).
5
+
6
+ This product includes software developed by Gobbo Datum Labs and contributors.
7
+
8
+ Project attribution:
9
+ - Name: Gobbo Datum SDK (Python package: gobbo — installed via `pip install gobbo`)
10
+ - Technology: Gobbo 9D Voxel Datum; STAMP and E-STAMP interaction surfaces
11
+ - Origin: Gobbo Datum Labs
12
+ - Repository: https://github.com/gobbo-datum-labs/gobbo
13
+
14
+ The names “Gobbo”, “Gobbo Datum”, “Gobbo 9D Voxel Datum”, “STAMP”, and “E-STAMP”
15
+ refer to technologies originated by Gobbo Datum Labs and Adam Gobbo.
16
+
17
+ If you redistribute this software or derivative works under Apache-2.0, retain
18
+ this NOTICE (or equivalent attribution notices) as described in the Apache
19
+ License, Version 2.0. Do not misrepresent the authorship or ownership of the
20
+ underlying Gobbo / STAMP technology.
21
+
22
+ Integrator citation guidance: see ATTRIBUTION.md in this package.
gobbo-2.0.0/PKG-INFO ADDED
@@ -0,0 +1,224 @@
1
+ Metadata-Version: 2.4
2
+ Name: gobbo
3
+ Version: 2.0.0
4
+ Summary: Gobbo 9D Voxel Datum and STAMP Technology — universal positioning (octree paths), pairwise STAMP / E-STAMP helpers, and optional HTTP client for Secure Envelope APIs. Copyright Gobbo Datum Labs; inventor: Adam Gobbo.
5
+ Author: Adam Gobbo
6
+ Author-email: Gobbo Datum Labs <support@gobbodatumlabs.com>
7
+ License-Expression: Apache-2.0
8
+ Project-URL: Homepage, https://github.com/gobbo-datum-labs/gobbo
9
+ Project-URL: Documentation, https://github.com/gobbo-datum-labs/gobbo
10
+ Classifier: Programming Language :: Python :: 3
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ License-File: NOTICE
15
+ Provides-Extra: http
16
+ Requires-Dist: requests>=2.28.0; extra == "http"
17
+ Provides-Extra: http-strict
18
+ Requires-Dist: requests>=2.28.0; extra == "http-strict"
19
+ Requires-Dist: pydantic>=2.4.0; extra == "http-strict"
20
+ Provides-Extra: geospatial
21
+ Requires-Dist: pyproj; extra == "geospatial"
22
+ Requires-Dist: mgrs; extra == "geospatial"
23
+ Requires-Dist: packaging; extra == "geospatial"
24
+ Requires-Dist: laspy; extra == "geospatial"
25
+ Requires-Dist: rasterio; extra == "geospatial"
26
+ Requires-Dist: shapely; extra == "geospatial"
27
+ Requires-Dist: mpmath; extra == "geospatial"
28
+ Provides-Extra: gnss
29
+ Requires-Dist: numpy>=1.19; extra == "gnss"
30
+ Provides-Extra: nav
31
+ Requires-Dist: numpy>=1.19; extra == "nav"
32
+ Requires-Dist: ultralytics; extra == "nav"
33
+ Requires-Dist: opencv-python-headless; extra == "nav"
34
+ Dynamic: license-file
35
+
36
+ # gobbo — Gobbo 9D Voxel Datum + STAMP Technology
37
+
38
+ **Copyright 2026 Gobbo Datum Labs.** **Gobbo 9D Voxel Datum** with **STAMP Technology** — **inventor: Adam Gobbo.** Licensed under **Apache-2.0**; retain `LICENSE`, `NOTICE`, `ATTRIBUTION.md`, and **`EULA.md`** when redistributing. See `ATTRIBUTION.md` for citation text and goodwill rules.
39
+
40
+ **Binding supplemental terms:** By **downloading, installing, or using** this package, you agree to **`EULA.md`** (marks, **Permitted Gobbo Designations**, **STAMP** / **STAMP Format** naming). *Delaware counsel should finalize before enforcement.*
41
+
42
+ **Open source:** install from PyPI with `pip install gobbo`. Source and issues live at **[github.com/gobbo-datum-labs/gobbo](https://github.com/gobbo-datum-labs/gobbo)**. Writing STAMPs with this SDK is free; **reading/querying** the hosted Secure Envelope collection remains a paid service on [www.secure-envelope.com](https://www.secure-envelope.com).
43
+
44
+ Universal positioning framework for converting spatial data to Gobbo octree paths. "The one datum to rule them all."
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ pip install gobbo
50
+ ```
51
+
52
+ ```python
53
+ import gobbo
54
+ ```
55
+
56
+ That is the only install line and the only import name. The core package is
57
+ dependency-free standard-library Python.
58
+
59
+ **Optional dependency groups:**
60
+
61
+ ```bash
62
+ pip install "gobbo[geospatial]" # pyproj, laspy, rasterio, shapely, mpmath, mgrs — UTM/MGRS + file parsers
63
+ pip install "gobbo[gnss]" # NumPy — PPP helpers in gobbo.core.gnss
64
+ pip install "gobbo[nav]" # YOLO / OpenCV — map-scene and nav da3_yolo
65
+ pip install "gobbo[http]" # requests — GobboClient for hosted /api/stamps/*
66
+ pip install "gobbo[http-strict]" # requests + pydantic — typed HTTP responses
67
+ ```
68
+
69
+ ## Learn it (training course ships in the package)
70
+
71
+ A complete beginner-to-formal course is bundled inside the wheel:
72
+
73
+ - **`gobbo/docs/training/README.md`** — Lessons 0–8: why Gobbo, the nine
74
+ dimensions, G-Line / H-Plane / N-Line, depth + Sphere-in-Cube, STAMP
75
+ Technology, a hands-on first-stamp tutorial, 2TD vs GHN angles, the
76
+ identity epoch, and collections.
77
+ - **`gobbo/docs/formal/PRIMER.md`** — faithful condensed formal primer with
78
+ pointers to the frozen normative specifications.
79
+ - **`gobbo/examples/`** — runnable scripts (`01_lla_to_voxel.py`,
80
+ `02_create_stamp.py`, `03_ghn_and_2td.py`).
81
+
82
+ Locate them after install:
83
+
84
+ ```python
85
+ import gobbo, pathlib
86
+ print(pathlib.Path(gobbo.__file__).parent / "docs" / "training")
87
+ ```
88
+
89
+ ## Quick start
90
+
91
+ ```python
92
+ import gobbo
93
+
94
+ # Position → voxel identity (identity epoch v2, exact on every platform)
95
+ path_int, depth = gobbo.gobbo_from_lla(40.6413, -73.7781, 4.0, depth=30)
96
+ print(gobbo.path_int_to_path_oct(path_int, depth))
97
+
98
+ # Honest depth from GPS precision (Sphere-in-Cube rule)
99
+ d = gobbo.gobbo_depth_for_precision_lla(40.6413, -73.7781, 4.0, 5.0)
100
+
101
+ # Mint an immutable STAMP fact (stampv:2 content-addressed id + frozen sentence)
102
+ stamp = gobbo.create_stamp(
103
+ lat=40.6413, lon=-73.7781, alt=4.0, depth=30,
104
+ temporal=1752444000, assignment="sensor:jfk-roof-1",
105
+ metric="temperature_c", point=22.5, source="quickstart",
106
+ )
107
+ print(stamp.stamp_id)
108
+ print(stamp.sentence)
109
+ ```
110
+
111
+ ## Features
112
+
113
+ - Convert ECEF, LLA, UTM, MGRS to Gobbo paths; decode paths back to
114
+ centers/bounds (LBF lattice doctrine).
115
+ - **Exact identity core** (`gobbo.core.gobbo_exact`): BigInt fixed-point
116
+ WGS-84 transform, picometer voxel grid, deterministic trig — bit-identical
117
+ voxel identity across Python / TypeScript / Kotlin / Swift (identity
118
+ epoch v2).
119
+ - **STAMP minting** (`gobbo.create_stamp`) with the frozen `stampv:2`
120
+ canonical serialization and SHA-256 `stamp_id`.
121
+ - **GHN frame** (`gobbo.gobbo_ghn_basis`): G-Line / H-Plane / N-Line local
122
+ NED basis at any voxel center.
123
+ - **Pairwise STAMP interaction math:** line counts C(n,2), Gobbo Azimuth /
124
+ Tilt / distance (2TD) from ECEF deltas, linear E-STAMP along a segment,
125
+ 1/8 parent mean and partial-n mean over children (see
126
+ `docs/PAIRWISE_LINES_AND_ENRICHMENTS.md`).
127
+ - Parse LAS, GeoJSON, SRTM to voxel lists when the `geospatial` extra is
128
+ installed.
129
+ - Spatial ops: overlap, diff, fuse, distance.
130
+ - CLI entry point: `gobbo` (see `gobbo/core/cli.py`).
131
+
132
+ ## HTTP client (Secure Envelope STAMP API)
133
+
134
+ For calling a deployed API (`/api/stamps/push`, `by-voxel`, E-STAMP routes),
135
+ install the **`http`** extra and use `gobbo.http_client.GobboClient`:
136
+
137
+ ```python
138
+ from gobbo.http_client import GobboClient
139
+
140
+ client = GobboClient(
141
+ "https://your-deployment.example",
142
+ bearer_token="...", # optional for public routes
143
+ api_key="...", # optional if the server enables x-api-key
144
+ )
145
+ rows = client.get_stamps_by_voxel(path_int="123", depth=23)
146
+ ```
147
+
148
+ Strict response parsing (Pydantic):
149
+
150
+ ```python
151
+ from gobbo.http_client import GobboClient
152
+ from gobbo.stamp_http_models import parse_by_voxel_response
153
+
154
+ client = GobboClient("https://example.com", bearer_token="…")
155
+ data = client.get_stamps_by_voxel(path_int="1", depth=10)
156
+ typed = parse_by_voxel_response(data)
157
+ ```
158
+
159
+ TypeScript equivalents: npm **`gobbo-stamp-sdk`** (HTTP) and
160
+ **`gobbo-datum-ts-sdk`** (canonical `path_int` / STAMP math). Method parity
161
+ is checked in CI (`scripts/sdk-http-surface.json`, `npm run check:sdk-parity`).
162
+
163
+ ## Deterministic STAMP utilities
164
+
165
+ **`fact_kind` (B.12)** must be one of: `raw_measurement`,
166
+ `derived_measurement`, `estimate`, `label`, `correction` — same as the hosted
167
+ API schema. Defaults use `raw_measurement`.
168
+
169
+ - `gobbo.core.stamp_models` — `StampSpatial`, `StampFact`,
170
+ `StampInteractionRow`, `FACT_KIND_*` literals
171
+ - `gobbo.core.stamp_sentence` — frozen canonical sentence builder
172
+ (`At {voxel}@{depth} at {timeIso}, {assignment}'s {metric} of {value}.`)
173
+ - `gobbo.core.stamp_canonical` — frozen `stampv:2` serialization +
174
+ `compute_stamp_id_v2`
175
+ - `gobbo.core.stamp_interactions` — `compute_delta_t_seconds`,
176
+ `compute_delta_v`, `compute_interaction_metrics`, `build_interaction_row`
177
+
178
+ CLI access for non-developers:
179
+
180
+ ```bash
181
+ gobbo stamp-sentence --path-int 123 --depth 10 --temporal "2026-04-12T10:11:12Z" --assignment "sensor.alpha" --metric "temperature_c" --point 23.5
182
+ ```
183
+
184
+ ## Tests and conformance
185
+
186
+ Golden-vector conformance (identity epoch v2 + `stampv:2`) and the full test
187
+ suite:
188
+
189
+ ```bash
190
+ python3 -m unittest discover -s tests
191
+ ```
192
+
193
+ TypeScript parity checks require the geospatial extra
194
+ (`pip install "gobbo[geospatial]"`).
195
+
196
+ ## Documentation in this bundle
197
+
198
+ | Path | Contents |
199
+ |------|----------|
200
+ | `gobbo/docs/training/` | Lessons 0–8 — full beginner-to-formal course |
201
+ | `gobbo/docs/formal/PRIMER.md` | Formal primer → frozen specs bridge |
202
+ | `gobbo/examples/` | Runnable training example scripts |
203
+ | `docs/PAIRWISE_LINES_AND_ENRICHMENTS.md` | Pairwise lines, §7 encoding, E-STAMP linear model, parent/child means |
204
+ | `gobbo/PRD.md` | Product requirements (historical MVP scope) |
205
+ | `gobbo/core/gobbo.py` | Octree path generation, converters, spatial ops |
206
+ | `gobbo/core/gobbo_exact.py` | Exact fixed-point identity core (epoch v2) |
207
+ | `gobbo/core/requirements.txt` | Optional geospatial stack |
208
+
209
+ ## License and attribution
210
+
211
+ - License: **Apache-2.0** (`LICENSE`)
212
+ - Required attribution notices: `NOTICE`
213
+ - Branding/trademark usage guidance: `TRADEMARKS.md`
214
+ - Suggested software citation metadata: `CITATION.cff`
215
+
216
+ The Apache-2.0 license keeps the SDK open source and broadly adoptable, while
217
+ `NOTICE` and `TRADEMARKS.md` preserve clear attribution to Gobbo Datum and
218
+ Gobbo Datum Labs and protect against misleading branding.
219
+
220
+ ## Pro download
221
+
222
+ Subscribers can also download this SDK from the Secure Envelope dashboard
223
+ (authenticated **Download ZIP**). The archive matches the tracked
224
+ `content/sdk/gobbo-datum-sdk` tree in the product repository.