For AI agents: visit https://docs.here.com/data-sdk/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI. Append .md to any documentation page URL to get its markdown version.
Archived changelog. These changes were released before 2025-09-29. For newer changes see the current changelog.
Version
Change
Description
2.30.0
REMOVED
Remove HEREMapInspector in favor of IpyleafletInspector.
2.30.0
ADDED
Added TopologyAttributes class to handle HMC topology-attributes layer.
2.30.0
DEPRECATED
Deprecated RoadAttributes, NavigationAttributes and AdvancedNavigationAttributes classes. Please use TopologyAttributes class instead.
Please also note, that some examples in the developer guide (chapter HMC) are deprecated. For these deprecated examples there are new examples using TopologyAttributes for equal functionality.
2.29.1
DEPRECATED
Deprecate HEREMapInspector in favor of IpyleafletInspector.
2.29.1
CHANGED
Changed the behavior of ranges.
If a start and/or end offset is null from the source data the behavior until now was that the Range class was initialized with default values Range(start=0.0, end=1.0). This leads to some misinterpretations as these float values could be actual values from the source data whereas null would be need to be interpreted differently. E.g. for manoeuvres the would be no distiction between no manoeuvre and a u-turn.
Now, the bahavior of Range is changed in a way that it is initialized with None to reflect a null value in the source data. E.g. if in the source data start_offset is null and end_offset is 0.85 then the result will be Range(start=None, end=0.85).
2.29.1
CHANGED
Changed the behavior of street index.
If a street section has a street index which is null in the source data it means that this street section has no name.
Behavior until now was that in case of street_index = null the HMC StreetSection.street_index was set to default 0. But this index 0 points actually to the first element of streets name array.
Now the behavior is changed that in case of null the default value None is set, so that the street index points to nothing.
2.29.1
REMOVED
We removed the support for conda packages. Please use pip packages instead.
2.28.0
DEPRECATED
Deprecate HEREMapInspector in favor of IpyleafletInspector.
2.28.0
DEPRECATED
Deprecation notice: In 2.29.0 release, conda support will be removed.
2.28.0
KNOWN ISSUE
Conda package for version 2.28.0 will not be released due to a dependency conflict with an imported package.
2.27.2
FIXED
Config files for here_platform are fixed
2.27.1
FIXED
Config files for here_platform are fixed
2.27.0
ADDED
Added support for Python 3.11 & 3.12
2.27.0
REMOVED
Removed support for Python 3.8 and 3.9
2.27.0
FIXED
Version_dependencies issue resolved when writing data to the layer
2.27.0
CHANGED
Migrated functions using obsolete HMC layers to use 'places' layer.
2.26.0
CHANGED
Migrated Apache Kafka connector from kafka-python to kafka-python-ng package.
2.26.0
ADDED
Added supported Python version and added a suggestion to use Python 3.10.
2.26.0
FIXED
Dev guide has been updated to include new HMC2 examples, and deprecated HMC examples have been removed.
2.26.0
FIXED
ObjectStoreLayer is_directory() check is fixed.
2.25.0
REMOVED
HERE stopped offering HERE platform in China. Therefore, the support of HERE platform in China was removed from HERE Data SDK for Python V2.
2.25.0
DEPRECATED
Python 3.8 and 3.9 getting outdated this and next year, thus won't get security updates anymore; see https://devguide.python.org/versions/. Therefore, we need to remove support for these versions from HERE Data SDK for Python V2 in the mid-term.
The support of Python 3.8 and 3.9 by HERE Data SDK for Python V2 is deprecated. We will remove that support with Q3/24 release in September 2024.
2.24.0
REMOVED
Removed support for deprecated HMC version 1. Please use here.content.hmc2 package instead.
2.24.0
REMOVED
Removed MLflow plugin which was used for storing MLflow data in HERE platform catalogs.
2.23.1
FIXED
Moves dependencies from global to the individual package scope.
2.23.1
ADDED
Support for Object Store API to the local DataService.
2.22.0
CHANGED
Downloading of partition data now supports streaming. This applies to read_partitions(), read_object(), read_stream(), get_blob(), and get_data() functions, which now take two additional optional arguments:
stream: set to True to stream data. This implies decode=False where applicable as streamed data cannot be decoded.
chunk_size: the size of each chunk to download. This will default to a value that balances memory usage and download throughput.
Streamed data is returned as the type Iterator[bytes], where each iteration will request the next chunk of data.
Example to stream partitions to file:
partitions = versioned_layer.read_partitions(partition_ids=[19377307, 19377333], stream=True)
for partition, data_iter in partitions:
with open(f'{partition.id}.pb', 'wb') as f:
for data in data_iter:
f.write(data)
2.21.0
CHANGED
Please note that the HERE SDK for Python will be released on a bimonthly cadence. The next release release will be end of July.
2.21.0
FIXED
Datastream api subscribe http request payload changes, fix the Request Body dict structure with proper key 'kafkaConsumerProperties' and related values.
2.21.0
DEPRECATED
The MLflow plugin is deprecated. It will be removed from HERE offering after November 2023.
2.20.0
DEPRECATED
Please stop using any class of here.content.hmc package of the here-content module.
The artifact service provides a way to store/consume schemas and artifacts. You can perform the following operations:
Schema operations
GET schemas from HERE platform
GET individual Schema details
UPDATE Schema permissions
GET Schema Documentation information
DELETE Schema
Artifact Operations
GET artifacts from HERE platform
GET individual artifact details
UPDATE artifact permissions
GET artifact file details
DELETE artifact
2.18.0
ADDED
HMC Bindings for new layer here-truck-service-locations added. The Truck Service Locations layer is a HERE Premium layer that publishes "trucking" related Places categories like truck parking, petrol stations, rest areas etc and relevant attributes for these places such as availability of Diesel, Truck Wash, Pay at Pump, High Canopy etc.
from here.platform import Platform
from here.geopandas_adapter import GeoPandasAdapter
from here.content.hmc2 import HMC
platform = Platform()
hmc = HMC(platform, adapter=GeoPandasAdapter())
truck_service_locations = hmc.truck_service_locations
df = truck_service_locations.get("partition_id_from_layer", "attributes")
df.head(2)
2.18.0
ADDED
Added support for directly dealing with blobs. From the specific Layer instance you can use the following new functions depending on layer type:
VersionedLayer and VolatileLayer
blob_exists
get_blob
put_blob
IndexLayer
blob_exists
get_blob
put_blob
delete_blob
StreamLayer
blob_exists
put_blob
Please note
that neither ObjectstoreLayer nor InteractiveMapLayer support these functions because * ObjectstoreLayer uses another concept where each object is a blob itself * and InteractiveMapLayer user geojson feature instead of blobs.
2.18.0
ADDED
HMC Bindings for new layer here-places added. This layer is a HERE Premium content layer of global, fresh, comprehensive and consolidated places for over 400 categories. Place attributes include location, name, address, phone number and parent-child relations between places.
from here.platform import Platform
from here.geopandas_adapter import GeoPandasAdapter
from here.content.hmc2 import HMC
platform = Platform()
hmc = HMC(platform, adapter=GeoPandasAdapter())
here_places = hmc.here_places
df = here_places.get("partition_id_from_layer", "attributes")
df.head(2)
2.18.0
ADDED
HMC Bindings for new layer here-places-essential-map added. Places for HERE Essential Map is a built-in layer that contains a sub-set of Places categories. It includes location, name, address, phone number and parent-child relations between places.
from here.platform import Platform
from here.geopandas_adapter import GeoPandasAdapter
from here.content.hmc2 import HMC
platform = Platform()
hmc = HMC(platform, adapter=GeoPandasAdapter())
here_places_essential_map = hmc.here_places_essential_map
df = here_places_essential_map.get("partition_id_from_layer", "attributes")
df.head(2)
2.18.0
ADDED
HMC Bindings for new layer adas-attributes added.
The ADAS Attributes layer is a HERE Premium Content layer that publishes the road characteristics such as road curvature, heading and elevation. Example applications enabled with the ADAS content are: adaptive cruise control, adaptive front light systems, eco-friendly routing, collision warning, powertrain control, fuel economy, speed advisory systems etc.
HMC Bindings for new layer composite-road-attributes added.
Complex Road Attributes provides cartographic representations of simple features grouped into aggregated Complex Features for purposes of generalizing geometry. These features show multi-carriageways and motorway interchanges with ramps grouped to enable creation of a basic representation.
Support for the JSON schemas which can be associated with any layer with the content-type application/json, application-geo+json or application-vnd.geo+json has been added to the adapters in the PySDK.
Background:
As a user of the here-platform, you can create layers to store data in json/geojson format. Such layers could also have a custom json-schema associated with them. With this release, PySDK will support json/geojson schema validation while reading (if decode=True) or writing (if encode=True) the data.
2.18.0
ADDED
Support for writing dataframes to protobuf layers.
2.18.0
REMOVED
The deprecate method here.platform.schema.Schema.decode_and_parse_blob(self, data: bytes) has been removed from the here-platform package.
Going forward, users should use here.platform.schema.Schema.decode_blob(self, data: bytes) and parse the result using google.protobuf.json_format.MessageToDict.
2.17.0
ADDED
Protobuf write functionality; user can write now to layers with protobuf content type
2.17.0
ADDED
Extended support to Kepler widget for map visualisation
2.17.0
CHANGED
here-inspector uses HERE map widget as default now; please set LS_API_KEY environment variable to your HERE platform API key
2.17.0
FIXED
Fixed Partition data_handle handling
2.16.0
ADDED
A new feature was added which allows you to subscribe to changes of an interactive map layer. For further reading please see the documentation
2.16.0
FIXED
Fixed service_api behaviour by removing trailing slash in base urls and only parse json
2.15.0
FIXED
Replaced pandas.append with pandas.concat
2.15.0
FIXED
PythonSDK works with multiple groups in credentials file
Raise exception if partition does not exist or it has no content
2.14.0
ADDED
schema property to LayerConfiguration
2.14.0
FIXED
StreamLayer inline limit default changed from None to default inline stream data limit
2.14.0
FIXED
New detailed schema exception message added
2.14.0
FIXED
Project scope fixed in credentials.properties
2.14.0
FIXED
Incomplete data returned from Partition.get_blob()
2.13.0
ADDED
schema property to LayerConfiguration
2.13.0
FIXED
Incomplete data returned from Partition.get_blob()
2.13.0
FIXED
Project scope in credentials.properties fixed
2.13.0
REMOVED
functions for manual handling of protobuf
2.12.1
ADDED
Enable configurable objectstore upload part size and multi-part upload test
2.12.1
FIXED
Fixed content encoding for objectstore read and write
2.12.0
ADDED
New and improved single layer and multi-layer HMC bindings support
2.12.0
ADDED
Function to get details of a specified version of a catalog
2.12.0
ADDED
Unique schema registry per Platform object
2.12.0
ADDED
part param is added to query Index layer by partId
2.12.0
FIXED
Exception is not raised when additional_fields parameters is None in DataMetadataApi
2.12.0
FIXED
No null pointer exception is thrown while using services
2.12.0
REMOVED
Deprecated offset and offset_partition functions
2.11.1
FIXED
get_services returns Service object for the given HRN
2.11.0
ADDED
Application configuration parameters in the dev guide
2.11.0
ADDED
Added compressedDataSize field to default response of get_partition_changes
2.11.0
FIXED
get_partitions_metadata of versioned layer return version
2.11.0
REMOVED
Removal of list_features function from layer
2.11.0
REMOVED
Removal of update_partitions_index function from layer
2.11.0
REMOVED
Removal of read_stream_data function from layer
2.10.0
ADDED
Functionality to find which version(s) of a catalog is compatible with other catalogs
2.10.0
ADDED
Improving credentials handling by adding support for 'scope'
2.10.0
ADDED
Support for Python 3.10
2.10.0
ADDED
Added mapping properties from the Config API response to the CatalogConfiguration and LayerConfiguration model
2.9.0
ADDED
Support for compressed_data_size in partition metadata for Versioned and Volatile layer
2.9.0
ADDED
since_version to VersionedLayer get_partitions_metadata
2.9.0
FIXED
Credentials.from_default() fails under Windows
2.9.0
FIXED
Partial additional fields evaluated
2.9.0
DEPRECATED
The parameter publication is deprecated for the function StreamLayer.write_stream. It is not needed anymore, therefore please remove it from your code.
2.9.0
DEPRECATION NOTICE
The support for Python 3.7 will be dropped after October'2022 release. Please use a newer version of Python. We support Python 3.8 and 3.9.
2.8.0
ADDED
Context manager support to Publication
2.8.0
ADDED
Context manager support for StreamSubscription
2.8.0
ADDED
Passing an existing subscription ID to a StreamLayer allowing it to be used across multiple runs
2.7.0
ADDED
Convenience method is_directory for ObjectStore layers to check if key is a directory
2.7.0
ADDED
Optional overwrite protection check when publishing ObjectStore layers
2.7.0
ADDED
New method get_statistics for versioned layers which returns summary statistics for the layer
2.7.0
ADDED
Ability to use an upublished (local) schema artifact to decode/encode data
2.7.0
CHANGED
Removed 192 MB restriction on object size when publishing to ObjectStore layers
2.7.0
CHANGED
When using Inspector, you can now pass tuples of (content, style) in the layers parameter so that it's not required to use layers_style
2.7.0
DOCUMENTATION
Tutorial notebooks and examples are now available singly via GitHub in addition to downloadable .zip bundle in Developer Guide
2.7.0
PERFORMANCE
Takes into account layer compression when preferring single part upload over multipart
2.6.0
ADDED
Support for listing, reading, writing, and deleting content from Object Store layers
2.6.0
ADDED
DefaultAdapter and GeoPandasAdapter support for writing to Stream layers
2.6.0
ADDED
Added timestamp and offset columns when reading Stream Layer using GeoPandasAdapter
2.6.0
CHANGED
When using GeoPandasAdapter in reading from volatile layer, instead of raising exception if data not found for given data handle, that row is simply omitted from returned DataFrame. Previously, an exception would be raised.
2.6.0
FIXED
When using HERE Content Bindings with GeoPandasAdapter to read an empty or non-existing partition, error was raised. This now returns an empty (Geo)DataFrame
2.6.0
FIXED
Jupyter crash when attempting to visualize an empty (Geo)DataFrame using Inspector. Now an empty layer will be added.
2.6.0
FIXED
Support for layers with SHA-1 and SHA-256 checksum algorithms
2.6.0
DOCUMENTATION
Instructions for upgrading HERE Data SDK for Python packages to new version within an existing environment.
2.6.0
PERFORMANCE
When publishing data smaller than 50MB, a single part upload will be used instead of multipart.
2.5.0
ADDED
Improved decoding to data frames of content in protocol buffers format, composite columns are automatically unpacked into multiple, single-value columns
2.5.0
ADDED
Support for direct Kafka for stream layer
2.5.0
ADDED
When writing a single message to stream layer, inline data limit in the message is now configurable. Its default value is set to 800KB
2.5.0
ADDED
Added inspector backend based on HERE Map Widget for Jupyter. Refer to new sample notebook ExploreInspector_HereMapWidgetForJupyter.ipynb
2.5.0
ADDED
Improved stream layer support by adding offset management
2.5.0
FIXED
get_attribute functions will return None when attribute_names do not exist in some partitions
2.4.0
ADDED
CSV support in DefaultAdapter
2.4.0
ADDED
Support for Local Catalogs / Local Data Service
2.4.0
ADDED
Add xyzservices dependency to access basemaps from many providers
2.4.0
ADDED
New functions to seek and commit kafka offsets in a StreamSubscription
2.4.0
FIXED
Data field of stream messages not populated
2.4.0
REMOVED
JoinData_geopandas and JoinData_platform example notebooks
2.3.0
ADDED
New example showing how to convert your Python code to an interactive dashboard using Plotly Dashboard
2.3.0
ADDED
New add_layer and update_layer methods as simplified alternatives to full catalog reconfiguration
2.3.0
ADDED
New clone_catalog method to create a catalog by cloning an existing one
2.3.0
ADDED
JSON and GeoJSON support in DefaultAdapter
2.3.0
ADDED
JSON and GeoJSON support in GeoPandasAdapter
2.3.0
ADDED
New MLflow sample notebooks showing how to use Ray for distributed XGBoost and PyTorch training models
2.3.0
FIXED
Geopandas adapter error when publishing dataframe to versioned and volatile layers
2.3.0
FIXED
Error calling list_version when number of catalog versions is > 1000
2.2.0
ADDED
Geopandas Adapter now allows for direct writing of dataframe contents to versioned and volatile layers in addition to index layer
2.2.0
ADDED
New tutorial notebook demonstrating how to work with Here Content package
2.2.0
ADDED
New tutorial notebook demonstrating how to work with Interactive Map layers
2.2.0
ADDED
Support for reading from and writing to Interactive Map layers
2.2.0
ADDED
New tutorial notebook illustrating how to run interactive notebook as a dashboard using Voila
2.2.0
ADDED
New Here Content package providing simplified access to HERE Map Content layers
2.2.0
ADDED
Methods supporting direct interaction with Platform Services
2.2.0
FIXED
PlatformException no longer raised when querying partitions from new (empty) catalog
2.2.0
FIXED
Inspector failure on empty GeoJSON FeatureCollection
2.0.1
FIXED
MLflow plug in fixes related to new SDK version.
2.0
ADDED
The HERE Data SDK for Python v1.12 has been deprecated and a refactored SDK for Python (v2.0 ) is now available, requiring new installation including new packages. Refer to the new HERE Data SDK for Python Developer Guide for more information and installation instructions.
1.11
FIXED
Fixed an issue with get partitions for partitions that do not exist.
1.11
DEPRECATED
Data SDK for Python with Spark is DEPRECATED and no longer actively supported. Alternate support for Python based distributed processing will be added in a future release.
1.10
ADDED
The SDK now includes the capability to visualize heatmap as part of "utils/vis" module. Added sample notebook "Visualize Millions of SDII Points Using Heatmap" for reference.
1.10
ADDED
The SDK now includes the functionality to retrieve partitions metadata, including size, without having to download the data.
1.10
ADDED
The SDK now includes retry logic to avoid "Too many requests" error.
1.9
ADDED
The SDK now supports billing tag for all the backend data services.
1.9
ADDED
The SDK now supports writing bytes object directly for all layers.
1.9
ADDED
The SDK now supports writing data to layers with content encoding as gzip.
1.9
FIXED
Core (here-nagini) module installation issue with docker build image.
1.9
FIXED
The SDK installation now supports multiple server repository credentials in settings.xml.
1.8
ADDED
The SDK now includes an MLflow Plugin which enables the ability to manage Machine Learning (ML) experiments on the platform and share with others, or make it available on the HERE Marketplace.
1.8
ADDED
The SDK now supports Python v3.8.
1.8
ADDED
The SDK now includes the functionality to publish dataframe to index layer with parquet content type.
1.8
FIXED
Fixed an issue with the volatile layer read support to read from a catalog with no versions.
1.7
ADDED
The SDK now includes the functionality to read layers with content encoding as gzip.
1.7
ADDED
The SDK now includes the functionality to read schema by HRN.
1.7
CHANGED
SDK Core package(nagini) is now renamed as (here-nagini). Changes made for "nagini" to "here-nagini" will be backward compatible. Just the package name changes, the module name "nagini" will remain as it is so that it can still be used in the code as "import nagini".
1.7
FIXED
Fixed an issue with the versioned layer write support to publish large files.
1.6
ADDED
The SDK now includes the functionality to check for the existence of a catalog.
1.6
ADDED
The SDK now includes the functionality to share and grant/revoke permissions in a catalog.
1.6
CHANGED
OLP SDK for Python is now renamed as HERE Data SDK for Python.
1.6
FIXED
Fixed an issue with the stream layer read functionality to commit offset.
1.5
ADDED
The SDK now includes a sample notebook to demonstrate visualization of millions of sdii points.
1.5
ADDED
The SDK now includes the ability to create, update, delete, manage and associate resources with a project.
1.5
ADDED
The SDK now includes a sample notebook to demonstrate integration of scikit-learn model with pipeline.
1.5
CHANGED
The SDK now uses HMAC-SHA256 signature method for tokens instead of HMAC-SHA1.
1.4
ADDED
The SDK now includes the ability to create, update and delete a catalog and a layer.
1.4
ADDED
The Python SDK core module can now be installed as an independent package via pip or conda.
1.4
ADDED
The SDK now includes write support for all layer types including versioned, volatile, streaming and index layers.
1.4
KNOWN ISSUE
Multi part upload for very large files to a versioned layer may fail with 400 Bad Request error.
1.4
KNOWN ISSUE
Uploading data to project based catalogs is not supported.
1.3
ADDED
Support to install SDK packages using 'conda' installer.
1.3
ADDED
Added logger implementation in nagini module.
1.3
ADDED
Support to write data to OLP versioned layers.
1.3
CHANGED
Simplified installation: The SDK can now be installed/updated with a single command.
1.3
KNOWN ISSUE
Multi part upload for files larger than 200 MB to a versioned layer may fail with 400 Bad Request error.
1.3
KNOWN ISSUE
Uploading data to project based catalogs is not supported.