Skip to main content

License python Cov DOI DOI

🪰 Overview

SeqIKPy is a Python package that provides an implementation of inverse kinematics (IK) that is based on the open-source Python package IKPy. In constrast to the current IK approaches that aims to match only the end-effector, SeqIKPy is designed to calculate the joint angles of the fly body parts to align the 3D pose of the entire kinematic chain to a desired 3D pose. In particular, you can use SeqIKPy in the pipeline shown below.

📐 Features

  • Pose alignment: Align of 3D pose data to a fly biomechanical model, e.g., NeuroMechFly.
  • Leg inverse kinematics: Calculate leg joint angles using sequential inverse kinematics.
  • Head inverse kinematics: Calculate head and antenna joint angles using the vector dot product method.
  • Visualization and animation: Visualize and animate the results in 3D.

🗂️ Summary of directories

.
├── data: Folder containing the sample data.
├── docs: Documentation for the website.
├── examples: Examples and tutorials on how to use the package.
├── seqikpy: Main package.
└── tests: Tests for the package.

📚 Documentation

Documentation can be found here.

🛠️ Installation

If you aim to purely use SeqIKPy as a dependency for your project, you can install the newest version of the package manually by running the following line in the terminal:

# Optionally create/activate a virtual environment first. Then,
$ pip install seqikpy

If you plan to follow the tutorial or help develop SeqIKPy, you should download the data/ directory, which contains sample data for demonstration and testing. In this case, you should clone this GitHub repository and installing it locally instead of downloading it from PyPI:

# Optionally create/activate a virtual environment first. Then,
$ git clone git@github.com:NeLy-EPFL/sequential-inverse-kinematics.git
# ... or with HTTP: git clone https://github.com/NeLy-EPFL/sequential-inverse-kinematics.git
$ cd sequential-inverse-kinematics/

# Install the package locally (development mode)
$ pip install -e ".[dev]" --config-settings editable_mode=compat
# ... where editable_mode=compat helps static code analyzers in IDEs parse your code better

# Alternatively, use uv for faster dependency resolution (`pip install uv` first)
$ uv pip install -e ".[dev]"

🏁 Quick Start

Please see the quick start guide here.

💻 Contributing

We welcome contributions from the community. If you would like to contribute to the project, please refer to the contribution guidelines. Also, read our code of conduct. If you have any questions, please feel free to open an issue or contact the developers.

📖 License

This project is licensed under the Apache 2.0 License.

🐞 Issues

If you encounter any bugs or request a new feature, please open an issue in our issues page.

💬 Citing

If you find this package useful in your research, please consider citing it using the following BibTeX entry:

@article{ozdil2026seqikpy,
  title={SeqIKPy: a Python package for inverse kinematics in insects},
  author={{\"O}zdil, Pembe Gizem and Wang-Chen, Sibo and Ning, Chuanfang and Ijspeert, Auke and Ramdya, Pavan},
  journal={Journal of Open Source Software},
  volume={11},
  number={117},
  pages={8557},
  year={2026}
}

Metadata

Release files for seqikpy 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for seqikpy 1.1.0
File Size Uploaded Provenance
seqikpy-1.1.0.tar.gz 49.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for seqikpy 1.1.0
File Interpreter ABI Platform
seqikpy-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 91.0 kB

Release files / seqikpy-1.1.0.tar.gz

Download URL seqikpy-1.1.0.tar.gz
Size 49.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d0e7e4a681679b329c7e757b380c35e8827fa66eaa1294cf57a5c9bff41355db
BLAKE2b-256 checksum
How to use checksums
ef33d4e35e5c799961ac630b15dcfd40cc9e59d67e23ff0fe2e8c82744275cc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / seqikpy-1.1.0-py3-none-any.whl

Download URL seqikpy-1.1.0-py3-none-any.whl
Size 41.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a42c2f874f64dcae26c06f6b8328061f6c04b686f3473ab7e16dfa93eec0849
BLAKE2b-256 checksum
How to use checksums
e037f1e0426a33c7e361509752614297554d1e687aebe69128a7a1d394b17c93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for seqikpy 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page