Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A Command Line application to manage your ESP-IDF projects with ease.

Project description

espy-cli

A Command Line application to manage your ESP-IDF projects with ease.

Installation

pip install espy-cli

This assumes that python3 is the default python version in your system.

Features

  • Manage all your projects and change their configuration
  • Use multiple IDF versions without the need to update Environment variables and then logout or reboot
  • Change the IDF used in a project at any time

Note

Initially you need to configure 1 path in the IDF_PATH environment variable, only once.
Projects are called apps.
Before creating an app make sure you have added atleast 1 IDF path.
In case you forget espy will remind you ;)

Usage

  1. Managing IDFs

    • Add a new IDF

      $ espy idf new -n idf1 -f /home/user/esp/esp-idf
      
      Successfully added idf1 to config
      
    • Get all or specific IDF(s)

      $ espy idf get
      
      +------+--------------------------------------+
      | name | filepath                             |
      +------+--------------------------------------+
      | idf1 | /home/user/esp/esp-idf               |
      | idf2 | /home/user/esp/esp-idf-v3.3-beta3    |
      +------+--------------------------------------+
      
      $ espy idf get -n idf1
      
      +------+--------------------------------------+
      | name | filepath                             |
      +------+--------------------------------------+
      | idf1 | /home/user/esp/esp-idf               |
      +------+--------------------------------------+
      
    • Modify a specific IDF

      $ espy idf mod -n idf1
      
      +------+--------------------------------------+
      | name | filepath                             |
      +------+--------------------------------------+
      | idf1 | /home/user/esp/esp-idf-v3.3-beta3    |
      +------+--------------------------------------+
      
      Change the name? [y/N]: y
      Enter the new name for the IDF: default
      
      Change the path of the IDF? [y/N]: y
      Enter the new path for the IDF: /home/user/esp/esp-idf
      
      Note: If this IDF has been used in an app, modify them if needed.
      Continue to modify IDF? [y/N]: y
      Succesfully modified the IDF
      
    • Delete all or specific IDF(s)

      $ espy idf del
      
      Delete all IDFs? [y/N]: y
      Successfully deleted required IDF(s)
      
      $ espy idf del -n idf1
      
      Delete IDF: idf1 [y/N]: y
      Successfully deleted required IDF(s)
      
  2. Managing apps

    • Create a new app

      $ espy app new -n hello_world -idf idf1
      Project created!
      
      $ tree hello_world/
      hello_world/
      ├── CMakelists.txt
      ├── main
      │   ├── CMakelists.txt
      │   ├── component.mk
      │   └── main.c
      └── Makefile
      
      1 directory, 5 files
      
    • Get all or specific App(s)

      $ espy app get
      
      +-------------+----------------------------------------------+------+---------------------------+
      | name        | filepath                                     | idf  | idfpath                   |
      +-------------+----------------------------------------------+------+---------------------------+
      | hello_world | /home/user/Documents/projects/hello_world    | idf1 | /home/user/esp/esp-idf    |
      +-------------+----------------------------------------------+------+---------------------------+
      
    • Modify an App

      $ espy app mod -n hello_world
      
      What do you wish to modify?
      [1] Name
      [2] IDF
      
      Enter option number (0 for ALL): 0
      
      Enter new name: bye
      Change the name of the project? [y/N]: y
      
      Name changed.
      
      Enter new IDF's name: idf2
      Change the IDF of the project? [y/N]: y
      
      IDF changed.
      
      Successfully modified app details!
      
  3. View Config

    $ espy show
    
    Config location: /home/user/.config/espy-cli/config.json
    
    IDFs
    
    +------+--------------------------------------+
    | name | filepath                             |
    +------+--------------------------------------+
    | idf1 | /home/user/esp/esp-idf               |
    | idf2 | /home/user/esp/esp-idf-v3.3-beta3    |
    +------+--------------------------------------+
    
    Apps
    
    +-------------+----------------------------------------------+------+---------------------------+
    | name        | filepath                                     | idf  | idfpath                   |
    +-------------+----------------------------------------------+------+---------------------------+
    | hello_world | /home/user/Documents/projects/hello_world    | idf1 | /home/user/esp/esp-idf    |
    +-------------+----------------------------------------------+------+---------------------------+
    

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for espy-cli, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size espy_cli-1.0.0-py3-none-any.whl (10.4 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size espy-cli-1.0.0.tar.gz (6.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page