Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI design principles and strategy #10

Closed
sgillies opened this issue Nov 25, 2015 · 2 comments
Closed

CLI design principles and strategy #10

sgillies opened this issue Nov 25, 2015 · 2 comments

Comments

@sgillies
Copy link
Contributor

Replaces mapbox/mapbox-sdk-py#10.

We're developing a simple and easy to use CLI for the mapbox client module both as a service to customers and as a check on the usability of the module.

The CLI should be 99% about arg/opt definition and interoperation with other programs in the shell.

The CLI will have first class support for JSON and GeoJSON.

We'll rely on other programs like sed, awk, jq for finer parsing of responses from APIs at first, absorbing some of this when it makes sense.

@perrygeo
Copy link
Contributor

The biggest yet-to-be-resolved issue with the design of the CLI is: Do we deviate from 1:1 parity with the API to provide higher-level functions?

Maybe we need to define what is and what is not within the scope of this module in terms of how far we can deviate from the API-level interface. For instance, the batch geocoding and high-level datasets API implementations are awesome but they could also be broken out as separate tools (even sharing the same "mapbox" namespace through the use of click plugins).

@sgillies
Copy link
Contributor Author

@perrygeo checking with you on our current strategy:

Yes to higher level functionality. We've already made mapbox-upload more frictionless than the APIs and this command is going to become our main tool. We should reduce friction in other tools when we can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants