Coder Social home page Coder Social logo

yotta's Introduction

yotta: Build Software with Reusable Components

Build Status

yotta is a tool that we're building at mbed, to make it easier to build better software written in C, C++ or other C-family languages. It's still early in development, so if you have questions/feedback or issues, please report them.

Installation

Detailed instructions can be found on the documentation site, in summary, to use yotta you need:

  • yotta itself (yotta is runs in python, and is installed using pip. Version 2.7.9 of python is recommended.)
  • CMake
  • a compiler

To install yotta itself, open a terminal, then run:

pip install yotta

If permission is denied, you may need to run sudo pip install yotta, and you may need to first install Python 2.7 and pip, if you do not already have them.

Install CMake from the CMake download page, or using your system's package manager. Make sure to check the option in the installer to add it to your path.

Which compiler you need depends on whether you're building programs for your host system, or cross-compiling them run on an embedded device:

  • to cross-compile, install arm-none-eabi-gcc.
  • to compile natively on OS X, install Xcode, including the command-line tools.
  • to compile natively on Linux, install clang with your system's package manager.

Further information on installing yotta for different platforms can be found on the documentation site.

Get Started!

The best way to get started is to follow the tutorial.

What yotta does

yotta downloads the software components that your program depends on (it's similar in concept to npm, pip or gem). To install a new module, you run yotta install --save <modulename>, and yotta will install both the module you've specified and any of its dependencies that you don't already have installed, and save the fact that you depend on that module into your module's description file.

To really understand how yotta works, you should install yotta (see above), then follow the tutorial.

Further Documentation

For further documentation see the yotta docs website.

Tips

  • yt is a shorthand for the yotta command, and it's much quicker to type!
  • yotta is strongly influenced by npm, the awesome node.js software packaging system. Much of the syntax for module description and commands is very similar.

License

yotta is licensed under Apache-2.0

yotta's People

Contributors

autopulated avatar matthewelse avatar thegecko avatar hugovincent avatar meriac avatar stevep-arm avatar alessandroa avatar stephenpaulger 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.