StarkNet/Cairo development toolbelt
Project description
⛵ Nile
Navigate your StarkNet projects written in Cairo.
Getting started
Create a folder for your project and cd
into it:
mkdir myproject
cd myproject
Create a virtualenv and activate it:
python3 -m venv env
source env/bin/activate
Install nile
:
pip install cairo-nile
Use nile
to quickly set up your development environment:
nile init
...
✨ Cairo successfully installed!
...
✅ Dependencies successfully installed
🗄 Creating project directory tree
⛵️ Nile project ready! Try running:
This command creates the project directory structure and installs cairo-lang
, pytest
, and pytest-asyncio
for you. The template includes a makefile to build the project (make build
) and run tests (make test
).
Usage
compile
Compile Cairo contracts. Compilation articacts are written into the artifacts/
directory.
nile compile # compiles all contracts under contracts/
nile compile contracts/MyContract.cairo # compiles single contract
Example output:
$ nile compile
Creating artifacts/abis/ to store compilation artifacts
🤖 Compiling all Cairo contracts in the contracts/ directory
🔨 Compiling contracts/Account.cairo
🔨 Compiling contracts/Initializable.cairo
🔨 Compiling contracts/Ownable.cairo
✅ Done
clean
Deletes the artifacts/
directory for a fresh start ❄️
nile clean
install
Install the latest version of the Cairo language
nile install
version
Print out the Nile version
nile version
Hacking on Nile
Nile uses tox to manage development tasks, you can get a list of
available task with tox -av
.
- Install a development version of the package with
python -m pip install .
- Run tests with
tox
- Build the package with
tox -e build
- Format all files with
tox -e format
- Check files formatting with
tox -e lint
License
Nile is released under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cairo_nile-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62c45ddfeeaca7991e2c87b4a7459b3052c98401ac62f5b4563fd5c6981aa24c |
|
MD5 | 4b8e2927387cc7ffd98e5f6bdb2aef3b |
|
BLAKE2b-256 | 06ad99e96716c5115d6b05b693cbbe0a87c6af1bff67b2f1a89c61d165295e68 |