The Project and Workspace features in Seeknal provide a structured way to manage data engineering tasks and workflows. They allow users to organize their work, define data transformations, and maintain context across different tasks.
Project seeknal.project
Overview
The Project feature is designed to manage data projects effectively. It serves as a container for:
Component
Description
Project Name
The name of the project, which is used to identify it within the framework.
Project Description
A brief description of the project, providing context and purpose.
Project ID
A unique identifier for the project, used for retrieval and updates.
The Project class provides methods to create, update, and list projects, ensuring that all project-related information is organized and accessible.
Project Class
The Project class encapsulates the business logic for managing data projects within the Seeknal framework. It interacts with the ProjectRequest to perform CRUD operations and manage project-related data.
Initialization
__init__(self, name: str, description: str = "")
Initializes the project with a name and an optional description. The name is converted to snake_case format for consistency.
Methods
get_or_create(self) -> Project
Retrieves an existing project by name or creates a new one if it does not exist.
Raises a ProjectNotFoundError if the project does not exist.
Returns the updated Project object.
list() -> None
Lists all projects associated with the current context.
Displays project names, descriptions, and timestamps in a tabular format.
get_by_id(self, id: int) -> Project
Retrieves a project by its ID.
Raises a ProjectNotFoundError if the project does not exist.
Returns the Project object.
Workspace seeknal.workspace
Overview
The Workspace feature allows users to create and manage isolated environments within their projects. It serves as a container for:
Component
Description
Workspace Name
TThe name of the workspace, which defaults to the username if not provided.
Workspace Description
A brief description of the workspace, providing context and purpose..
Is Private
A boolean indicating whether the workspace is private or shared.
Workspace ID
A unique identifier for the workspace, used for retrieval and updates.
The Workspace class provides methods to create, attach offline stores, and retrieve the current workspace, ensuring that users can work on specific tasks or datasets without interference from other projects.
Workspace Class
The Workspace class manages workspace-related operations within the Seeknal framework. It allows users to create and manage isolated environments for their projects.
Initializes the workspace with a name, description, and privacy setting. The name defaults to the username if not provided and is converted to snake_case format.
Methods
get_or_create(self) -> Workspace
Retrieves an existing workspace by name and project ID or creates a new one if it does not exist.
Updates the context with the current workspace ID.