-
Notifications
You must be signed in to change notification settings - Fork 2
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
Added ability to print version info #309
Conversation
Merge develop into main, for release (2.0.0) Many changes - Added pyproject.toml to aid with pip installation. - Engineering -- Formatting with Black -- Linting with Pylint -- Dependency management and packaging with Rye - Added tests to cover more mepo commands - Added new command update-state to permanently convert mepo1 style state to mepo2 - Converted mepo to a Python project -- Added src/mepo/__init__.py -- Renamed mepo.d -> src/mepo -- Renamed mepo.d/utest -> tests -- Renamed doc --> docs -- A mepo config file is now called a mepo registry -- More code reorganization - Helper script mepo, used for development, moved to the bin directory. Not removed yet. - Added README for docs/make_md_docs.py script - State: pickle format (mepo1 style) to json format (mepo2 style) -- If mepo1 style state is detected, print warning and suggest running mepo update-state
* Add brew tap installation instructions * Add update-state to readme
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well that is not how I thought this would be done.
Should we add a unit test for this? I suppose it can't really break.
This way, there is only one version number, in For the |
@mathomp4 On second thought, it's probably best to test against the last released version number. |
We really shouldn't need to version control lock files. Reusing already existing virtualenv Generating production lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements.lock Generating dev lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements-dev.lock Installing dependencies Found existing installation: mepo 2.0.0 Uninstalling mepo-2.0.0: Successfully uninstalled mepo-2.0.0 Looking in indexes: https://pypi.org/simple/ Obtaining file:///. (from -r /home/pchakrab/tmp/tmpatm5q2yh (line 1)) Installing build dependencies: started Installing build dependencies: finished with status 'done' Checking if build backend supports build_editable: started Checking if build backend supports build_editable: finished with status 'done' Getting requirements to build editable: started Getting requirements to build editable: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing editable metadata (pyproject.toml): started Preparing editable metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: mepo Building editable for mepo (pyproject.toml): started Building editable for mepo (pyproject.toml): finished with status 'done' Created wheel for mepo: filename=mepo-2.0.0-py3-none-any.whl size=11085 sha256=758e0b5ae11be1d887f2598e6c04fc09648e00a736ffbe8ae47fbad802e2978f Stored in directory: /home/pchakrab/tmp/pip-ephem-wheel-cache-5f1wnqzn/wheels/97/54/f5/d849319cdfa096e074df352654ee2e7c919da8951f090690c6 Successfully built mepo Installing collected packages: mepo Successfully installed mepo-2.0.0 Done! will generate them from
Merging the changes from main brought in the lock files again
4e48380
to
2a4f9f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed lock
files from version control. Earlier requirements-dev.lock
was used by pip
to install dependencies. Now we use rye sync
which reads toml
, and creates the lock
files. pyyaml
in pyproject.toml
remains at >=6.0.1
.
* Added ability to print version info (#309) * Add brew tap installation instructions (#302) * Add brew tap installation instructions * Add update-state to readme * Added ability to print version info * Updated Changelog * Testing mepo version against the last release version number * Removing lock files We really shouldn't need to version control lock files. Reusing already existing virtualenv Generating production lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements.lock Generating dev lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements-dev.lock Installing dependencies Found existing installation: mepo 2.0.0 Uninstalling mepo-2.0.0: Successfully uninstalled mepo-2.0.0 Looking in indexes: https://pypi.org/simple/ Obtaining file:///. (from -r /home/pchakrab/tmp/tmpatm5q2yh (line 1)) Installing build dependencies: started Installing build dependencies: finished with status 'done' Checking if build backend supports build_editable: started Checking if build backend supports build_editable: finished with status 'done' Getting requirements to build editable: started Getting requirements to build editable: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing editable metadata (pyproject.toml): started Preparing editable metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: mepo Building editable for mepo (pyproject.toml): started Building editable for mepo (pyproject.toml): finished with status 'done' Created wheel for mepo: filename=mepo-2.0.0-py3-none-any.whl size=11085 sha256=758e0b5ae11be1d887f2598e6c04fc09648e00a736ffbe8ae47fbad802e2978f Stored in directory: /home/pchakrab/tmp/pip-ephem-wheel-cache-5f1wnqzn/wheels/97/54/f5/d849319cdfa096e074df352654ee2e7c919da8951f090690c6 Successfully built mepo Installing collected packages: mepo Successfully installed mepo-2.0.0 Done! will generate them from * Removing lock files Merging the changes from main brought in the lock files again * Using rye for Python and package management * Minor cleanup of workflows --------- Co-authored-by: Matt Thompson <[email protected]> * Add spack install instructions (#310) * Update README (#315) * Store complete remote url in state file (#316) * Added pytest as a dev dependency to pyproject.toml Now we can run tests via 'rye test' * Store full remote path of every repo in state file * Moved logic to apply style to local path to a separate function * Remote URL is not relative anymore * Added pytests for Registry and MepoComponent classes * Running 'rye test' to run all tests * Generate default __eq__() method in MepoComponent to (rich) compare two instances of this class * Updated test_component for the case when remote is an https url instead of ssh * Switched to https protocol * bug fix * Remote was of a different repo. Fixed now. * Removed MepoState dependence of git.py The state file (state.json) stores the relative local path to each repo. However, during reading of the state, MepoState converts it to an absolute path, and every instantiation of GitRepository uses an absolute local path. So we don't need to call get_root_dir() from GitRepository * Added explicit init of MepoComponent * update-state writes compelete remote url * Removed unnecessary, and wrong, check for local path * Bumped the minor version number * Moved pytest from being a dependency to a dev-dependency. Fixed test that checks for version * Completion working now --------- Co-authored-by: Matt Thompson <[email protected]>
* Added ability to print version info (#309) * Add brew tap installation instructions (#302) * Add brew tap installation instructions * Add update-state to readme * Added ability to print version info * Updated Changelog * Testing mepo version against the last release version number * Removing lock files We really shouldn't need to version control lock files. Reusing already existing virtualenv Generating production lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements.lock Generating dev lockfile: /home/pchakrab/workspace/code/mepo/develop/requirements-dev.lock Installing dependencies Found existing installation: mepo 2.0.0 Uninstalling mepo-2.0.0: Successfully uninstalled mepo-2.0.0 Looking in indexes: https://pypi.org/simple/ Obtaining file:///. (from -r /home/pchakrab/tmp/tmpatm5q2yh (line 1)) Installing build dependencies: started Installing build dependencies: finished with status 'done' Checking if build backend supports build_editable: started Checking if build backend supports build_editable: finished with status 'done' Getting requirements to build editable: started Getting requirements to build editable: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing editable metadata (pyproject.toml): started Preparing editable metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: mepo Building editable for mepo (pyproject.toml): started Building editable for mepo (pyproject.toml): finished with status 'done' Created wheel for mepo: filename=mepo-2.0.0-py3-none-any.whl size=11085 sha256=758e0b5ae11be1d887f2598e6c04fc09648e00a736ffbe8ae47fbad802e2978f Stored in directory: /home/pchakrab/tmp/pip-ephem-wheel-cache-5f1wnqzn/wheels/97/54/f5/d849319cdfa096e074df352654ee2e7c919da8951f090690c6 Successfully built mepo Installing collected packages: mepo Successfully installed mepo-2.0.0 Done! will generate them from * Removing lock files Merging the changes from main brought in the lock files again * Using rye for Python and package management * Minor cleanup of workflows --------- Co-authored-by: Matt Thompson <[email protected]> * Add spack install instructions (#310) * Update README (#315) * Store complete remote url in state file (#316) * Added pytest as a dev dependency to pyproject.toml Now we can run tests via 'rye test' * Store full remote path of every repo in state file * Moved logic to apply style to local path to a separate function * Remote URL is not relative anymore * Added pytests for Registry and MepoComponent classes * Running 'rye test' to run all tests * Generate default __eq__() method in MepoComponent to (rich) compare two instances of this class * Updated test_component for the case when remote is an https url instead of ssh * Switched to https protocol * bug fix * Remote was of a different repo. Fixed now. * Removed MepoState dependence of git.py The state file (state.json) stores the relative local path to each repo. However, during reading of the state, MepoState converts it to an absolute path, and every instantiation of GitRepository uses an absolute local path. So we don't need to call get_root_dir() from GitRepository * Added explicit init of MepoComponent * update-state writes compelete remote url * Removed unnecessary, and wrong, check for local path * Bumped the minor version number * Moved pytest from being a dependency to a dev-dependency. Fixed test that checks for version * Completion working now --------- Co-authored-by: Matt Thompson <[email protected]>
This resolves #306 and #301