Initial release of mepo 2 #305
mathomp4
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a major release of
mepo
that includes a number of changes to the codebase and the waymepo
is used.The most significant change is the conversion of
mepo
to a Python project. This change was made to improve the maintainability of the codebase and to make it easier to add new features in the future. The conversion to a Python project also allows for better integration with other Python tools and libraries. See this commit message for more information.Internal State Change
This major version also introduces internal changes to
mepo
that end users might encounter. The main change is moving from a pickle format to a json format for the internal state ofmepo
. This change was made to improve the readability and extensibility of the state file.For example, if a user has an existing clone of a
mepo
repository that was created withmepo
version 1, when they run withmepo
version 2, they will see a message like:As the message says, the user can run
mepo update-state
to convert the state to mepo2 style (i.e., from pickle to json). Note that this is a one-way change!macOS multiprocessing issue
If you have a mepo1 style state and you are on macOS, you may encounter an issue when running
mepo status
ormepo restore-state
. For example:This seems to be a macOS issue with Python multiprocessing. The solution is to run
mepo update-state
to convert the state to mepo2 style. Then all works as expected:Missing features
Note that at the moment the mepo completion scripts and
mepo-cd
scripts are not installed by default. This will be addressed in a future release.From
CHANGELOG.md
Added
pyproject.toml
to aid withpip
installation.Engineering
-- Formatting with Black
-- Linting with Pylint
-- Dependency management and packaging with Rye
Added tests to cover more
mepo
commandsAdd new command
update-state
to permanently convert mepo1 style state to mepo2Changed
Converted
mepo
to a Python project via the following renaming-- 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 amepo
registry-- More code reorganization
Helper script
mepo
, used for development, moved to thebin
directory.Added README for
docs/make_md_docs.py
scriptState: pickle format (mepo1 style) to json format (mepo2 style)
-- If mepo1 style state is detected, print warning and suggest running
mepo update-state
What's Changed
Full Changelog: v1.52.0...v2.0.0
This discussion was created from the release Initial release of mepo 2.
Beta Was this translation helpful? Give feedback.
All reactions