[meta] Provide a new API
Closed this issue · 2 comments
The current API is quirky and difficult to integrate as a dependency, especially for AppEngine-related functions.
Provide a new, polished and idiomatic API.
The following packages will be exported:
interfaces
: interface parsing and validation,device-utils
: Astarte device ID generation and handling (e.g. conversion to/from UUID),auth
: all things related to Astarte auth (via JWT),client
: HTTP client for Astarte services aimed at interacting with the Astarte APIs and parsing retrieved data.data
: parsing functions for data retrieved using theclient
package.
This is a major change, and possibly breaking. As such, parts of the current codebase will be rewritten: as the Go modules reference suggest, a v0 version does not signal stability or backward compatibility guarantees.
The old API will be supported for now (see the release-0.90
branch), and deprecated in the future.
A migration path to the new API should be provided, along with documantation on new guidelines and good practices.
This is a meta issue to keep track of all changes required.
The original message has been updated, i.e. the data
package is not needed anymore (see #34).
All items have been completed.