> For the complete documentation index, see [llms.txt](https://docs.astrakode.tech/akb-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.astrakode.tech/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/imports.md).

# Imports

## Introduction

Imports are external files (contracts) that can be added to a project in order to extend its functionality or start with an already defined framework and extend it.

## Configuration

Assign a specific and descriptive name to your import to clearly indicate its purpose and distinguish it from other imports. A well-chosen name helps to infer the import's functionality.

**Import Types**

The type of import determines its necessity and utility within the project. Each type serves different purposes:

* **Contract Imports**: Used to deploy other contracts from the current contract.
* **Inheritance Imports**: Used as a base contract to be extended by the current contract.
* **Library Imports**: Add functionality to the current contract by providing additional functions and/or data entities in the form of a library.

This classification helps you organize and utilize imports effectively, ensuring each import serves its intended purpose within your project.

<figure><img src="/files/4RmhwRMrC2K82dtLmQey" alt=""><figcaption></figcaption></figure>

## Types

* [**Contract**](/akb-wiki/astrakode-wiki/smart-contract-ide/technologies/ethereum/components/contracts.md)**:** Contract Imports are imports used to deploy other contracts from the current contract. Once a contract is imported this way, it will be possible to deploy it via the Contract Instantiation Element in any of this contract's Functions flows.
* **Inheritance:** Inheritance Imports are used to import contracts that can be extended through inheritance. When a contract is extended this way, the extending contract inherits the structure and functions of the imported contract. For abstract contracts, the extending contract can or should implement the unimplemented functions. ![](/files/T9PxZELpjaLHpeyqrPtm)
* **Library:** Library Imports are imports that add functionality to the current contract by providing additional functions and/or data entities in the form of a library. Such additional functions and data entities can then be freely utilized by the importer contract.
