Giter Club home page Giter Club logo

dodo's Introduction

Dodo

Build Status

Overview

Dodo is a package that provides a scaffold for building air traffic control agents, as part of the Simurgh project. The packages is written in Python (PyDodo) and R (rdodo).

Note that the package is built to communicate with BlueBird version >= 2.0.

All the default settings and parameter values (e.g., BlueBird version number) are specified in a common configuration file.

For an overview of all functionality, please read the specification document.

Contents

PyDodo

PyDodo installation

(Optional first step)

conda create -n pydodo python=3.7
conda activate pydodo

...

git clone https://github.com/alan-turing-institute/dodo.git
cd dodo/PyDodo
pip install .

PyDodo usage

If BlueBird (and a simulator) are running, then one can communicate with BlueBird using PyDodo. For example:

>>> import pydodo
>>>
>>> pydodo.reset_simulation()
True
>>>

The specification document gives a detailed overview of the supported commands.

See the example notebook in the Simurgh project repository for a run through of how to use PyDodo to interact with BlueBird.

PyDodo development

Tests

Run the tests from the project root:

pytest PyDodo/

If BlueSky and BlueBird are running and PyDodo can connect to them, all tests are run. Otherwise integration tests are skipped and only unit tests are run.

Style guide

Docstrings should follow numpydoc convention. We encourage extensive documentation.

The python code itself should follow PEP8 convention whenever possible, with at most about 500 lines of code (not including docstrings) per script.

To format the code we recommend using the black code formatter.

rdodo

rdodo installation

rdodo usage

rdodo development

Contributing

If you have any questions that aren't discussed here, please let us know by opening an issue.

We welcome all contributions from documentation to testing to writing code. Don't let trying to be perfect get in the way of being good - exciting ideas are more important than perfect pull requests.

To contribute to PyDodo or rdodo development, please check the corresponding section (PyDodo development or rdodo development for details.

To implement Dodo in another programming language, please follow the specification document. The shared configuration file specifies common required parameters and settings.

dodo's People

Contributors

radka-j avatar thobson88 avatar tallamjr avatar rkm avatar evelinag avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.