Python wrapper for DDA with APE (Actually Portable Executable) binary support
Project description
dda-py: Python Wrapper for Delay Differential Analysis
A Python wrapper for DDA with native support for APE (Actually Portable Executable) binaries, enabling cross-platform execution without platform-specific binaries.
Features
- APE Binary Support: Native support for Actually Portable Executable binaries
- Cross-Platform: Works on Windows, macOS, and Linux with the same APE binary
- Async Support: Both synchronous and asynchronous execution
- Easy Integration: Simple Python API for DDA analysis
Installation
Install the package from PyPI:
pip install dda-py
Usage
Basic Usage
import dda_py
# Initialize with APE binary path
dda_py.init("./run_DDA_AsciiEdf")
# Run DDA analysis
Q, output_path = dda_py.run_dda(
input_file="data.edf",
channel_list=["1", "2", "3"]
)
print(f"Result shape: {Q.shape}") # channels × time windows
Using DDARunner Class
from dda_py import DDARunner
# Create runner instance
runner = DDARunner("./run_DDA_AsciiEdf")
# Run analysis with options
Q, output_path = runner.run(
input_file="data.edf",
channel_list=["1", "2", "3"],
bounds=(1000, 5000), # Optional time bounds
cpu_time=True # Enable CPU timing
)
Async Usage
import asyncio
from dda_py import DDARunner
async def analyze_data():
runner = DDARunner("./run_DDA_AsciiEdf")
Q, output_path = await runner.run_async(
input_file="data.edf",
channel_list=["1", "2", "3"]
)
return Q
# Run async
result = asyncio.run(analyze_data())
APE Binary Support
This package is designed to work with APE (Actually Portable Executable) binaries. APE binaries:
- Run on Windows, macOS, and Linux without modification
- No need for platform-specific binaries
- Automatic platform detection and execution
The package automatically handles APE binary execution across different platforms using the appropriate shell interpreter when needed.
Requirements
- Python 3.6+
- NumPy >= 1.19.0
- DDA APE binary (place in your working directory)
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 dda_py-0.2.3.tar.gz.
File metadata
- Download URL: dda_py-0.2.3.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
439ca25139f85c385d478e93c21e30411aef6245d6e32276c48166b8c9b7a936
|
|
| MD5 |
51ae8e8982203a229ee6bdfb07f5b1f2
|
|
| BLAKE2b-256 |
63cbb3cc1b6483d99fb44b45ec2ee6b0451d97d828178a6a8a55871801771fac
|
File details
Details for the file dda_py-0.2.3-py3-none-any.whl.
File metadata
- Download URL: dda_py-0.2.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
affaaca682be2699f04b2ca5bbd56a3e510982e459231b0ca76103f9b366db2a
|
|
| MD5 |
07ad3c8a544ee3a5c4b6d978f92829b7
|
|
| BLAKE2b-256 |
9f4ee74b855afadbe4658a7b456eef87f093531ff187a11180d10e9679edf3c1
|