# ![tomo](assets/banner.png)
Please note: Tomo is in early development. Some features may not work properly,
and its API may change without notice.
Tomo is a GUI toolkit written in pure Go. It is designed with these goals in
mind:
1. Modularity: the core of Tomo is mostly composed of interfaces—and the
overwhelming majority of its code resides in pluggable modules. If you don't
need it, then dont import it—and you can be assured it won't be there.
2. Extendability: during the design of Tomo's API, use cases such as creating
custom backends, element, and layouts were given just as much importance as
normal application building. Your custom element is a first-class citizen.
3. Independence: Tomo is minimally dependent on code outside of the Go
standard library. Because of this, the file size of a compiled Tomo application
is typically very small.
4. Frugality: Tomo foregoes things like animations and anti-aliasing in order to
use a minimal amount of system resources without even having to touch the GPU.
5. Consistency: Tomo's design is not only consistent with itself, but also with
the Go standard library. If you've worked with Go in the past, Tomo will feel
pleasantly familliar.
You can find out more about how to use it by visiting the examples directory,
or pull up its documentation by running `godoc` within the repository. You can
also view it on the web on
[pkg.go.dev](https://pkg.go.dev/git.tebibyte.media/sashakoshka/tomo).