semvec/pypi-packages huggingface dataset:
rigel-hpl 0.1.0
HAROS Property Specification Language
License: MIT
Requires Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Keywords: haros ros property-specification parser parsing ast

[![DOI](https://zenodo.org/badge/331277331.svg)](https://zenodo.org/badge/latestdoi/331277331)

# HPL - The HAROS Property Specification Language

HPL is a minimalistic specification language tailored for behavioural properties of message-based systems.
Although it might be useful in other contexts, it was designed with the message-passing system of the [Robot Operating System](https://www.ros.org/) in mind.
Since properties are message-based, the same language can be used to specify both individual nodes and full applications.

HPL was developed to be an integral part of the [HAROS framework](https://github.com/git-afsantos/haros/).
HAROS is capable of defining and extracting architectural models of ROS systems (the *ROS Computation Graph*).
Such models are, inherently, mostly concerned with the structure of the analysed system.
This language is meant to annotate the architectural models, complementing them with behavioural information.

## What Is In The Box

This repository contains a Python package, and the respective source code, to parse HPL specifications and convert them into *Abstract Syntax Trees* (AST).

## Syntax, Semantics and Use Cases

Check the [documentation](./docs).

## Installing

To install this package, make sure that you have Python 2.7 or greater.
Simply run the command:

```
pip install hpl-specs
```

## Bugs, Questions and Support

Please use the [issue tracker](https://github.com/git-afsantos/hpl-specs/issues).

## Citing

See [CITING](./CITING.md).

## Contributing

See [CONTRIBUTING](./CONTRIBUTING.md).

## Acknowledgment

Until March 2021, this work was financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project PTDC/CCI-INF/29583/2017 (POCI-01-0145-FEDER-029583).
neo3vm 0.10.1
C++ port of the NEO 3 Blockchain virtual machine
License: MIT

.. image:: https://raw.githubusercontent.com/CityOfZion/visual-identity/develop/_CoZ%20Branding/_Logo/_Logo%20icon/_PNG%20200x178px/CoZ_Icon_DARKBLUE_200x178px.png
    :alt: CoZ logo


NEO3VM
------
A C++ port of the NEO3 Blockchain `Virtual Machine <https://github.com/neo-project/neo-vm>`_ with bindings for Python 3.8.

Installation
~~~~~~~~~~~~
::

    pip install neo3vm

Or download the wheels from the Github releases page.

Usage
~~~~~

.. code-block:: python

    import neo3vm
    # PUSH1, PUSH2, ADD (1 + 2 = )
    script = neo3vm.Script(b'\x11\x12\x9E')
    engine = neo3vm.ExecutionEngine()
    engine.load_script(script)
    engine.execute()
    assert(engine.state == neo3vm.VMState.HALT)
    assert(engine.result_stack.peek() == neo3vm.IntegerStackItem(3))

Further documentation on the classes can be queried from the extension module ``help(neo3vm)``.

Bindings vs source code
~~~~~~~~~~~~~~~~~~~~~~~
For the time being only the Python bindings are made available publicly. Other bindings may follow. 

If you have a use-case for the C++ VM feel free to reach out to python@coz.io to discuss the possibilities.