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
-
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.
-
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.
-
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b76925f6fd296037a6996dfc3502ce803e8f592c2f8e66fbd223898881f2251
|
|
| MD5 |
555b69b8e5852acabad3d379e16d346e
|
|
| BLAKE2b-256 |
fc86b086cb0fc220df92d66eff47f85652a433c04ae0b293ab68201822cd6883
|
Provenance
The following attestation bundles were made for evs_automation-0.1.0.tar.gz:
Publisher:
publish.yml on CTechCorp/evs-python-automation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evs_automation-0.1.0.tar.gz -
Subject digest:
9b76925f6fd296037a6996dfc3502ce803e8f592c2f8e66fbd223898881f2251 - Sigstore transparency entry: 1108280597
- Sigstore integration time:
-
Permalink:
CTechCorp/evs-python-automation@31da7ecc62daae7b5ff182896366966e090f7b5c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/CTechCorp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@31da7ecc62daae7b5ff182896366966e090f7b5c -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b2b95b97430fb8205bd3f365097a8a5d94acccb32b63166a6844dc23d51285
|
|
| MD5 |
e9b005f313ee9cc0951b379ae4159c3a
|
|
| BLAKE2b-256 |
b42d1d360b3cd5b0beaaa9caee8b02c332e61f913c3da1f8ebe104b81750b476
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evs_automation-0.1.0-py3-none-any.whl -
Subject digest:
76b2b95b97430fb8205bd3f365097a8a5d94acccb32b63166a6844dc23d51285 - Sigstore transparency entry: 1108280607
- Sigstore integration time:
-
Permalink:
CTechCorp/evs-python-automation@31da7ecc62daae7b5ff182896366966e090f7b5c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/CTechCorp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@31da7ecc62daae7b5ff182896366966e090f7b5c -
Trigger Event:
release
-
Statement type: