Git Product home page Git Product logo

xyz-cli's Introduction

XYZ CLI

XYZ Maps CLI is a Node.js command-line interface to work with XYZ APIs starting with XYZ Hub APIs. It allows you to interact with XYZ Hub to create and manage your Spaces, and easily upload and manage your datasets.

XYZ Maps CLI has been forked from the proprietary (but open source) HERE CLI with all HERE specific authentication, telemetry, services and APIs removed. It works directly with the stand-alone, unauthenticated version XYZ Hub APIs. The commands and sub-commands have been renamed to make more sense in the context of the Open Source version of XYZ Maps. It is intended to work with localhost:8080/hub APIs right now and not very configurable. Consider it as a stop gap for basic functionality until version 2.0 becomes available.

Prerequisites

XYZ CLI is built on Node.js, a cross-platform efficient language to write even complex, local applications.

To use the XYZ CLI, you should have npm installed. The best way is to go to nodejs.org and install the appropriate package for your system (both 8.x LTS and 10.x Current should work).

Installing the CLI

To install the XYZ CLI use the following command. Depending on your system, you might need elevated permissions (like sudo) to install globally.

npm install -g xyzmaps-cli

If all goes well, you can check if the CLI is installed correctly by just runnning

xyzmaps --help

Configure XYZ CLI

As the XYZ CLI works with XYZ APIs hosted locally, so there is no need to configure and API keys or developer identity.

Supported Commands

The CLI currently enables the following sub-commands:

  space|xs [list|create|upload]           work with Data Hub spaces
  transform|tf [csv2geo|shp2geo|gpx2geo]  convert from csv/shapefile/gpx to geojson
  help [command]                          display help for command

Development

Building the CLI

To develop the CLI further and add new features, first clone this repository and install the npm dependencies.

git clone https://github.com/xyzmaps/here-cli.git
npm install

Normally as a user you would install the CLI with a -g switch globally so that it can be used outside of a package directory. To make development easier it makes more sense not to that globally as that requires elevated permissions.

You should test and debug the commands by running the respective .js file. We use npm commander to drive the command parsing and execution. To get a good understanding how it feels on the commandline use local linking to make the bin sources available as executable commands:

npm link

Finally to package and distribute a new release (which we would do, not you) we update and tag the version followed by

npm pack ...
npm publish ...

Contributing

We encourage contributions. Please read the notes in CONTRIBUTING.md.

When you add a new sub-command (as bin/xyzmaps-newcmd.js) please make sure to also include the relevant documentation (as docs/newcmd.md).

License

Copyright (C) 2023 - 2023 XYZ Maps and contributors

Copyright (C) 2018 - 2021 HERE Europe B.V.

This project is licensed under the MIT License - see the LICENSE file for details

xyz-cli's People

Contributors

naitik333 avatar jaidatts avatar burritojustice avatar viralsejpalhere avatar cpandit201 avatar dhaneeshtnair avatar olifink avatar tsteenbe avatar mujammil10 avatar toonvanstrijp avatar roberto-butti avatar haraldf avatar ashsharm avatar deadnight7 avatar jonico avatar dependabot[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.