Conversation
the contents of these files are from the original `utils.py` file, which is now unnecessary.
this went through all python files, and updated import statements. this is a temporary file and I will remove it once our branches are up-to-date if we merge this bracnh to master
Member
Author
Contributor
|
Sorry for making your life harder @meren :) |
Member
Author
|
Oh no, not at all. Better code > Meren's life. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Anvi'o has a problems with its
anvio/utils.py. Over the years it has grown to house over 150 functions and classes, and at the time of this PR it was over 5,000 lines-of-code. Having everything in one file is a bad idea, not only for performance, but also for the maintainability of the codebase.This PR splits
anvio/utils.pyinto multiple modules under the directoryanvio/utils/, which include the following modules in it,__init__.pyalgorithms.pyanviohelp.pycommandline.pydatabase.pydebug.pyfasta.pyfiles.pyhmm.pymisc.pynetwork.pyphylogenetics.pysequences.pystatistics.pysystem.pyvalidation.pyvisualization.pyas defined by the Python file
utils_migration_map.py, which also describes which functions are in which modules now. This file is temporarily in the root of the repository, but we will remove it once everything is inmasterand all major branches are synchronized with this change.Many small changes in this PR were done manually to set the stage. But the commit 3f5bca5, the one that contains the most comprehensive set of changes that replace all utils imports with proper versions, is produced by the program
refactor_utils_changes.py.Once this PR is merged to
master, we will have to go through our major branches, mergemasterinto them, fix conflicts, and once all conflicts are resolved, run the following command to fix the remainingutilsimports:This was a lot of effort, but I think it was really necessary :/
I suggest we wait for the
v9to merge this branch, and do it only after a new release is out.