/alexandria

Community maintained Cairo libraries and set of well maintained, optimised and secure components.

Primary LanguageCairoMIT LicenseMIT

Alexandria


Report a Bug - Request a Feature - Ask a Question

GitHub Workflow Status Project license Pull Requests welcome

Exploration_Team

Table of Contents

About

Alexandria is a community maintained standard library for Cairo 1.0. It is a collection of useful algorithms and data structures implemented in Cairo. Current version can be found in the toml file

Features

This repository is composed of multiple crates:

Getting Started

Prerequisites

Installation

Alexandria is a collection of utility Cairo packages, which have to be added as dependencies separately. For example, the alexandria_math package can be installed by adding the following line to your Scarb.toml:

[dependencies]
alexandria_math = { git = "https://github.com/keep-starknet-strange/alexandria.git" }

then add the following line in your .cairo file

use alexandria_math::sha512::sha512;

Usage

Build

scarb build

Test

scarb test

Running a specific subset of tests

scarb test -f math

Format

scarb fmt

Roadmap

See the open issues for a list of proposed features (and known issues).

Support

Reach out to the maintainer at one of the following places:

Project assistance

If you want to say thank you or/and support active development of Alexandria:

  • Add a GitHub Star to the project.
  • Tweet about the Alexandria.
  • Write interesting articles about the project on Dev.to, Medium or your personal blog.

Together, we can make Alexandria better!

Contributing

First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please read our contribution guidelines, and thank you for being involved!

Authors & contributors

For a full list of all authors and contributors, see the contributors page.

Security

Alexandria follows good practices of security, but 100% security cannot be assured. Alexandria is provided "as is" without any warranty. Use at your own risk.

For more information and to report security issues, please refer to our security documentation.

License

This project is licensed under the MIT license.

See LICENSE for more information.

Acknowledgements

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Abdel @ StarkWare
Abdel @ StarkWare

💻
Santiago Galván (Dub)
Santiago Galván (Dub)

💻
Damián Piñones
Damián Piñones

💻
greged93
greged93

💻
Marek Kaput
Marek Kaput

💻
amanusk
amanusk

💻
Mathieu
Mathieu

💻
0xevolve
0xevolve

💻
Jordy Romuald
Jordy Romuald

💻
gaetbout
gaetbout

💻
Lucas @ StarkWare
Lucas @ StarkWare

💻
Milan Cermak
Milan Cermak

💻
Paweł
Paweł

💻
Ondřej Sojka
Ondřej Sojka

💻
tedison
tedison

💻
raphaelDkhn
raphaelDkhn

💻
Charles Lanier
Charles Lanier

💻
omahs
omahs

💻
Maciej Kamiński
Maciej Kamiński

💻
Bal7hazar @ Carbonable
Bal7hazar @ Carbonable

💻
kahi
kahi

💻
0xTitan
0xTitan

💻
Erim
Erim

💻
maciektr
maciektr

💻
lambda-0x
lambda-0x

💻
Elias Tazartes
Elias Tazartes

💻
akhercha
akhercha

💻
azurwastaken
azurwastaken

💻
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!