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.6.0.tar.gz (11.6 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.6.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pysimio-1.6.0.tar.gz
  • Upload date:
  • Size: 11.6 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.6.0.tar.gz
Algorithm Hash digest
SHA256 eb5d0dc66488529f6a3715ede5b845bfd0244066d4f7cb3cf1b7649d173564c3
MD5 f2a0817786aa59363a76b350249e16d2
BLAKE2b-256 da50bdf0dc65592966ac11a0c5227935723f4c22a2b64f248f62fd6707c44cbe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysimio-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 12.7 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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d92b83ced2441dac565a4081447473c4b07f24872fd324590e6c2cc1e19acf4d
MD5 57f88e0e12c36e39f877e36a55b951df
BLAKE2b-256 4d91d4e0c025d16e2a914709a99b750e1475e5e8073c0c8237d2353560ac6ce3

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