Alexandria
Community maintained Cairo libraries and set of well maintained, optimised and secure components.
Install / Use
/learn @keep-starknet-strange/AlexandriaREADME
- Report a Bug
- Request a Feature
- About
- Version
- Packages
- Getting Started
- Usage
- Documentation
- Security
- Roadmap
- Support
- Project assistance
- Contributing
- Authors & contributors
- License
- Acknowledgements
- Contributors ✨
About
Alexandria is a community maintained standard library for Cairo. It is a collection of useful algorithms and data structures implemented in Cairo. Current version can be found in the toml file
Version
Current version is 0.10.0 compatible with Cairo 2.16.0
Packages
This repository is composed of multiple crates:
- ASCII
- Data Structures
- Encoding
- Linalg
- Math
- Numeric
- Searching
- Sorting
- Storage
- Bytes
- Evm
- Json
- Macros
- Merkle Tree
- Utils
- Bitcoin
Getting Started
Prerequisites
Installation from Scarb registries
- ASCII :
scarb add alexandria_ascii@0.10.0 - Data Structures :
scarb add alexandria_data_structures@0.10.0 - Encoding :
scarb add alexandria_encoding@0.10.0 - Linalg :
scarb add alexandria_linalg@0.10.0 - Math :
scarb add alexandria_math@0.10.0 - Merkle Tree :
scarb add alexandria_merkle_tree@0.10.0 - Numeric :
scarb add alexandria_numeric@0.10.0 - Searching :
scarb add alexandria_searching@0.10.0 - Sorting :
scarb add alexandria_sorting@0.10.0 - Storage :
scarb add alexandria_storage@0.10.0 - Bytes :
scarb add alexandria_bytes@0.10.0 - Evm :
scarb add alexandria_evm@0.10.0 - Bitcoin :
scarb add alexandria_btc@0.10.0 - Json :
scarb add alexandria_json@0.10.0
Usage
Build
scarb build
Test
snforge test
Running a specific subset of tests
snforge test -f math
Format
scarb fmt
Documentation
Security
Alexandria follows good practices of security, but 100% security cannot be assured. The codebase is not audited and is actively developed, with no professional security checks performed on it. Alexandria is provided "as is" without any warranty. Use at your own risk.
We highly recommend writing your own tests for your specific use cases.
For more information and to report security issues, please refer to our security documentation.
Roadmap
See the open issues for a list of proposed features (and known issues).
- Top Feature Requests (Add your votes using the 👍 reaction)
- Top Bugs (Add your votes using the 👍 reaction)
- Newest Bugs
Support
Reach out to the maintainer at one of the following places:
- GitHub Discussions
- Contact options listed on this GitHub profile
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.
License
This project is licensed under the MIT license.
See LICENSE for more information.
Acknowledgements
- TheAlgorithms/Rust for inspiration regarding the implementation of algorithms.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/abdelhamidbakhta"><img src="https://avatars.githubusercontent.com/u/45264458?v=4?s=100" width="100px;" alt="Abdel @ StarkWare "/><br /><sub><b>Abdel @ StarkWare </b></sub></a><br /><a href="https://github.com/keep-starknet-strange/alexandria/commits?author=abdelhamidbakhta" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sdgalvan"><img src="https://avatars.githubusercontent.com/u/58611754?v=4?s=100" width="100px;" alt="Santiago Galván (Dub)"/><br /><sub><b>Santiago Galván (Dub)</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/alexandria/commits?author=sdgalvan" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/dpinones"><img src="https://avatars.githubusercontent.com/u/30808181?v=4?s=100" width="100px;" alt="Damián Piñones"/><br /><sub><b>Damián Piñones</b></sub></a><br /><a href="https://github.com/keep-starknet-strange/alexandria/commits?author=dpinones" title="Code">💻</a></td> <td aligRelated Skills
node-connect
334.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.2kCommit, push, and open a PR
