Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rust-qt/ritual
Use C++ libraries from Rust
https://github.com/rust-qt/ritual
cpp cpp-bindings crates qt qt-crate qt-generator rituals rust rust-bindings rust-crate rust-generator
Last synced: 4 days ago
JSON representation
Use C++ libraries from Rust
- Host: GitHub
- URL: https://github.com/rust-qt/ritual
- Owner: rust-qt
- License: apache-2.0
- Created: 2016-04-28T18:15:59.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2023-04-12T22:58:33.000Z (over 1 year ago)
- Last Synced: 2024-10-29T15:20:59.303Z (about 2 months ago)
- Topics: cpp, cpp-bindings, crates, qt, qt-crate, qt-generator, rituals, rust, rust-bindings, rust-crate, rust-generator
- Language: Rust
- Homepage:
- Size: 3.36 MB
- Stars: 1,239
- Watchers: 30
- Forks: 49
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# ritual
[![Build Status](https://travis-ci.com/rust-qt/ritual.svg?branch=master)](https://travis-ci.com/rust-qt/ritual/branches)
`ritual` allows to use C++ libraries from Rust. It analyzes the C++ API of a library and generates a fully-featured crate that provides convenient (but still unsafe) access to this API.
The main motivation for this project is to provide access to Qt from Rust. Ritual provides large amount of automation, supports incremental runs, and implements compatible API evolution. This is mostly dictated by the huge size of API provided by Qt and significant API differences between Qt versions. However, ritual is designed to be universal and can also be used to easily create bindings for other C++ libraries.
More information is available on [rust-qt.github.io](https://rust-qt.github.io/):
- [How to use Qt from Rust](https://rust-qt.github.io/qt/)
- [Ritual overview](https://rust-qt.github.io/ritual/)
- [How to use Ritual on a C++ library of your choice](https://rust-qt.github.io/processing_cpp_library/)
- [Blog](https://rust-qt.github.io/blog/)# License
This project is licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)at your option.
If you use Qt, you should also take into account [Qt licensing](https://www.qt.io/licensing/).
# Contributing
Contributions are always welcome! You can contribute in different ways:
- Submit a bug report, a feature request, or an improvement suggestion at the [issue tracker](https://github.com/rust-qt/ritual/issues);
- Write a test or an example for a Qt crate (porting examples from the official Qt documentation is a good option);
- Pick up an issue with [help wanted](https://github.com/rust-qt/ritual/labels/help%20wanted) tag.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.