BHoM / Python_Toolkit

GNU Lesser General Public License v3.0
4 stars 2 forks source link

Refactor to use the windows installer when creating a base environment #145

Closed Tom-Kingstone closed 1 week ago

Tom-Kingstone commented 1 month ago

NOTE: Depends on

Issues addressed by this PR

Closes #142

The changes in this PR necessitate changes to the following downstream repositories:

Refactor of very core methods, so this PR requires extensive testing, with any python based unit tests and the beta testing procedures.

Updated the base python environment logic to use the windows installer instead of embedded packages (which allows tkinter and other similar libraries to be included), and updated the Remove methods respectively to use the installer to remove the environment (as the windows installer modifies the registry to keep track of the version).

Updated relevant enums and dictionaries to only allow the most recent specific version of each minor python version, as the windows installer does not support having more than one specific version downloaded at the same time.

Move the bhom analytics logger from LadybugTools_Toolkit to Python_Toolkit (as this is where it should be to be accessible to all python based toolkits)

Test files

Use the beta test procedure and any supporting unit tests for this repo and any downstream repositories

Changelog

Additional comments

When testing, make sure that if you wish to remove an environment, use the methods that remove the environments rather than manually deleting the folder, as removing the folder will not update any registry keys and therefore make it impossible to install that version of python again (this is a limitation of the windows installer). If you accidentally do this, contact me for help to resolve the issue.

Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning` There are 1 requests in the queue ahead of you.
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning`
Tom-Kingstone commented 1 month ago

@BHoMBot check installer

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
Tom-Kingstone commented 1 month ago

@BHoMBot check core @BHoMBot check compliance

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `core` - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `branch-compliance` - check `dataset-compliance` - check `copyright-compliance`
Tom-Kingstone commented 1 month ago

@BHoMBot check serialisation @BHoMBot check null-handling

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `serialisation` - check `null-handling`
Tom-Kingstone commented 1 month ago

@BHoMBot check code-compliance

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `code-compliance`
Tom-Kingstone commented 1 month ago

@BHoMBot check installer

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
Tom-Kingstone commented 1 month ago

@BHoMBot check core @BHoMBot check compliance

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `core` - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `branch-compliance` - check `dataset-compliance` - check `copyright-compliance`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning @BHoMBot check installer

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning` - check `installer`
Tom-Kingstone commented 1 month ago

@BHoMBot check versioning @BHoMBot check compliance

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `versioning` - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `branch-compliance` - check `dataset-compliance` - check `copyright-compliance`
Tom-Kingstone commented 1 month ago

@BHoMBot check installer

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
Tom-Kingstone commented 1 month ago

@BHoMBot check core @BHoMBot check null-handling @BHoMBot check serialisation

bhombot-ci[bot] commented 1 month ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `core` - check `null-handling` - check `serialisation`
Tom-Kingstone commented 3 weeks ago

@BHoMBot check core @BHoMBot check compliance

bhombot-ci[bot] commented 3 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `core` - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `branch-compliance` - check `dataset-compliance` - check `copyright-compliance`
Tom-Kingstone commented 3 weeks ago

@BHoMBot check installer @BHoMBot check versioning

bhombot-ci[bot] commented 3 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer` - check `versioning` There are 8 requests in the queue ahead of you.
Tom-Kingstone commented 3 weeks ago

@BHoMBot check null-handling @BHoMBot check serialisation

bhombot-ci[bot] commented 3 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `null-handling` - check `serialisation` There are 11 requests in the queue ahead of you.
Tom-Kingstone commented 2 weeks ago

@jamesramsden-bh suggested that the error should also display which base environments are currently installed (if any) as well as clearly stating that the one requested isn't installed.

Tom-Kingstone commented 2 weeks ago

@BHoMBot check installer

bhombot-ci[bot] commented 2 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
Tom-Kingstone commented 2 weeks ago

@BHoMBot check installer -force

bhombot-ci[bot] commented 2 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
bhombot-ci[bot] commented 2 weeks ago
The check `installer` has already been run previously and recorded as a successful check. This check has not been run again at this time.
Tom-Kingstone commented 2 weeks ago

@BHoMBot check installer

bhombot-ci[bot] commented 2 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `installer`
Tom-Kingstone commented 2 weeks ago

@BHoMBot check required

bhombot-ci[bot] commented 2 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `core` - check `null-handling` - check `serialisation` - check `versioning` - check `installer`
Tom-Kingstone commented 2 weeks ago

@BHoMBot check required

bhombot-ci[bot] commented 2 weeks ago
@Tom-Kingstone to confirm, the following actions are now queued: - check `code-compliance` - check `documentation-compliance` - check `project-compliance` - check `core` - check `null-handling` - check `serialisation` - check `versioning` - check `installer` There are 22 requests in the queue ahead of you.