Skip to main content

Python automation API for Earth Volumetric Studio

Project description

EVS Automation for Python

Python automation API for Earth Volumetric Studio, a commercial product of C Tech Development Corporation.

This library provides a workflow for controlling EVS from any Python 3 environment. Care has been taken to enable the same functionality as the internal Python API, as well as additional features specifically intended to function from automated workflows.

Features

  • Process Management: Start new, or connect to existing EVS processes, and automate actions
  • Full EVS Python API: The evs.* Python functions have all been ported, so scripts written inside EVS can be migrated to work via automation with few, minor changes.
  • New API Additions: Additional API functions are available, including loading .evs applications, running existing Python scripts, and shutting down EVS

Requirements

  • Windows (uses Win32 APIs for communication with EVS)
  • Python 3.12+
  • Earth Volumetric Studio 2026.3+

Installation

pip install evs-automation

Dependencies (pywin32, psutil, packaging) are installed automatically.

Quick Start

import evs_automation

try:
    # Launch a new EVS process
    with evs_automation.start_new() as evs:
        # Load an application
        evs.load_application('C:\\Projects\\my application.evs')

        # Note that the syntax below is identical to the internal EVS Python script syntax

        # Instance a titles module and set the title
        newmodule = evs.instance_module('titles', 'titles', 363, 679)
        evs.connect(newmodule, 'Output Object', 'viewer', 'Objects')
        evs.set_module(newmodule, 'Properties', 'Title', 'Title added from script')
        evs.set_module(newmodule, 'Positioning', 'Anchor Side', 0)

        # Execute a Python script
        evs.execute_python_script('C:\\Projects\\export_data.py')

        # EVS (by default) will shut down at this point automatically
except Exception as e:
    print(f"Received exception: {e}")

Contributing

Thank you for considering contributing to this project! We welcome all contributions, from minor fixes to major features. To ensure effective and smooth collaboration, please follow these guidelines:

Contributing Code

  1. Check and Open Issues: Before contributing, please check if there are existing issues on GitHub related to your problem or suggestion. If not, open a new one and share the details.

  2. Pull Requests: If you want to make changes, first fork the repository, create a branch for your topic, and then submit a pull request. In your pull request, clearly explain what changes you made and why.

  3. Code Review: The project maintainers will review your pull request. If there are any comments, please respond to them actively.

Code of Conduct

We aim to provide all contributors and maintainers with a safe and positive experience. Therefore, we ask you to follow this code of conduct, which is based on the Contributor Covenant:

  • Respect Each Other: Treat everyone working on the project respectfully, regardless of background.

  • Promote Inclusivity: Actively promote inclusivity and welcome diverse perspectives.

  • Maintain a Harassment-Free Environment: Avoid any behavior seen as harassment and maintain a harassment-free environment.

License

evs-automation is licensed under the MIT License. See LICENSE for more details.

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

evs_automation-0.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

evs_automation-0.1.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file evs_automation-0.1.0.tar.gz.

File metadata

  • Download URL: evs_automation-0.1.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for evs_automation-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9b76925f6fd296037a6996dfc3502ce803e8f592c2f8e66fbd223898881f2251
MD5 555b69b8e5852acabad3d379e16d346e
BLAKE2b-256 fc86b086cb0fc220df92d66eff47f85652a433c04ae0b293ab68201822cd6883

See more details on using hashes here.

Provenance

The following attestation bundles were made for evs_automation-0.1.0.tar.gz:

Publisher: publish.yml on CTechCorp/evs-python-automation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file evs_automation-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: evs_automation-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for evs_automation-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76b2b95b97430fb8205bd3f365097a8a5d94acccb32b63166a6844dc23d51285
MD5 e9b005f313ee9cc0951b379ae4159c3a
BLAKE2b-256 b42d1d360b3cd5b0beaaa9caee8b02c332e61f913c3da1f8ebe104b81750b476

See more details on using hashes here.

Provenance

The following attestation bundles were made for evs_automation-0.1.0-py3-none-any.whl:

Publisher: publish.yml on CTechCorp/evs-python-automation

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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