vshymanskyy / ViperIDE

An innovative MicroPython / CircuitPython IDE for Web and Mobile
https://viper-ide.org
MIT License
402 stars 16 forks source link

✨ Installing applications and packages #42

Open vshymanskyy opened 1 month ago

vshymanskyy commented 1 month ago

Once #41 is ready, it should be rather easy to implement project import:

vshymanskyy commented 1 month ago

package.json suggestion:

{
  "name": "MySample",
  "version": "0.1.0",
  "description": "Makes everyone happy",
  "author": "Citizen of the Universe",
  "license": "MIT",
  "readme": "https://link.to/README.md",
  "keywords": "json,rest,http,web,esp32",
  "urls": [
    ["fs:main.py", "src/main.py"],
    ["fs:etc/data.dat", "github:org/repo/dir/file.dat"]
  ],
  "deps": [
    ["collections-defaultdict", "latest"],
    "os-path@latest",
    "aiodns"
  ]
}

Notes:

All of this needs some changes in ViperIDE (and later in mpremote)

Comments and ideas are welcome

vshymanskyy commented 1 month ago

@RobertBlackhart I think this would be very useful for education scenarios

RobertBlackhart commented 1 month ago

I agree. I really like the ability to link using a URL query. I'd be happy to do some work on #41/#42 if you're looking for volunteers, although I can't promise a timeline right now (not that you're asking, just wanted to set expectations).

vshymanskyy commented 1 month ago

No, this is completely on me for now. Also, it's in discussion/definition phase (also setting expectations here :smile: )

vshymanskyy commented 1 month ago

There's now an experimental support of installing applications. For example you can install aiodns example using this button:

Run using ViperIDE

jonnor commented 3 weeks ago

I am adding Run in ViperIDE to another example in emlearn-micropython. Ref this package.json, https://github.com/emlearn/emlearn-micropython/blob/master/examples/har_trees/package.json However, this example one depends on a couple of libraries which are not in micropython-lib, and fails to install because the dependencies are not known. The libraries in question are:

How to add these?