Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.4.0 #22

Merged
merged 24 commits into from
Jul 11, 2019
Merged

Release v0.4.0 #22

merged 24 commits into from
Jul 11, 2019

Conversation

BradenM
Copy link
Owner

@BradenM BradenM commented Jun 28, 2019

No description provided.

* feat(stubs): Initial Setup for stubs.source Module

* feat(utils): Url Utility Functions

Added Url related utility functions

* test(stubs): Initial Tests for source module

* feat: Resolve Path to both Local and Remote Source

Added ready method to resolve path to a local or remote stub. In the case of a remote, the source is
first downloaded/unpacked into a temporary directory.
* test(source): Tests for Stub Repo

* feat(repo): Stub Repo Class

Represents a remote stub repo

* perf(repo): Only fetch repo the first time

just return packages any time after
Updated Micropy to use Stub "Packages" which include both stubs and frozen modules
* feat(repo): Classmethod for creating Repos from JSON file

* feat: Load Repos during setup, Data Module

Load repos from json file during Micropy setup, added Data module for easy reference to data files

* feat(source): Pass Basic Stub Info to StubSource

Allow basic stub info (firmware, device, version) to be passed to StubSource instance

* feat: Drop Prefetching of Stub Repo

Completely dropped prefetching stub repo packages. Didn't really make a lot of sense and was just ad
ding too much overhead. Replaced it with simply checking if the provided package name is available o
n any repo.

* feat: Implement Remote Stubs into StubManager

* test(cli): Updated Cli Stubs Tests

* test(template): Increase Template Coverage

Added test for not implementing context property

* fix(setup): Add requests to setup.py requirements
Updated Stubs to use new modules.json schema as discussed in Josverl/micropython-stubber#4 -- In doi
ng this, the stubs have been purposefully split away from firmware modules, which will be resolved a
nd retrieved later.
Insert Device Specific frozen modules into template files for better Intellisense and auto completion as described in [Josverl/micropython-stubber](https://github.com/Josverl/micropython-stubber)
* refactor(stub): Seperate Common Stub Logic to Parent Class

Created 'Stub' parent class to hold common logic between the current DeviceStub and future FirmwareS
tub classes

* test(stub): Cover NotImplementedError with Stub Child

* test(stubs): Add Tests for FirmwareStubs

* feat(stubs): Firmware Stubs, Manager Resolver

Added FirmwareStub class for representing Firmware specific stubs/modules. Added method to StubManag
er that resolves the appropriate stub type to use.

* test(stubs): Updated Tests for Firmware Resolving

* fix(stubs): Fix Unreliable Stub Path Resolving

* feat(stubs): Auto Resolve DeviceStub Firmware Modules

When adding a DeviceStub, automatically resolve its Firmware specific modules by determining its Fir
mwareStub instance. If needed, attempt to retrieve the FirmwareStub from a remote source
Prevented some calls to requests to download FirmwareStub(s), Increased overall coverage, Cleaned up
a bit
When loading existing stubs, if a DeviceStub was processed before its existing FirmwareStub, the Fir
mwareStub would be redownloaded and overwritten. This fixes it by prevent firmware resolutions until
all exising stubs are loaded.
Made output a bit more minimal looking
With tqdm, stream any downloads with a fancy progress bar
@BradenM BradenM marked this pull request as ready for review July 9, 2019 09:11
Made the process of adding stubs more verbose
If a stub didn't have a firmware with it, its name was created using firmware=>firmware which led to
some strange looking results
* feat: Update micropython-stubber submodule

* feat(stubs): Update CreateStubs, Add from stubber method

Updated CreateStubs to use the latest version of Micropython-stubber, added from_stubber method to S
tubManager to format generated stubs into a stub package. (Will also attempt to resolve firmware nam
e later on)

* fix: Remove createstubs.py Debug Lines

Temporary fix until micropython-stubber is updated

* feat(stubs): Copy Logger module to PyDevice on CreateStubs
* test(search): Add Stub Search Tests

* feat(cli): Search Available Stubs for Download
Fixed issue where output highlighted with $[*] would strip styles from any text after it. Removed or
phaned code
@BradenM BradenM merged commit f1d7053 into master Jul 11, 2019
@BradenM BradenM mentioned this pull request Jul 11, 2019
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant