Metadata-Version: 2.1
Name: nunavut
Version: 0.1.4
Summary: Generate code from DSDL using Jinja2 templates.
Home-page: https://uavcan.org
Author: UAVCAN Development Team
Author-email: dixonsco@amazon.com
License: MIT
Description: ################################################
        Nunavut
        ################################################
        
        |badge_forum|_ |badge_docs|_ |badge_analysis|_ |badge_coverage|_ |badge_build|_ |badge_pypi_support|_ |badge_pypi_version|_ |badge_github_license|_
        
        Nunavut is a `UAVCAN`_ DSDL code generator that automates exposing a `pydsdl`_ abstract
        syntax tree to `Jinja2`_ templates allowing authors to generate code, schemas, metadata,
        documentation, etc.
        
        Partial example: generating a C struct
        
        .. code-block::
        
               /*
                * UAVCAN data structure definition
                *
                * Autogenerated, do not edit.
                *
                * Source file: {{T.source_file_path}}
                */
        
                #ifndef {{T.full_name | c.macrofy}}
                #define {{T.full_name | c.macrofy}}
        
                typedef struct {{T.full_name | c.to_snake_case}}Type
                {
            {%- for attribute in T.attributes %}
            {%- if attribute is constant %}
                    const {{ attribute.data_type | c.type_from_primitive(use_standard_types=True) }} {{ attribute.name }} = {{ attribute.value }};
            {% endif -%}
            {% endfor %}
        
            ...
        
                } {{ T.full_name | c.to_snake_case }};
        
                #endif // {{T.full_name | c.macrofy}}
        
        
        Nunavut is named after the `Canadian territory`_. We chose the name because it
        is a beautiful word to say and read. Also, the name fits with a theme of "places
        in Canada" started with the `Yukon`_ project.
        
        ************************************************
        Installation
        ************************************************
        
        Nunavut requires Python 3.5 or newer and depends on `pydsdl`_.
        
        Install from PIP::
        
            pip install nunavut
        
        ************************************************
        Bundled third-party software
        ************************************************
        
        Nunavut embeds the following third-party software libraries into its source
        (i.e. these are not dependencies and do not need to be installed):
        
        - `Jinja2`_ by Armin Ronacher and contributors, BSD 3-clause license.
        - `markupsafe`_ by Armin Ronacher and contributors, BSD 3-clause license (needed for Jinja).
        
        ************************************************
        Documentation
        ************************************************
        
        The documentation for Nunavut is hosted on readthedocs.io:
        
        - `nunavut`_ - The python library provided by this project.
        - `nnvg`_ – Command-line script for using `nunavut`_ directly or as part of a build system.
        - `nunavut template guide`_ – Documentation for authors of nunavut templates.
        - `nunavut contributors guide`_ – Documentation for contributors to the Nunavut project.
        - `nunavut licenses`_ – Licenses and copyrights
        
        Nunavut is part of the UAVCAN project:
        
        - `UAVCAN website`_
        - `UAVCAN forum`_
        
        
        .. _`UAVCAN`: http://uavcan.org
        .. _`UAVCAN website`: http://uavcan.org
        .. _`UAVCAN forum`: https://forum.uavcan.org
        .. _`nunavut`: https://nunavut.readthedocs.io/en/latest/nunavut/lib.html
        .. _`nnvg`: https://nunavut.readthedocs.io/en/latest/index.html
        .. _`pydsdl`: https://pypi.org/project/pydsdl
        .. _`nunavut template guide`: https://nunavut.readthedocs.io/en/latest/templates.html
        .. _`nunavut contributors guide`: https://nunavut.readthedocs.io/en/latest/dev.html
        .. _`nunavut licenses`: https://nunavut.readthedocs.io/en/latest/appendix.html#licence
        .. _`Jinja2`: https://palletsprojects.com/p/jinja
        .. _`markupsafe`: https://palletsprojects.com/p/markupsafe
        .. _`Canadian territory`: https://en.wikipedia.org/wiki/Nunavut
        .. _`Yukon`: https://github.com/UAVCAN/Yukon
        
        .. |badge_forum| image:: https://img.shields.io/discourse/https/forum.uavcan.org/users.svg
            :alt: UAVCAN forum
        .. _badge_forum: https://forum.uavcan.org
        
        .. |badge_docs| image:: https://readthedocs.org/projects/nunavut/badge/?version=latest
            :alt: Documentation Status
        .. _badge_docs: https://nunavut.readthedocs.io/en/latest/?badge=latest
        
        .. |badge_analysis| image:: https://api.codacy.com/project/badge/Grade/a0fe88873942440485438d728d308545
            :alt: Codacy reports
        .. _badge_analysis: https://www.codacy.com/app/UAVCAN/nunavut?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=UAVCAN/nunavut&amp;utm_campaign=Badge_Grade
        
        .. |badge_coverage| image:: https://api.codacy.com/project/badge/Coverage/a0fe88873942440485438d728d308545
            :alt: Codacy coverage reports
        .. _badge_coverage: https://www.codacy.com/app/UAVCAN/nunavut?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=UAVCAN/nunavut&amp;utm_campaign=Badge_Coverage
        
        .. |badge_build| image:: https://badge.buildkite.com/7cd0e4b8bc53842e621d316eba6a79be4ee710c30af5fb7845.svg
            :alt: Build status
        .. _badge_build: https://buildkite.com/uavcan/nunavut
        
        .. |badge_pypi_support| image:: https://img.shields.io/pypi/pyversions/nunavut.svg
            :alt: Supported Python Versions
        .. _badge_pypi_support: https://pypi.org/project/nunavut/
        
        .. |badge_pypi_version| image:: https://img.shields.io/pypi/v/nunavut.svg
            :alt: Pypi Release Version
        .. _badge_pypi_version: https://pypi.org/project/nunavut/
        
        .. |badge_github_license| image:: https://img.shields.io/badge/license-MIT-blue.svg
            :alt: MIT license
        .. _badge_github_license: https://github.com/UAVCAN/nunavut/blob/master/LICENSE.rst
        
Keywords: uavcan,dsdl,can,can-bus,codegen
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: System :: Networking
Classifier: Typing :: Typed
Description-Content-Type: text/x-rst
