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.5.0.tar.gz (11.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.5.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pysimio-1.5.0.tar.gz
Algorithm Hash digest
SHA256 b20c3317bdda23948a796b43277f97087c8e089b0886982c57337e5a7c69bf3f
MD5 6904fb18c0b56470cea287a2377df20f
BLAKE2b-256 9c1187294f1c1df1e8466971bd83b136e33c0a198f5c838dc9d7b90121061f5d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pysimio-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d9d93683cdd77c96b0aa8b25c1ef0d84e679a8850544b7ce7c84cbb69fb4ae1
MD5 6c66e627215ad5eeb6d754928b9268d9
BLAKE2b-256 4d2ebf5810b9a2b8f1e07c7b875cb408906498f9e67299f2e35c463edaf20788

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