{"id":22335832,"url":"https://github.com/translunar/pyquat","last_synced_at":"2025-07-25T00:18:00.348Z","repository":{"id":57456323,"uuid":"49449618","full_name":"translunar/pyquat","owner":"translunar","description":"Fast unit quaternion code for Python written in C","archived":false,"fork":false,"pushed_at":"2023-10-19T23:21:00.000Z","size":161,"stargazers_count":11,"open_issues_count":6,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-11-13T02:10:42.813Z","etag":null,"topics":["physics","physics-simulation","python","quaternions","unit-quaternions"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/translunar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-01-11T19:39:56.000Z","updated_at":"2023-04-14T22:49:04.000Z","dependencies_parsed_at":"2023-10-23T16:42:07.950Z","dependency_job_id":null,"html_url":"https://github.com/translunar/pyquat","commit_stats":{"total_commits":76,"total_committers":5,"mean_commits":15.2,"dds":0.3157894736842105,"last_synced_commit":"59f17ec3cf963b5f9a91bbfffea8418f93ee0104"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/translunar%2Fpyquat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/translunar%2Fpyquat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/translunar%2Fpyquat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/translunar%2Fpyquat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/translunar","download_url":"https://codeload.github.com/translunar/pyquat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228046844,"owners_count":17861109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["physics","physics-simulation","python","quaternions","unit-quaternions"],"created_at":"2024-12-04T05:15:23.626Z","updated_at":"2025-07-25T00:18:00.329Z","avatar_url":"https://github.com/translunar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyquat\n\npyquat is a Python C extension providing quaternions and functions relating to simulation of attitudes and rotations.\nThis might be useful for video games, spacecraft simulators, and sensors such as LIDARs and star trackers which provide\nattitude information. You can use them in place of rotation matrices. Unit quaternions represent attitude as half of the\nsurface of a unit sphere in four dimensions (SO3).\n\n[![Build Status](https://travis-ci.org/translunar/pyquat.svg?branch=master)](https://travis-ci.org/translunar/pyquat)\n\n[![image](http://img.shields.io/pypi/v/pyquat.svg)](https://pypi.python.org/pypi/pyquat/)\n\n## Developers\n\nNote that since Travis discontinued free CI for open source projects, our CI pipeline\nhas stopped working. The correct sequence to run before initiating a pull request is:\n\n    pip3 install -r requirements.txt\n    python3 setup.py build_ext --inplace\n    python3 setup.py test\n    cd pyquat/\n    mypy .  --config-file=mypy.ini --exclude=build --explicit-package-bases --strict\n\n## Installation\n\n    python3 setup.py build\n    python3 setup.py install\n\n## Usage\n\n    from pyquat import Quat\n    import pyquat\n\n    q = pyquat.identity()\n\n    q4 = Quat(0.73029674334022143, 0.54772255750516607, 0.36514837167011072, 0.18257418583505536)\n    q2 = q * q4.conjugated()\n    q2.normalize()\n    q2.conjugate()\n\n    transform = q2.to_matrix()\n\n    vec = q2.to_rotation_vector()\n\n## License\n\nCopyright 2016--2023 Juno Woods, Ph.D., and Translunar LLC.\n\nSee LICENSE.txt.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranslunar%2Fpyquat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftranslunar%2Fpyquat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranslunar%2Fpyquat/lists"}