--- title: Create custom Python components slug: /components-custom-components --- import Icon from "@site/src/components/icon"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import PartialBasicComponentStructure from '../_partial-basic-component-structure.mdx'; Create your own custom components to add any functionality you need to Langflow, from API integrations to data processing. In Langflow's node-based environment, each node is a "component" that performs discrete functions. Custom components in Langflow are built upon: * The Python class that inherits from `Component`. * Class-level attributes that identify and describe the component. * [Input and output lists](#inputs-and-outputs) that determine data flow. * Methods that define the component's behavior and logic. * Internal variables for [Error handling and logging](#error-handling-and-logging) Use the [Custom component quickstart](#quickstart) to add an example component to Langflow, and then use the reference guide that follows for more advanced component customization. ## Custom component quickstart {#quickstart} Create a custom `DataFrameProcessor` component by creating a Python file, saving it in the correct folder, including an `__init__.py` file, and loading it into Langflow. ### Create a Python file ### Save the custom component {#custom-component-path} Save the custom component in the Langflow directory where the UI will discover and load it. By default, Langflow looks for custom components in the `src/lfx/src/lfx/components` directory. When saving components in the default directory, components must be organized in a specific directory structure to be properly loaded and displayed in the visual editor. Components must be placed inside category folders, not directly in the base directory. The category folder name determines where the component appears in the Langflow