cligj
Click params for commmand line interfaces to GeoJSON
What it is and what it does
cligj is a library that packages common command-line argument and option patterns for GeoJSON processing into reusable Click decorators. It abstracts away boilerplate for handling GeoJSON input/output modes, coordinate precision, projection types, and feature collection vs. sequence formats—patterns that appear repeatedly in geospatial CLI tools. The library depends only on click and is designed to let developers quickly build consistent, interoperable command-line interfaces for geospatial data without reimplementing standard argument handling.
The package provides decorators like `features_in_arg`, `sequence_opt`, `use_rs_opt`, and others that handle GeoJSON-specific concerns: reading features from files or stdin, choosing between feature collections and line-delimited sequences, applying coordinate precision, and selecting geographic or projected coordinate systems. It is primarily useful for developers building geospatial data processing pipelines or command-line tools that need to accept and emit GeoJSON in standard ways.
Use it for:
- Build a geospatial data conversion CLI that accepts GeoJSON input and outputs in multiple formats with consistent argument handling.
- Create a feature filtering or transformation command-line tool that reads GeoJSON features and writes them as a collection or sequence.
- Develop a batch geospatial processing tool that needs to handle both file and stdin input with standard verbosity and formatting options.
- Standardize CLI interfaces across multiple geospatial utilities so they share common argument patterns and help text.
- Implement a GeoJSON validation or analysis command that supports both pretty-printed and compact JSON output modes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides reusable Click command-line argument and option decorators for building consistent GeoJSON processing tools.
Yes, if you are building GeoJSON command-line tools and want to avoid reimplementing standard argument patterns. The low install friction and permissive license make it a safe dependency. However, be aware that maintenance is dormant—the last release was in 2021 and there have been no commits since February 2024. If you need active maintenance or expect to rely on updates for compatibility with future click versions, consider whether the project's stability meets your risk tolerance.
Install
cligj on PyPI
pip
pip install cligjuv
uv add cligjpoetry
poetry add cligjInstalling cligj
Before you install
Low install friction with a single runtime dependency on click. Maintenance is dormant—last release was in 2021 and no commits since February 2024—but the package remains archived-free and has seen no security vulnerabilities.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install cligj
import click
import cligj
@click.command()
@cligj.features_in_arg
@cligj.sequence_opt
def my_command(features, sequence):
for feature in features:
click.echo(feature)
Verify before relying
- Whether the package works reliably with modern Python versions despite dormant maintenance status.
- Compatibility with recent versions of click and whether breaking changes in click affect cligj decorators.
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — click |
| Maintenance | dormant — 1,904 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 9,598,146/month — #1,521 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cligj-0.7.2-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
geojsonEncodes, decodes, and represents GeoJSON…
permissive · top 5,000 on PyPI
click-datetimeAdds datetime type support to Click, allowing…
permissive · top 15,000 on PyPI
click-composeProvides composable callback utilities for…
permissive · top 15,000 on PyPI
overturemapsDownload and convert Overture Maps geospatial…
permissive · top 15,000 on PyPI
pygeoifPyGeoIf provides lightweight, pure-Python…
copyleft · top 15,000 on PyPI
kml2geojsonConverts KML files to GeoJSON format,…
permissive · top 15,000 on PyPI
clickClick is a Python toolkit for building…
permissive · top 100 on PyPI
click-config-fileAdds configuration file support to Click…
permissive · top 15,000 on PyPI
arcgis2geojsonConverts ArcGIS JSON format to GeoJSON format,…
permissive · top 15,000 on PyPI
djangorestframework-gisAdds geographic and GeoJSON support to Django…
permissive · top 15,000 on PyPI