Taipy Core¶
The Taipy Core package is a Python library designed to build powerful, customized, data-driven back-end applications. It provides the tools to help Python developers transform their algorithms into a complete back-end application. More details on the Taipy Core functionalities are available in the user manual.
To build a Taipy Core application, the first step consists of setting up the Taipy configuration to design
your application's characteristics and behaviors.
Import Config
from the taipy.config
module, then use the various methods of the Config
singleton class to
configure your core application. In particular, configure the
data nodes, tasks,
and scenarios.
Please refer to the Core configuration user manual for more information and
detailed examples.
Once your application is configured, import module import taipy as tp
so you can use any function described
in the following section on Functionc. In particular, the most used functions are tp.create_scenario()
,
tp.get_scenarios()
, tp.get_data_nodes()
, tp.submit()
, used to get, create, and submit entities.
Note
Taipy Core provides a runnable service, Core
that runs as a service in a dedicated thread. The purpose is to
have a dedicated thread responsible for dispatching the submitted jobs to an available executor for their execution.
In particular, this Core
service is automatically run when Core is used with Taipy REST or Taipy GUI. See the
running services page of the user manual for more details.
Types¶
CycleId
: Type that holds aCycle
identifier.DataNodeId
: Type that holds aDataNode
identifier.JobId
: Type that holds aJob
identifier.ScenarioId
: Type that holds aScenario
identifier.SequenceId
: Type that holds aSequence
identifier.TaskId
: Type that holds aTask
identifier.Edit
: Type that holds aDataNode
edit information.
Functions¶
cancel_job()
: Cancel a job and set the status of the subsequent jobs to ABANDONED.clean_all_entities_by_version()
: Delete all entities of a specific version.compare_scenarios()
: Compare the data nodes of several scenarios.create_global_data_node()
: Create and return a new GLOBAL data node from a data node configuration.create_scenario()
: Create and return a new scenario based on a scenario configuration.delete()
: Delete an entity and its nested entities.delete_job()
: Delete a job.delete_jobs()
: Delete all jobs.exists()
: Check if an entity with the specified identifier exists.export_scenario()
: Export all related entities of a scenario to a folder.get()
: Retrieve an entity by its unique identifier.get_cycles()
: Return the list of all existing cycles.get_cycles_scenarios()
: Get the scenarios grouped by cycles.get_data_nodes()
: Return all the existing data nodes.get_entities_by_config_id()
: Get the entities by its config id.get_jobs()
: Return all the existing jobs.get_latest_job()
: Return the latest job of a task.get_parents()
: Get the parents of an entity from itself or its identifier.get_primary()
: Retrieve the primary scenario associated with a cycle.get_primary_scenarios()
: Retrieve a list of all primary scenarios.get_scenarios()
: Retrieve a list of existing scenarios filtered by cycle or tag.get_sequences()
: Return all existing sequences.get_tasks()
: Retrieve a list of all existing tasks.is_deletable()
: Check if aScenario
or aJob
can be deleted.is_editable()
: Indicate if an entity can be edited.is_promotable()
: Determine if a scenario can be promoted to become a primary scenario.is_readable()
: Indicate if an entity can be read.is_submittable()
: Indicate if an entity can be submitted.set()
: Save or update an entity.set_primary()
: Promote a scenario as the primary scenario of its cycle.submit()
: Submit a scenario, sequence or task entity for execution.subscribe_scenario()
: Subscribe a function to be called on job status change.subscribe_sequence()
: Subscribe a function to be called on job status change.tag()
: Add a tag to a scenario.unsubscribe_scenario()
: Unsubscribe a function that is called when the status of aJob
changes.unsubscribe_sequence()
: Unsubscribe a function that is called when the status of a Job changes.untag()
: Remove a tag from a scenario.
Classes¶
Core
: Core serviceCycle
: An iteration of a recurrent work pattern.DataNode
: Reference to a dataset.Job
: Execution of aTask
.MongoDefaultDocument
: The default class for "custom_document" property to configure aMongoCollectionDataNode
.Scenario
: Instance of a Business case to solve.Sequence
: List ofTask
s and additional attributes representing a set of data processing elements connected as a direct acyclic graph.Status
: Execution status of aJob
.Submittable
: Instance of an entity that can be submitted for execution.Task
: Hold a user function that will be executed, its parameters and the results.