Skip to content

hendrenja/corto

 
 

Repository files navigation

Corto

Corto is a developer-friendly and super extensible framework for building a virtual version of the real world (or a fake one, we don't mind). In corto you first design what your world looks like, and then populate it with real data. We slapped a single, unified API on top of all that data, so you (aka 'the software engineer') never have to worry about where that data came from!

Because there is likely more data in the world than your computer can process at once, corto has a smart design where it only loads the data you need in memory. You can have petabytes of data at your fingertips, and never spend more than 70Kb in footprint!

If any of these is not green, somebody is not sleeping well.

Linux/OSX Windows Coverity
Build Status not yet available Coverity

Getting Started

These instructions will get the project up and running on your local machine for development and testing purposes. Check out the deployment section for notes on how to deploy corto to a live system.

Prerequisites

A Linux or macOS system with curl installed. That's all!

Installing

Installing the corto development environment is simple. Just run this command to install corto to /usr/local:

curl https://corto.io/install-dev-src | sh

If you'd rather not install to /usr/local but to a location of your own choosing, run this:

curl https://corto.io/build-dev | sh

This command downloads the source code to {current working directory}/corto-src.

The development environment contains the corto runtime, development tools and some goodies to get you started quickly. When you want to actually deploy an application, know that you can strip most of these packages from your deployment! Also note that these commands build a development version. Development versions are slow because they enable lots of checking. To install a release version, just replace dev by release!

Running the tests

To make sure that corto is running smoothly on your system, it is always a good idea to run the tests. To run them, you need a local copy of the corto runtime repository. Running these commands in sequence will run the corto runtime testsuites:

curl https://corto.io/build-dev | sh
cd corto-src/corto
corto test

Don't worry if you see some missing implementation messages. This just means we have some work ahead of us. What is important is that after the test run, you see a message that says that everything is ok!

If the tests fail, please submit a bug report (check out CONTRIBUTING.md).

Deployment

If you are deploying corto, you will want to use a release version of the code. Release versions are smaller, have less checking and as such have much better performance. To install a release version of the code, do:

curl https://corto.io/install-release-src | sh

Built With

  • rake - The bedrock of our buildsystem
  • libffi - We harness the powerful magic of libffi to call functions dynamically

Contributing

Please read CONTRIBUTING.md for details on how to contribute, and the process for submitting pull requests to us. Also please follow our CODE_OF_CONDUCT.md so that everything remains civilized!

Versioning

We use SemVer for versioning.

Authors

See also the list of contributors who participated in this project.

Legal stuff

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

The following people (in chronological order of appearance) need a callout as corto would be nowhere near where it is without their unwavering support and dedication:

  • Spiros Motsenigos - Invented the name! Pushed corto to greater heights with boundless enthusiasm
  • Johnny Lee Othon - First one crazy enough to try out corto. Origin of many, many features and improvements
  • Alex Hendren - Early adopter and evangelist (in the broadest sense of the word)
  • Roberto Flores - Probably the most experienced corto developer worldwide. Even better at finding bugs
  • Pepijn van Kesteren - Ever willing to ask the hard questions & able to offer advice on all of them
  • Nathan Petkus - True™ corto believer. Perpetually in the business of rallying good people for the good cause
  • Luke Peng - Reliable source of (sometimes painful) reminders that it is not just about the code

About

An embeddable and extendable data infrastructure for building virtual worlds

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 91.7%
  • C++ 6.5%
  • Ruby 1.7%
  • Objective-C 0.1%