A Python program that makes it easy to manage modules on a CircuitPython device!

Overview

CircuitPython-Bundle-Manager-v2

A Python program that makes it easy to manage modules on a CircuitPython device!

The CircuitPython Bundle Manager v2 is a program that allows you to easily download bundles and use them to install modules on CircuitPython devices!

As the name implies, it's version 2 of the original CircuitPython-Bundle-Manager with many more fixes and features!

A picture of the CircuitPython Bundle Manager's Modules tab open

Installation

Install from source

Windows

  1. cd to somewhere convenient. (Like a drive where all your projects go`)
  2. Download the repo (git clone https://github.com/UnsignedArduino/CircuitPython-Bundle-Manager-v2)
  3. cd into the downloaded repo.
  4. Create a virtual environment. (python -m venv .venv)
  5. Activate the virtual environment. (".venv/Scripts/activate.bat")
  6. Install the requirements. (pip install -r requirements.txt)
  7. Run! (python main.py)

Linux / macOS

  1. cd to somewhere convenient. (Like your home directory)
  2. Download the repo (git clone https://github.com/UnsignedArduino/CircuitPython-Bundle-Manager-v2)
  3. cd into the downloaded repo.
  4. Create a virtual environment. (python3 -m venv .venv)
  5. Activate the virtual environment. (source .venv/bin/activate)
  6. Install the requirements. (pip3 install -r requirements.txt)
  7. If the installation fails, then follow the instructions to install cryptography on your machine. Then try step 7 again.
  8. Run! (python3 main.py)

Usage

TODO: Finish!

Contributing

TODO: Finish!

License

This project is distributed under the GNU General Public License v3.0 license. See the LICENSE file for the full license.

Comments
  • Support the CircuitPython community bundle

    Support the CircuitPython community bundle

    Maybe two buttons to select either the regular bundle and the community bundle before the release selector pops up, so then we can change it in the GitHubManager easily. And since the naming scheme for both are the exact same, we should probably put (Community) after the title if it's a community bundle.

    enhancement 
    opened by UnsignedArduino 2
  • Make all windows closable with escape key

    Make all windows closable with escape key

    Only some of the dialogs close on escape. We need to make all the Windows close on escape, with the main window asking are you really sure you want to exit.

    bug gui 
    opened by UnsignedArduino 1
  • Release selector dialog takes a bit to pop up

    Release selector dialog takes a bit to pop up

    At least figure out how to get the release selector to pop up as fast as possible with all the widgets, then we can fill in the listbox with the releases after.

    gui 
    opened by UnsignedArduino 0
  • Check for lib/ and make sure it exists

    Check for lib/ and make sure it exists

    Make sure if it exists before installing any module.

    Originally reported here: https://github.com/UnsignedArduino/CircuitPython-Bundle-Manager-v2/discussions/9

    bug 
    opened by UnsignedArduino 0
  • Multiple processes to download and extract zip files

    Multiple processes to download and extract zip files

    Each bundle has 4 (iirc) zips that need to be downloaded and extracted - maybe put them all in processes?

    This should also be a setting in a downloads section or something.

    enhancement performance 
    opened by UnsignedArduino 0
  • Check if there is a new version available

    Check if there is a new version available

    Maybe display a message on start up saying there is a new version available.

    And probably need to put it in a miscellaneous settings section whether or not to check upon application launch.

    enhancement 
    opened by UnsignedArduino 0
  • Auto-detect modules used

    Auto-detect modules used

    Maybe a new tab called "Auto-detection" that looks like something like the GitHub dependency graph but will look for *requirements.txt and in *.py files:

    image

    But with install/reinstall/uninstall buttons next to all of them (if we can find it in the currently selected bundle)

    enhancement 
    opened by UnsignedArduino 0
Releases(v2.0.0)
Owner
Ckyiu
Hmmmm...what should I put here? *keyboard starts clicking...
Ckyiu
FERM: A Framework for Efficient Robotic Manipulation

Framework for Efficient Robotic Manipulation FERM is a framework that enables robots to learn tasks within an hour of real time training.

Ruihan (Philip) Zhao 111 Dec 31, 2022
FHEM Connector for FHT Heating devices

home-assistant-fht from: https://github.com/Rsclub22 FHEM Connector for FHT Heating devices (connected via FHEM) Requires FHEM to work You can find FH

5 Dec 01, 2022
🔆 A Python module for controlling power and brightness of the official Raspberry Pi 7

rpi-backlight A Python module for controlling power and brightness of the official Raspberry Pi 7" touch display. Note: This GIF was created using the

Linus Groh 238 Jan 08, 2023
Lego Mindstorms EV3 and Lego Spike Prime

Lego Mindstorms EV3 and Lego Spike Prime What is FLL? The FIRST LEGO League Challenge Robotics Tournament challenges students from 9 to 16 years old t

Danimar Campos da Costa 1 Nov 14, 2021
Sensor of Temperature Feels Like for Home Assistant.

Please ⭐ this repo if you find it useful Sensor of Temperature Feels Like for Home Assistant Installation Install from HACS (recommended) Have HACS in

Andrey 60 Dec 25, 2022
BoneIO is a compact IO controller for home automation.

Project description BoneIO is a compact IO controller for home automation. Main features of this controller are Compact size (27x11x6)cm - 15 DIN modu

Maciej Krasuski 120 Nov 30, 2022
Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives.

Ingeniamotion Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives. Requirements Python 3

Ingenia Motion Control 7 Dec 15, 2022
A custom mechanical keyboard inspired by the CFTKB Mysterium

Env-KB A custom mechanical keyboard inspired by the CFTKB Mysterium Build Guide and Parts List What is to do? Right now for the first 5 PCBs I have, i

EnviousData 203 Jan 04, 2023
Port of Uxn to digital hardware in the Logisim simulator

Uxn-Logisim Implements the Uxn instruction set in digital hardware. Very WIP. Contents cpu.circ - The Logisim file microcode.mc - Microcode source fil

DeltaF1 11 Mar 27, 2022
Automatic Watering System using Soil Moisture Sensor and RTC Timer with Arduino

Automatic-Watering-System - Technical Answers to Real-World Problems. Evolution of Watering Manually to Watering Automatically.

Vaishnavi Pothugunta 4 Dec 31, 2021
A Home Assistant sensor that tells you what holiday is next

Next Holiday Sensor This sensor tells you what holiday is coming up next. You can use it to set holiday light colors or other scenes. The state of the

Nick Touran 20 Dec 04, 2022
emhass: Energy Management for Home Assistant

emhass EMHASS: Energy Management for Home Assistant Context This module was conceived as an energy management optimization tool for residential electr

David 70 Dec 24, 2022
A dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc. written in Python

Weather Clock for Raspberry PI This project is a dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc.

Markus Geiger 1 May 01, 2022
Simple Weather Check base on Hefeng api, Work on raspberry Pi

Simple Weather Check base on Hefeng api, Work on raspberry Pi

Retr0mous 28 Sep 17, 2022
Drobo Status is a python program that will connect to your Drobo and return JSON data regarding your Drobo

This is a simple python script that will run a docker container to pull data from Drobo. It will give information like (Name, serial, firmware, disk-total, disk-used, disk-free and individual disk st

Biofects 1 Jan 15, 2022
OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick

OpenStickFirmware is open source software designed to handle any and all tasks required in a custom Fight Stick. It can handle being the brains of your entire stick, or just handling the bells and wh

Sleep Unit 23 Nov 24, 2022
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.

Kotori Telemetry data acquisition and sensor networks for humans. Documentation: https://getkotori.org/ Source Code: https://github.com/daq-tools/koto

83 Nov 26, 2022
A Fear and Greed index visualiser for Bitcoin on a SSD1351 OLED Screen

We're Doomed - A Bitcoin Fear and Greed index OLED visualiser Doom is a first-person-shooter from the 1990s. The health status monitor was one of the

VEEB 19 Dec 29, 2022
DNP3 Stalker is a project to analyze and interact with DNP3 devices

DNP3 Stalker Purpose DNP3 Stalker is a project to analyze and interact with DNP3

Cutaway Security, LLC. 2 Feb 10, 2022
A lightweight script for updating custom components for Home Assistant

Updater for Home Assistant This is a lightweight script for updating custom components for Home Assistant. If for some reason you do not want to use H

Alex X 12 Sep 21, 2022