Skip to main content

No project description provided

Project description

pysimio

Description

pySimio is the official Python Library wrapper for the Simio Portal REST API.

Installation

pip install pysimio

Usage

import pysimio

# Example usage
```python
from pysimio import pySimio

simio_portal_url = "https://simio.portal"
personal_access_token = os.getenv("PERSONAL_ACCESS_TOKEN")

api = pySimio(simio_portal_url)
api.authenticate(personalAccessToken=personal_access_token)

Available Methods

Additional documentation and usage examples are coming soon.

  • status: Return the current heartbeat status from the Simio Portal Instance
  • reauthenticate: Attempts to reauthenticate to the API using the PAT provided during authentication
  • authenticate: Authenticate to the API using a PAT or SAML Assertion
  • getModels: Returns a json list of all current Simio Portal models
  • getModel: Returns an instance of the SimioModel class
  • getModelTable: Returns a json representation of a table on a Simio Portal model
  • getExperiments: Returns a json list of all current Simio Portal expermients on a model
  • getExperiment: Returns an instance of the SimioExperiment class
  • publishPlan: Publish a specific Simio Plan within Simio Portal
  • uploadAndPublishPlan: Upload a Simio Model, and publish the plan within Simio Portal
  • getRuns: Returns a json list of all current Simio Portal runs
  • getRun: Returns a json representation of a specific Simio Portal run
  • deleteRun: Delete a specific Simio Run within Simio Portal
  • cancelRun: Cancels a specific Simio Run within Simio Portal
  • setRunTimeOptions: Sets the Time Options on a specific Simio Portal Run
  • cancelPlan: Cancels a specific Simio Plan within Simio Portal
  • createRun: Creates a new Simio Run within Simio Portal
  • startRun: Creates and starts a new Simio Experiment run within Simio Portal. To update control parameters, you would add them to the "scenarios" section in the JSON and run it again.
  • createRunFromExisting: Create a new instances of a Simio Run within Simio Portal from an existing Simio Run
  • startRunFromExisting: Start a new run of a Simio Run from an existing Simio Run
  • getExport: Returns a json representation of a Simio Export from Simio Portal
  • getImport: Returns a json representation of a Simio Import from Simio Portal
  • getTableData: Returns a json representation of a Simio Table
  • deleteModel: Deletes a Simio Model from Simio Portal
  • deleteProject: Deletes a Simio Project from Simio Portal
  • uploadProject: Upload a new Simio Project file to Simio Portal
  • getProjects: Returns a json list of existing Simio Projects from Simio Portal
  • getProject: Returns a json representation of a Simio Project from Simio Portal
  • setControlValues: Update Control Values
  • setScenarioName: Update Scenario Name in a Simio Run within Simio Portal
  • getScenarios: Returns a json representation of a Simio Portal Scenario from a specified run

Classes

@dataclass
class SimioDataClass:
    def as_json(self, include_null: bool = False) -> dict:
        return asdict(
                self,
                dict_factory=lambda fields: {
                    key: value
                    for (key, value) in fields
                    if value is not None or include_null
                },
            )
    
    @classmethod
    def from_json(cls, data: dict):

        return cls(**data)  # Create an instance of the dataclass
        
@dataclass
class SimioExperiment(SimioDataClass):
    id: int
    name: Optional[str] = None
    modelId: Optional[int] = None
    modelName: Optional[str] = None
    projectName: Optional[str] = None
    hasExperimentRuns: Optional[bool] = None
    hasPlanRuns: Optional[bool] = None

@dataclass
class SimioModel(SimioDataClass):
    id: int
    name: Optional[str] = None
    projectId: Optional[int] = None
    projectName: Optional[str] = None
    projectOwner: Optional[str] = None
    projectUploadDateTime: Optional[str] = None
    projectSavedDate: Optional[str] = None
    projectSavedInVersion: Optional[str] = None

License

This project is licensed under the Apache License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysimio-1.7.0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysimio-1.7.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file pysimio-1.7.0.tar.gz.

File metadata

  • Download URL: pysimio-1.7.0.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.0 Linux/6.11.0-1018-azure

File hashes

Hashes for pysimio-1.7.0.tar.gz
Algorithm Hash digest
SHA256 f9418b4d7148f901f94f558ad999e0e4c6d87e5670feb641d2f0b07c04993971
MD5 b3febcf1f3afecaf46a51d6fc61c0908
BLAKE2b-256 245be6bfbb79ef7aed589b007a7bbfa14e370d75d8141fd26c4ec4dd495a9baa

See more details on using hashes here.

File details

Details for the file pysimio-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: pysimio-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.0 Linux/6.11.0-1018-azure

File hashes

Hashes for pysimio-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f5fec204e221e662995e257dc6095d43e5fad83cc55792eaee24eafd7bf708c
MD5 47d94fbe0a076fb64af0617f6b146a1d
BLAKE2b-256 c9099870d94520db9852294adab8264572473ea22a136b2ec3ce3a3e7c7d0d0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page