Infrastructure
[!WARNING] Cot is currently missing a lot of features and is not ready for anything even remotely close to production use. That said, you are more than welcome to try it out and provide feedback!
Cot is an easy to use, modern, and fast web framework for Rust. It has been designed to be familiar if you've ever used Django, and easy to learn if you haven't. It's a batteries-included framework built on top of axum.
To get started with Cot, you need to have Rust installed. If you don't have it yet, you can install it by following the instructions on the official Rust website.
Then, you need to install cot-cli by running:
cargo install cot-cli
After that, you can create a new project by running:
cot new my_project
This will create a new project in the my_project
directory. You can then navigate to the project directory and run
the following command to start the development server:
cargo run
We recommend you to read the official guide to learn more about Cot and how to use it.
If you prefer to use your operating system's package manager to manage the cot-cli
package, you can find it in the
repositories listed in the “Packaging status” badge on the right. Note that most of these packages are maintained by
the community, so you should always check what exactly is included in the package. Moreover, the version in the package
manager might not be the latest one, so we recommend just using the official package which can be installed with
cargo install cot-cli
.
Tests that require using external databases are ignored by default. In order to run them, execute the following in the root of the repository:
docker compose up -d
cargo test --all-features -- --include-ignored
You can them execute the following command to stop the database:
docker compose down
Cot is licensed under either of the following, at your option:
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Cot by you shall be dual licensed under the MIT License and Apache License, Version 2.0, without any additional terms or conditions.