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:
nile compile
This command creates the project directory structure and installs cairo-lang, pytest, and pytest-asyncio for you.
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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cairo-nile-0.0.12.tar.gz.
File metadata
- Download URL: cairo-nile-0.0.12.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b15b99137827874664c26ef1362bacad50e07c642a0654f905817bc19caa3f8
|
|
| MD5 |
c2bece898fb6b35257f46a50208f7882
|
|
| BLAKE2b-256 |
794336db0a61fb7507d4cb225df5ebec29d369e8750809b4ac452c3a88e9d768
|
File details
Details for the file cairo_nile-0.0.12-py3-none-any.whl.
File metadata
- Download URL: cairo_nile-0.0.12-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ad6fd95d15094e6399116b1e70e3650a4d2a5cbd0c3e09574cf3cc6d36d0e5f
|
|
| MD5 |
2369dc466badc9943a29bfc71075b1a8
|
|
| BLAKE2b-256 |
f4045959e219b9af42b96ae3bef75e3cb4181f49f153e4fad5a6c3ff40d40c92
|