:Name: czmlpy
:Authors: Juan Luis Cano Rodríguez, Eleftheria Chatziargyriou
czmlpy is a Python library to write CZML.
What is CZML?
=============
From the official
`CZML Guide <https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/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.
Installation
============
You can install czmlpy using pip::
$ pip install czmlpy
or conda::
$ conda install czmlpy --channel conda-forge
czmlpy requires Python >= 3.7.
Examples
========
A CZML document is a list of *packets*, which have several properties.
When using czmlpy in an interactive interpreter,
all objects show as nice CZML (JSON)::
>>> from czmlpy import Packet
>>> print(Packet())
{
"id": "adae4d3a-7087-4fda-a70b-d18a262a890e"
}
>>> packet0 = Packet(id="Facility/AGI", name="AGI")
>>> print(packet0)
{
"id": "Facility/AGI",
"name": "AGI"
}
>>> packet0.dumps()
'{"id": "Facility/AGI", "name": "AGI"}'
And there are more complex examples available::
>>> from czmlpy.examples import simple
>>> print(simple)
[
{
"id": "document",
"version": "1.0",
"name": "simple",
"clock": {
"interval": "2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
"currentTime": "2012-03-15T10:00:00Z",
"multiplier": 60,
"range": "LOOP_STOP",
"step": "SYSTEM_CLOCK_MULTIPLIER"
}
},
...
Jupyter widget
--------------
You can easily display your CZML document using our interactive widget::
In [1]: from czmlpy.examples import simple
In [2]: from czmlpy.widget import CZMLWidget
In [3]: CZMLWidget(simple)
And this would be the result:
.. image:: https://raw.githubusercontent.com/mixxen/czmlpy/master/widget-screenshot.png
Support
=======
If you find any issue on czmlpy or have questions,
please `open an issue on our repository <https://github.com/mixxen/czmlpy/issues/new>`_
Contributing
============
You want to contribute? Awesome! There are lots of
`CZML properties <https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/Packet>`_
that we still did not implement. Also, it would be great to have
better validation, a Cesium widget in Jupyter notebook and JupyterLab...
Ideas welcome!
We recommend `this GitHub workflow <https://www.asmeurer.com/git-workflow/>`_
to fork the repository. To run the tests,
use `tox <https://tox.readthedocs.io/>`_::
$ tox
Before you send us a pull request, remember to reformat all the code::
$ tox -e reformat
This will apply black, isort, and lots of love ❤️
To build a wheel file, update version in setup.py and __init__.py, then::
$ python setup.py sdist bdist_wheel
$ twine upload --repository testpypi dist/*
License
=======
czmlpy is released under the MIT license, hence allowing commercial
use of the library. Please refer to the :code:`LICENSE` file.
Raw data
{
"_id": null,
"home_page": "https://github.com/mixxen/czmlpy",
"name": "czmlpy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "czml,cesium,orbits",
"author": "Juan Luis Cano Rodr\u00edguez",
"author_email": "hello@juanlu.space",
"download_url": "https://files.pythonhosted.org/packages/14/73/61d4069162252bb5ee5b72ea22129823431667b1e8f07cd6e421af83b184/czmlpy-0.9.0.tar.gz",
"platform": "any",
"description": ":Name: czmlpy\n:Authors: Juan Luis Cano Rodr\u00edguez, Eleftheria Chatziargyriou\n\nczmlpy is a Python library to write CZML.\n\nWhat is CZML?\n=============\n\nFrom the official\n`CZML Guide <https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Guide>`_:\n\n CZML is a JSON format for describing a time-dynamic graphical scene,\n primarily for display in a web browser running Cesium.\n It describes lines, points, billboards, models, and other graphical primitives,\n and specifies how they change with time.\n While Cesium has a rich client-side API,\n CZML allows it to be data-driven\n so that a generic Cesium viewer can display a rich scene\n without the need for any custom code.\n\nInstallation\n============\n\nYou can install czmlpy using pip::\n\n $ pip install czmlpy\n\nor conda::\n\n $ conda install czmlpy --channel conda-forge\n\nczmlpy requires Python >= 3.7.\n\nExamples\n========\n\nA CZML document is a list of *packets*, which have several properties.\nWhen using czmlpy in an interactive interpreter,\nall objects show as nice CZML (JSON)::\n\n >>> from czmlpy import Packet\n >>> print(Packet())\n {\n \"id\": \"adae4d3a-7087-4fda-a70b-d18a262a890e\"\n }\n >>> packet0 = Packet(id=\"Facility/AGI\", name=\"AGI\")\n >>> print(packet0)\n {\n \"id\": \"Facility/AGI\",\n \"name\": \"AGI\"\n }\n >>> packet0.dumps()\n '{\"id\": \"Facility/AGI\", \"name\": \"AGI\"}'\n\nAnd there are more complex examples available::\n\n >>> from czmlpy.examples import simple\n >>> print(simple)\n [\n {\n \"id\": \"document\",\n \"version\": \"1.0\",\n \"name\": \"simple\",\n \"clock\": {\n \"interval\": \"2012-03-15T10:00:00Z/2012-03-16T10:00:00Z\",\n \"currentTime\": \"2012-03-15T10:00:00Z\",\n \"multiplier\": 60,\n \"range\": \"LOOP_STOP\",\n \"step\": \"SYSTEM_CLOCK_MULTIPLIER\"\n }\n },\n ...\n\nJupyter widget\n--------------\n\nYou can easily display your CZML document using our interactive widget::\n\n In [1]: from czmlpy.examples import simple\n\n In [2]: from czmlpy.widget import CZMLWidget\n\n In [3]: CZMLWidget(simple)\n\nAnd this would be the result:\n\n.. image:: https://raw.githubusercontent.com/mixxen/czmlpy/master/widget-screenshot.png\n\nSupport\n=======\n\nIf you find any issue on czmlpy or have questions,\nplease `open an issue on our repository <https://github.com/mixxen/czmlpy/issues/new>`_\n\nContributing\n============\n\nYou want to contribute? Awesome! There are lots of\n`CZML properties <https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/Packet>`_\nthat we still did not implement. Also, it would be great to have\nbetter validation, a Cesium widget in Jupyter notebook and JupyterLab...\nIdeas welcome!\n\nWe recommend `this GitHub workflow <https://www.asmeurer.com/git-workflow/>`_\nto fork the repository. To run the tests,\nuse `tox <https://tox.readthedocs.io/>`_::\n\n $ tox\n\nBefore you send us a pull request, remember to reformat all the code::\n\n $ tox -e reformat\n\nThis will apply black, isort, and lots of love \u2764\ufe0f\n\nTo build a wheel file, update version in setup.py and __init__.py, then::\n\n $ python setup.py sdist bdist_wheel\n $ twine upload --repository testpypi dist/*\n\nLicense\n=======\n\nczmlpy is released under the MIT license, hence allowing commercial\nuse of the library. Please refer to the :code:`LICENSE` file.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python 3 library to write CZML",
"version": "0.9.0",
"split_keywords": [
"czml",
"cesium",
"orbits"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7fa7ab7997b8cee53c9e38f07240607a12656107409bb9c09dadf92ba9bc5ed9",
"md5": "3f0cf6b971dbc91edaa390eecb96bfa5",
"sha256": "6fb2a7a33f732e9a96e00cdfcaddc2d2d9a4bcd1eeb3dddc81e499d83d17241a"
},
"downloads": -1,
"filename": "czmlpy-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f0cf6b971dbc91edaa390eecb96bfa5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 29915,
"upload_time": "2023-04-13T09:31:16",
"upload_time_iso_8601": "2023-04-13T09:31:16.395606Z",
"url": "https://files.pythonhosted.org/packages/7f/a7/ab7997b8cee53c9e38f07240607a12656107409bb9c09dadf92ba9bc5ed9/czmlpy-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "147361d4069162252bb5ee5b72ea22129823431667b1e8f07cd6e421af83b184",
"md5": "501acbac6c10a9801b8de3ecfc3e970b",
"sha256": "55a7b4880e846a0feeff08f500d6a49d0b34ad63f936a7d3748df0cbd1a13bbc"
},
"downloads": -1,
"filename": "czmlpy-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "501acbac6c10a9801b8de3ecfc3e970b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 37970,
"upload_time": "2023-04-13T09:31:19",
"upload_time_iso_8601": "2023-04-13T09:31:19.195044Z",
"url": "https://files.pythonhosted.org/packages/14/73/61d4069162252bb5ee5b72ea22129823431667b1e8f07cd6e421af83b184/czmlpy-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-13 09:31:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "mixxen",
"github_project": "czmlpy",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"circle": true,
"tox": true,
"lcname": "czmlpy"
}