Metadata-Version: 2.1
Name: cairo-nile
Version: 0.14.0
Summary: StarkNet/Cairo development toolbelt
Home-page: https://github.com/martriay/nile
Author: Martin Triay
Author-email: martriay@gmail.com
License: MIT
Platform: any
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Requires-Python: <3.10,>=3.8
Description-Content-Type: text/markdown; charset=UTF-8
License-File: LICENSE
Requires-Dist: anyio (>=3.6.1)
Requires-Dist: asyncclick (>=8.1.3.4)
Requires-Dist: click (<9.0,>=8.0)
Requires-Dist: importlib-metadata (>=4.0)
Requires-Dist: python-dotenv (>=0.19.2)
Requires-Dist: cairo-lang (>=0.11.0.2)
Requires-Dist: starknet-devnet (>=0.5.0)
Requires-Dist: pytest (>=7.1.3)
Requires-Dist: pytest-asyncio (>=0.19.0)
Requires-Dist: requests (>=2.28.1)
Provides-Extra: testing
Requires-Dist: setuptools ; extra == 'testing'
Requires-Dist: tox ; extra == 'testing'
Requires-Dist: twine ; extra == 'testing'
Requires-Dist: pytest ; extra == 'testing'
Requires-Dist: pytest-cov ; extra == 'testing'

> Disclaimer: this project is deprecated in favor of [OpenZeppelin/nile-rs](https://github.com/OpenZeppelin/nile-rs), and is no longer maintained.

# OpenZeppelin | Nile ⛵

[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/nile)
[![Tests and linter](https://github.com/OpenZeppelin/nile/actions/workflows/ci.yml/badge.svg)](https://github.com/OpenZeppelin/nile/actions/workflows/ci.yml)

> _Navigate your [StarkNet](https://www.cairo-lang.org/docs/hello_starknet/index.html) projects written in [Cairo](https://cairo-lang.org)._

## Overview

Nile is a CLI tool to develop or interact with StarkNet projects written in Cairo. It consists of different components for developing, compiling, testing, and deploying your smart contracts and dApps, providing a CLI for executing tasks, and a Runtime Environment (NRE) for scripting. The package is designed to be extensible and very customizable by using plugins.

## Documentation

On our [documentation site](https://docs.openzeppelin.com/nile) you can find:

- [A Quickstart walkthrough with commands examples](https://docs.openzeppelin.com/nile#quickstart)
- [Guides on how to master development with Nile](https://docs.openzeppelin.com/nile/testing)
- [Useful script examples](https://docs.openzeppelin.com/nile/scripts#useful_script_examples)
- [Plugins](https://docs.openzeppelin.com/nile/plugins)

And more.

## Installation

Current supported Python versions are >=3.9 and <3.10.

1. Install `gmp` on your machine (Cairo requirement).

    ```
    sudo apt install -y libgmp3-dev # linux
    or
    brew install gmp # mac
    ```

    If you have any trouble installing it on your Apple M1 computer, [here’s a list of potential solutions.](https://github.com/OpenZeppelin/nile/issues/22)


2. Create a folder for your project and cd into it:

    ```
    mkdir myproject && cd myproject
    ```

3. Create a virtualenv and activate it:

    ```
    python3 -m venv env && source env/bin/activate
    ```

4. Install Nile:

    ```
    pip install cairo-nile
    ```

## Quickstart

Use `nile init` to quickly set up your development environment:

```
nile init
```
```
🗄 Creating project directory tree
⛵️ Nile project ready! Try running:

nile compile
```

## Contribute

OpenZeppelin Nile exists thanks to its contributors. There are many ways you can participate and help build high quality software. Check out the [contribution](CONTRIBUTING.md) guide!

## License

Nile is released under the MIT License.
