<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ocr.michiyo.me/w/index.php?action=history&amp;feed=atom&amp;title=API</id>
	<title>API - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ocr.michiyo.me/w/index.php?action=history&amp;feed=atom&amp;title=API"/>
	<link rel="alternate" type="text/html" href="https://ocr.michiyo.me/w/index.php?title=API&amp;action=history"/>
	<updated>2026-08-24T13:31:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://ocr.michiyo.me/w/index.php?title=API&amp;diff=1064&amp;oldid=prev</id>
		<title>imported&gt;OCDoc Import: Imported from legacy OpenComputers documentation at ocdoc.cil.li</title>
		<link rel="alternate" type="text/html" href="https://ocr.michiyo.me/w/index.php?title=API&amp;diff=1064&amp;oldid=prev"/>
		<updated>2026-08-24T08:08:27Z</updated>

		<summary type="html">&lt;p&gt;Imported from legacy OpenComputers documentation at ocdoc.cil.li&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= APIs =&lt;br /&gt;
&lt;br /&gt;
== Standard Libraries ==&lt;br /&gt;
&lt;br /&gt;
First and foremost you should get familiar with the [http://www.lua.org/manual/5.3/manual.html Lua reference manual], if you are new to Lua. You will find most basic Lua functionality explained there, as well as a bunch of standard library functions.&lt;br /&gt;
&lt;br /&gt;
OpenComputers makes an effort to largely emulate the standard library in areas that would usually interact with the host system - that being the I/O library. There are a few differences, which you can look up here: [[API/non-standard-lua-libs|differences in the standard libraries]]. Most notably, the debug library is mostly unavailable, and `load` only accepts text source files, no binary / pre-compiled Lua programs (for security reasons).&lt;br /&gt;
&lt;br /&gt;
These standard libraries are available in the global environment and thus are immediately available; meaning they do not need to be loaded in your scripts to be accessible.&lt;br /&gt;
&lt;br /&gt;
* [[API/non-standard-lua-libs#coroutine_manipulation|coroutine]]&lt;br /&gt;
* [[API/non-standard-lua-libs#debug|debug]]&lt;br /&gt;
* [[API/non-standard-lua-libs#input_and_output_facilities|io]]&lt;br /&gt;
* [[API/non-standard-lua-libs#mathematical_functions|math]]&lt;br /&gt;
* [[API/non-standard-lua-libs#operating_system_facilities|os]]&lt;br /&gt;
* [[API/non-standard-lua-libs#Modules|package]]&lt;br /&gt;
* `print` Not a library, but a commonly used standard method for printing text to stdout.&lt;br /&gt;
&lt;br /&gt;
```lua print(&amp;quot;hello world&amp;quot;) ```&lt;br /&gt;
&lt;br /&gt;
* [[API/non-standard-lua-libs#string_manipulation|string]]&lt;br /&gt;
* [[API/non-standard-lua-libs#table_manipulation|table]]&lt;br /&gt;
&lt;br /&gt;
== Custom Libraries ==&lt;br /&gt;
&lt;br /&gt;
Following is a description of the non-standard libraries, provided for convenience.&lt;br /&gt;
&lt;br /&gt;
Note that you need to `require` all non-standard APIs before you use them, i.e. all modules not listed in the [http://www.lua.org/manual/5.3/manual.html Lua reference manual] nor in [#standard_libraries]. For example, instead of simple going `local rs = component.redstone`, you now need to require the component API, like so:&lt;br /&gt;
&lt;br /&gt;
```lua local component = require(&amp;quot;component&amp;quot;) local rs = component.redstone&lt;br /&gt;
&lt;br /&gt;
--You can of course change the variable name: local mycomp = require(&amp;quot;component&amp;quot;) local rs = mycomp.redstone ``` The same applies for all other APIs listed below (even `sides` and `colors`).&lt;br /&gt;
&lt;br /&gt;
The standard libraries aside, OpenComputers comes with a couple of additional, built-in libraries. Here is a list of all these libraries. Note that some of these may not be usable depending on your configuration (HTTP) and context (Robot library on computers), but they&amp;#039;ll still be there.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039; [[API/buffer|buffer]]: a Lua `FILE&amp;#039;&amp;#039;` API buffer implementation for wrapping streams. - [[API/colors|colors]]: a global table that allows referencing standard Minecraft colors by name. - [[API/component|component]]: look-up and management of components attached to the computer. - [[API/computer|computer]]: information on and interactions with the computer the Lua state is running on. - [[API/event|event]]: an event system, often used by libraries, for pulling and registering handlers to signals. - [[API/UUID|uuid]]: creates long unique identifier strings in the common 8-4-4-4-12 format. - [[API/filesystem|filesystem]]: abstracted interaction with file system components. - [[API/internet|internet]]: a wrapper for Internet Card functionality. - [[API/keyboard|keyboard]]: a table of key codes by name and pressed key tracking. - [[API/note|note]]: converts music notes between their real name, their MIDI code and their frequency - [[API/process|process]]: keeps track of running programs and their environments. - [[API/rc|rc]]: provides automatic program execution and service management. - [[API/robot|robot]]: abstracted access to robot actions. - [[API/serialization|serialization]]: allows serialization of values, e.g. for sending them via the network. - [[API/shell|shell]]: working path tracking and program execution. - [[API/sides|sides]]: a global table that allows referencing sides by name. - [[API/term|term]]: provides the concept of the cursor, to read and write from keyboard input and screen output, respectively. - [[API/text|text]]: provides text utilities such as tab to space conversion. - [[API/thread|thread]]: provides autonomous and non-blocking cooperative threads. - [[API/transforms|transforms]]: provides helpful and advanced table manipulators. - [[API/unicode|unicode]]: provides Unicode aware implementations of some functions in the string library.&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
&lt;br /&gt;
{{:API/contents}}&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;OCDoc Import</name></author>
	</entry>
</feed>