Skip to main content

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    |
    +-------------+----------------------------------------------+------+---------------------------+
    

Metadata

Release files for espy-cli 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for espy-cli 1.0.0
File Size Uploaded
espy-cli-1.0.0.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for espy-cli 1.0.0
File Interpreter ABI Platform
espy_cli-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.4 kB

Release files / espy-cli-1.0.0.tar.gz

Download URL espy-cli-1.0.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
14cad5a6c9e0cfec7f5314950fde69110bcaaad271a0ccbe6bae4f283ffe530e
BLAKE2b-256 checksum
How to use checksums
21cee2189861a38b7b0a81388e5b44024b73137f633141b6c1dc54b4799dd8f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release files / espy_cli-1.0.0-py3-none-any.whl

Download URL espy_cli-1.0.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2684b0a0763a5f56a7d170aacfe4351760d95bbbad7272c92c835dad81851090
BLAKE2b-256 checksum
How to use checksums
c84a7a82357fa04af77b1c6b1fafa3e16b1c59847524747d6e10ceb308736f79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page