portolan-cli 0.1.2__py3-none-any.whl → 0.1.3__py3-none-any.whl

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.
@@ -0,0 +1,130 @@
1
+ Metadata-Version: 2.4
2
+ Name: portolan-cli
3
+ Version: 0.1.3
4
+ Summary: A CLI tool for managing cloud-native geospatial data
5
+ Project-URL: Homepage, https://github.com/portolan-sdi/portolan-cli
6
+ Project-URL: Bug Tracker, https://github.com/portolan-sdi/portolan-cli/issues
7
+ Project-URL: Documentation, https://github.com/portolan-sdi/portolan-cli#readme
8
+ Project-URL: Source, https://github.com/portolan-sdi/portolan-cli
9
+ Author-email: Nissim Lebovits <nlebovits@pm.me>
10
+ License-Expression: Apache-2.0
11
+ License-File: LICENSE
12
+ Keywords: cloud-native,geospatial,gis,io
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: Apache Software License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Scientific/Engineering :: GIS
23
+ Requires-Python: >=3.10
24
+ Requires-Dist: click>=8.3.1
25
+ Provides-Extra: dev
26
+ Requires-Dist: bandit>=1.9.3; extra == 'dev'
27
+ Requires-Dist: codespell>=2.4.1; extra == 'dev'
28
+ Requires-Dist: commitizen>=4.13.4; extra == 'dev'
29
+ Requires-Dist: hypothesis>=6.151.5; extra == 'dev'
30
+ Requires-Dist: mutmut>=3.4.0; extra == 'dev'
31
+ Requires-Dist: mypy>=1.19.1; extra == 'dev'
32
+ Requires-Dist: pip-audit>=2.10.0; extra == 'dev'
33
+ Requires-Dist: pre-commit>=4.5.1; extra == 'dev'
34
+ Requires-Dist: pytest-benchmark>=5.0.0; extra == 'dev'
35
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
36
+ Requires-Dist: pytest-timeout>=2.3.1; extra == 'dev'
37
+ Requires-Dist: pytest>=9.0.2; extra == 'dev'
38
+ Requires-Dist: radon>=6.0.1; extra == 'dev'
39
+ Requires-Dist: ruff>=0.14.11; extra == 'dev'
40
+ Requires-Dist: vulture>=2.14; extra == 'dev'
41
+ Requires-Dist: xenon>=0.9.3; extra == 'dev'
42
+ Provides-Extra: docs
43
+ Requires-Dist: mkdocs-material>=9.7.1; extra == 'docs'
44
+ Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
45
+ Requires-Dist: mkdocstrings[python]>=1.0.0; extra == 'docs'
46
+ Description-Content-Type: text/markdown
47
+
48
+ <div align="center">
49
+ <img src="docs/assets/images/logo.svg" alt="Portolan Logo" width="200"/>
50
+ <h1>Portolan CLI</h1>
51
+ <p><strong>Cloud-native geospatial data catalogs, simplified</strong></p>
52
+ </div>
53
+
54
+ ---
55
+
56
+ A CLI for publishing and managing **cloud-native geospatial data catalogs**. Portolan orchestrates format conversion (GeoParquet, COG), versioning, and sync to object storage—no running servers, just static files.
57
+
58
+ ## Why Portolan?
59
+
60
+ | Benefit | How |
61
+ |---------|-----|
62
+ | **Scalable** | Cloud object storage that scales to petabytes |
63
+ | **Open** | 100% open source, open formats (GeoParquet, COG, STAC, Iceberg) |
64
+ | **AI-Ready** | STAC metadata enables semantic search and LLM integration |
65
+ | **Cheap** | Pay only for storage + egress — no servers to run |
66
+ | **Sovereign** | Host anywhere (AWS, GCS, Azure, MinIO, Cloudflare R2) |
67
+ | **Breaks the GIS silo** | Query with DuckDB, Snowflake, BigQuery, Databricks, Pandas — not just GIS tools |
68
+
69
+ ## What It Does
70
+
71
+ - **Convert** vector/raster data to cloud-native formats (GeoParquet, COG)
72
+ - **Generate** STAC catalogs with rich metadata, thumbnails, and MapLibre styles
73
+ - **Version** datasets with checksums and history tracking
74
+ - **Sync** to S3, GCS, Azure, or any S3-compatible storage
75
+
76
+ ## Quick Example
77
+
78
+ ```bash
79
+ portolan init
80
+ portolan dataset add census.parquet --title "Census 2022" --auto
81
+ portolan remote add prod s3://my-bucket/catalog
82
+ portolan sync
83
+ ```
84
+
85
+ ## Installation
86
+
87
+ ### Recommended: pipx (for global use)
88
+
89
+ ```bash
90
+ pipx install portolan-cli
91
+ ```
92
+
93
+ This installs `portolan` in an isolated environment while making the command globally available.
94
+
95
+ If you don't have pipx installed:
96
+ ```bash
97
+ python3 -m pip install --user pipx
98
+ python3 -m pipx ensurepath
99
+ ```
100
+
101
+ ### Alternative: pip
102
+
103
+ ```bash
104
+ pip install portolan-cli
105
+ ```
106
+
107
+ **Note:** This installs into your global or user site-packages and may conflict with other packages.
108
+
109
+ ### For Development
110
+
111
+ Use [uv](https://github.com/astral-sh/uv) for local development:
112
+
113
+ ```bash
114
+ git clone https://github.com/portolan-sdi/portolan-cli.git
115
+ cd portolan-cli
116
+ uv sync --all-extras
117
+ uv run portolan --help
118
+ ```
119
+
120
+ See [Contributing Guide](docs/contributing.md) for full development setup.
121
+
122
+ ## Documentation
123
+
124
+ - [Contributing Guide](docs/contributing.md)
125
+ - [Architecture](context/architecture.md)
126
+ - [Roadmap](ROADMAP.md)
127
+
128
+ ## License
129
+
130
+ Apache 2.0 — see [LICENSE](LICENSE)
@@ -1,8 +1,8 @@
1
1
  portolan_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  portolan_cli/cli.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  portolan_cli/output.py,sha256=3aNXrQIXYSnGrFEBnYGQNZzgN5B6tgt1uC_4tekBxII,3694
4
- portolan_cli-0.1.2.dist-info/METADATA,sha256=UWtB-aBi-p6XZYTf6OsI0Iu3fFPwzSMmvckJ-ygDNG4,2181
5
- portolan_cli-0.1.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
6
- portolan_cli-0.1.2.dist-info/entry_points.txt,sha256=qcxazmDwTESEd44qYETCxUy-mJPcNs3Tyk8PRrl9Shs,46
7
- portolan_cli-0.1.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
8
- portolan_cli-0.1.2.dist-info/RECORD,,
4
+ portolan_cli-0.1.3.dist-info/METADATA,sha256=bk5cHzQxh69F_5fn-UrmHqDkwlUjU0-h6SMVsiJo1Ns,4472
5
+ portolan_cli-0.1.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
6
+ portolan_cli-0.1.3.dist-info/entry_points.txt,sha256=qcxazmDwTESEd44qYETCxUy-mJPcNs3Tyk8PRrl9Shs,46
7
+ portolan_cli-0.1.3.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
8
+ portolan_cli-0.1.3.dist-info/RECORD,,
@@ -1,49 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: portolan-cli
3
- Version: 0.1.2
4
- Summary: A CLI tool for managing cloud-native geospatial data
5
- Project-URL: Homepage, https://github.com/portolan-sdi/portolan-cli
6
- Project-URL: Bug Tracker, https://github.com/portolan-sdi/portolan-cli/issues
7
- Project-URL: Documentation, https://github.com/portolan-sdi/portolan-cli#readme
8
- Project-URL: Source, https://github.com/portolan-sdi/portolan-cli
9
- Author-email: Nissim Lebovits <nlebovits@pm.me>
10
- License-Expression: Apache-2.0
11
- License-File: LICENSE
12
- Keywords: cloud-native,geospatial,gis,io
13
- Classifier: Development Status :: 3 - Alpha
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Intended Audience :: Science/Research
16
- Classifier: License :: OSI Approved :: Apache Software License
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.10
19
- Classifier: Programming Language :: Python :: 3.11
20
- Classifier: Programming Language :: Python :: 3.12
21
- Classifier: Programming Language :: Python :: 3.13
22
- Classifier: Topic :: Scientific/Engineering :: GIS
23
- Requires-Python: >=3.10
24
- Requires-Dist: click>=8.3.1
25
- Provides-Extra: dev
26
- Requires-Dist: bandit>=1.9.3; extra == 'dev'
27
- Requires-Dist: codespell>=2.4.1; extra == 'dev'
28
- Requires-Dist: commitizen>=4.13.4; extra == 'dev'
29
- Requires-Dist: hypothesis>=6.151.5; extra == 'dev'
30
- Requires-Dist: mutmut>=3.4.0; extra == 'dev'
31
- Requires-Dist: mypy>=1.19.1; extra == 'dev'
32
- Requires-Dist: pip-audit>=2.10.0; extra == 'dev'
33
- Requires-Dist: pre-commit>=4.5.1; extra == 'dev'
34
- Requires-Dist: pytest-benchmark>=5.0.0; extra == 'dev'
35
- Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
36
- Requires-Dist: pytest-timeout>=2.3.1; extra == 'dev'
37
- Requires-Dist: pytest>=9.0.2; extra == 'dev'
38
- Requires-Dist: radon>=6.0.1; extra == 'dev'
39
- Requires-Dist: ruff>=0.14.11; extra == 'dev'
40
- Requires-Dist: vulture>=2.14; extra == 'dev'
41
- Requires-Dist: xenon>=0.9.3; extra == 'dev'
42
- Provides-Extra: docs
43
- Requires-Dist: mkdocs-material>=9.7.1; extra == 'docs'
44
- Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
45
- Requires-Dist: mkdocstrings[python]>=1.0.0; extra == 'docs'
46
- Description-Content-Type: text/markdown
47
-
48
- # portolan-cli
49
- A CLI tool for managing cloud-native geospatial data.