Skip to main content

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


Download files

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

Source Distribution

espy-cli-1.0.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

espy_cli-1.0.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file espy-cli-1.0.0.tar.gz.

File metadata

  • Download URL: espy-cli-1.0.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for espy-cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 14cad5a6c9e0cfec7f5314950fde69110bcaaad271a0ccbe6bae4f283ffe530e
MD5 2a3cce4c8860b2ffa57770c2559d068c
BLAKE2b-256 21cee2189861a38b7b0a81388e5b44024b73137f633141b6c1dc54b4799dd8f8

See more details on using hashes here.

File details

Details for the file espy_cli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: espy_cli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for espy_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2684b0a0763a5f56a7d170aacfe4351760d95bbbad7272c92c835dad81851090
MD5 a7cb89d6415fe6858c90047638cd46e5
BLAKE2b-256 c84a7a82357fa04af77b1c6b1fafa3e16b1c59847524747d6e10ceb308736f79

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page