Hi all,
It fills us with astronomical joy to announce the release of czml3 0.3.0!
czml3 is a Python (3.6+) library to write CZML. Copying from the CZML Guide:
CZML is a JSON format for describing a time-dynamic graphical scene,
primarily for display in a web browser running Cesium. It describes
lines, points, billboards, models, and other graphical primitives, and
specifies how they change with time. While Cesium has a rich
client-side API, CZML allows it to be data-driven so that a generic
Cesium viewer can display a rich scene without the need for any custom
code. In many ways, the relationship between Cesium and CZML is
similar to the relationship between Google Earth and KML.
czml3 aims to be useful for interactive use:
from czml3 import Packet
Packet()
{
"id": "adae4d3a-7087-4fda-a70b-d18a262a890e"
}
packet0 = Packet(id=โFacility/AGIโ, name=โAGIโ)
packet0
{
"id": "Facility/AGI",
"name": "AGI"
}
packet0.dumps()
โ{โidโ: โFacility/AGIโ, โnameโ: โAGIโ}โ
This new release brings some new properties (Box, BoxDimensions, EyeOffset), better validation for Position, and a widget for Jupyter notebook:
In [1]: from czml3.examples import simple
In [2]: from czml3.widget import CZMLWidget
In [3]: CZMLWidget(simple)
You can install it with pip:
pip install --upgrade czml3
And check out the repository on GitHub, which contains a more detailed
README, tests (>99 % coverage) and the issue tracker:
https://github.com/poliastro/czml3
If you have any questions or want to contribute, join our chat!
https://chat.openastronomy.org/#/room/#poliastro-czml:matrix.org
czml3 is similar in intent to czml, a Python library written by
Christian Ledermann. czml3 is implemented from scratch and tries to be
easier to use on an interactive interpreter, and (for the moment)
focuses only on writing.
Per Python ad astra!