| Libraries |  | 
 | 
Seed7 has libraries for many application areas. On this overview page the libraries are classified into several categories.
Numbers
Numeric types are supported with the following libraries:
- integer.s7i - Integer support library. - bigint.s7i - Unlimited precision integer support library. - rational.s7i - Rational number support library. - bigrat.s7i - Big rational number support library. - float.s7i - Floating point support library. - complex.s7i - Complex support library. - math.s7i - Mathematical functions and constants. 
Strings
The characters in a string use the UTF-32 encoding. Strings are not '\0;' terminated. Therefore they can also contain binary data. Strings are supported with the following libraries:
- string.s7i - String library with support for concatenation, indexing, slicing, comparison, changing the case, searching and replacing. - scanstri.s7i - String scanner functions to scan integer, character and string literals as well as names, and comments. - charsets.s7i - Code pages for various character sets. - unicode.s7i - Functions to convert to and from UTF-16BE, UTF-16LE, UTF-8 and UTF-7. - encoding.s7i - Encoding and decoding functions for Base64 encoding, Quoted-printable encoding, uuencoding, percent-encoding, URL encoding, Ascii85 encoding, AsciiHex encoding and Base58 encoding. 
Files
File support uses the interface types file and text together with various types to implement them. Libraries, which support standard I/O and enable I/O for various types, are also present. Files are supported with the following libraries:
- file.s7i - Interface type describing sequential files. - null_file.s7i - Base implementation type for all files. - external_file.s7i - File implementation type describing OS files. - stdio.s7i - Standard input and output via files. - enable_io.s7i - Templates to enable file I/O for a given type. - keybd.s7i - Read from keyboard without buffering and echo. - editline.s7i - Filter file for linewise editing with history. - line.s7i - Filter file which reads the input linewise. Writing to a line file buffers lines and writes them to the base file with the next writeln or flush. - echo.s7i - Filter file which generates an echo of the input. - utf8.s7i - File implementation type for UTF-8 files. - utf16.s7i - File implementation type for UTF-16 files. - strifile.s7i - Implementation type for files stored in a string. - more.s7i - File implementation type to show another file screenwise. - socket.s7i - File implementation type for OS sockets. - dir.s7i - Implementation type to read directorys as files. - text.s7i - Interface type for line/column oriented files. - console.s7i - Text implementation type for text console/window. - graph_file.s7i - Implementation type to display graphic text. - window.s7i - Filter file for text windows with random access. - pixmap_file.s7i - Text implementation type to use a pixmap font. - bigfile.s7i - bigInteger versions of seek, tell and length. 
Operating system
Access to the operating system is supported with the following libraries:
- environment.s7i - Support for program arguments, name and path of the program and environment variables. - osfiles.s7i - Functions to copy, move and remove files and functions to obtain and change file properties such as size, type, time and mode. - dir.s7i - Implementation type to read directorys as files. - getf.s7i - Read and write whole files into and from strings. - shell.s7i - Support for shell commands 
Network
There is support for sockets and TLS/SSL. Higher level protocols, such as HTTP, HTTPS, FTP and SMTP are also supported. Example programs using this features are the comanche webserver and the programs ftp7, ftpserv, tst_cli.sd7 and tst_srv.sd7. Network connections are supported with the following libraries:
- sockbase.s7i - Support for socket address and primitive socket. - socket.s7i - File implementation type for sockets. - poll.s7i - Support for pollData and the poll function. - listener.s7i - Support for inet listener. - tls.s7i - Support for Transport Layer Security (TLS) and Secure Sockets Layer (SSL). - gethttp.s7i - Support to get data with the HTTP protocol. - gethttps.s7i - Support to get data with the HTTPS protocol. - ftp.s7i - Support for the FTP protocol. - smtp.s7i - Support for the SMTP protocol. - cgi.s7i - Support for the Common Gateway Interface. 
Graphic
The graphic libraries allow drawing, image operations, windows manipulation as well as bitmap and vector fonts. Events to redraw a window and other annoyances are managed in the graphics libraries. Graphics is used by many example programs. The mandelbr fractal viewer, the wator predator-prey simulation and the testfont bitmap and vector font demo are some of them. Graphics is supported with the following libraries:
- draw.s7i - Portable graphic library. - color.s7i - Functions for color processing. - graph_file.s7i - Implementation type to display graphic text. - dialog.s7i - Dialog support library. - graph.s7i - Basic graphic library. - imagefile.s7i - Support for various image file formats (BMP, GIF, ICO, JPEG, PNG, PBM, PGM, PPM and TIFF). - bmp.s7i - Support for the BMP image file format. - gif.s7i - Support for the GIF image file format. - ico.s7i - Support for the ICO image file format. - jpeg.s7i - Support for the JPEG image file format. - png.s7i - Support for the PNG image file format. - pbm.s7i - Support for the ASCII and binary PBM image file format. - pgm.s7i - Support for the ASCII and binary PGM image file format. - ppm.s7i - Support for the ASCII and binary PPM image file format. - tiff.s7i - Support for the TIFF image file format. - font.s7i - Defines the font interface. - bitmapfont.s7i - Font implementation type for bitmap fonts. - vectorfont.s7i - Font implementation type for vector fonts. - pixmapfont.s7i - Defines pixmapFontType and the font cache. - pixmap_file.s7i - Text implementation type to use a pixmap font. 
Database
Seed7 provides a database independent API. MySQL, MariaDB, SQLLite, PostgreSQL, Oracle, Firebird, Interbase, Db2, Informix and SQL Server databases can be accessed in a portable way. Databases are supported with the following libraries:
- sql_base.s7i - Base SQL access library. - db_prop.s7i - Collection of database properties. 
Compression
Several methods to compress and uncompress data are provided:
- gzip.s7i - Gzip uncompression function. - deflate.s7i - Deflate compression algorithm. - inflate.s7i - Inflate uncompression algorithm. - huffman.s7i - Support for Huffman coding. - lzma.s7i - Decompression with the Lempel-Ziv-Markov (LZMA) chain algorithm. - lzw.s7i - Compression and decompression with the Lempel–Ziv–Welch (LZW) algorithm. - xz.s7i - Decompression of XZ files. - zstd.s7i - Decompression of Zstandard files. - bzip2.s7i - Decompression of bzip2 files. - compress.s7i - Compression and decompression functions for PackBits of TIFF and PackBits of PDF. 
File systems
Access to the contents of archive files, to operating system files and to remote files is provided with file systems. A file system can contain several files, which have a name and are situated in directories.
- filesys.s7i - Defines fileSys the interface type for file systems. - osfiles.s7i - Defines osFileSys, a file system to access the local files of the operating system. - tar.s7i - Defines tarArchive, a file system to access the individual files in a tar archive. - zip.s7i - Defines zipArchive, a file system to access the individual files in a zip archive. - cpio.s7i - Defines cpioArchive, a file system to access the individual files in a cpio archive. - ar.s7i - Defines arArchive, a file system to access the individual files in an ar archive. - rpm.s7i - Defines rpmArchive, a file system to access the individual files in a rpm archive. - ftp.s7i - Defines ftpConnection, a file system to access files of a remote computer. 
Miscellaneous
The following libraries do not fall in a category:
- time.s7i - Time and date library. - duration.s7i - Time and date duration support library. - char.s7i - Character library. - inifile.s7i - Read key value pairs from an INI file. - propertyfile.s7i - Read key value pairs from a property-file. - htmldom.s7i - HTML dom parser. - html_ent.s7i - HTML entity handling library - html.s7i - Support functions for html - xmldom.s7i - XML dom parser. - xml_ent.s7i - XML entity handling library. - bytedata.s7i - Functions to convert byte data to and from strings. - msgdigest.s7i - Message digest and secure hash algorithms like MD4, MD5, SHA-1, SHA-224, SHA-256, SHA-384 and SHA-512. 
|  | 
 | 

