{"id":9713,"library":"easydev","title":"Easydev","description":"Easydev (v0.14.0) is a Python library offering a collection of common utilities to streamline the development of Python packages. It includes tools for shell interaction, system path management, console output, and decorators. The library is actively maintained with releases addressing Python version compatibility and dependency updates, typically on an irregular but consistent basis.","status":"active","version":"0.14.0","language":"en","source_language":"en","source_url":"https://github.com/cokelaer/easydev","tags":["utilities","development","tools","helpers","shell","files"],"install":[{"cmd":"pip install easydev","lang":"bash","label":"Install latest version"}],"dependencies":[],"imports":[{"symbol":"Shell","correct":"from easydev.tools import Shell"},{"symbol":"get_home","correct":"from easydev import get_home"},{"symbol":"mkdir","correct":"from easydev.misc import mkdir"},{"note":"The `get_platform` function was deprecated and removed in v0.12.0.","wrong":"from easydev.tools import get_platform","symbol":"deprecate","correct":"from easydev.decorators import deprecate"}],"quickstart":{"code":"from easydev.tools import Shell\nfrom easydev import get_home\nfrom easydev.console import purple\nfrom easydev.misc import mkdir\nimport os\n\ns = Shell()\nprint(f\"Current directory: {s.pwd().strip()}\")\n\nhome_dir = get_home()\nprint(f\"Home directory using easydev: {home_dir}\")\n\n# Create a temporary directory\ntemp_dir = os.path.join(home_dir, 'easydev_temp_test')\nmkdir(temp_dir)\nprint(f\"Created directory: {temp_dir}\")\nos.rmdir(temp_dir) # Clean up\n\npurple(\"Hello from Easydev!\")","lang":"python","description":"This quickstart demonstrates basic usage of `easydev` to interact with the shell, retrieve the home directory, create a directory, and print colored console output."},"warnings":[{"fix":"Upgrade to `easydev` v0.12.2 or newer. Use `easydev.get_home()`, `easydev.get_user_cache_dir()` or `platformdirs` directly for platform-specific path operations.","message":"The internal dependency `appdirs` was replaced by `platformdirs`. If your code directly relied on attributes or specific behaviors exposed through `easydev`'s integration of `appdirs` (e.g., `easydev.tools.appdirs`), it might break.","severity":"breaking","affected_versions":"<0.12.2"},{"fix":"Avoid using `get_platform()`. For retrieving the home directory, use `easydev.get_home()`. For other platform information, consider `sys.platform` or `platform` module directly.","message":"The `get_platform()` function from `easydev.tools` has been deprecated and subsequently removed.","severity":"deprecated","affected_versions":">=0.12.0"},{"fix":"Upgrade `easydev` to v0.13.3 or newer to ensure compatibility with `poetry-core` 2.0.","message":"Older versions of `easydev` may have compatibility issues when building projects with newer Poetry versions that use `poetry-core` 2.0 or higher.","severity":"gotcha","affected_versions":"<0.13.3"},{"fix":"Upgrade to `easydev` v0.14.0 or newer to ensure stability and correct behavior with multicore operations, especially on Python 3.14 and future versions.","message":"There were fixes related to multicore tests on Python 3.14, suggesting potential issues with multicore operations on newer Python versions if not updated.","severity":"gotcha","affected_versions":"<0.14.0 (for Python 3.14+ users)"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Replace calls to `easydev.tools.get_platform()` with `easydev.get_home()` for the user's home directory, or use functions from the standard `platform` module or `platformdirs` library for other platform-specific information.","cause":"The `get_platform` function was deprecated and removed in Easydev v0.12.0.","error":"AttributeError: module 'easydev.tools' has no attribute 'get_platform'"},{"fix":"Update `easydev` to v0.12.2 or newer. Instead of trying to import `AppDirs`, use `easydev.get_home()`, `easydev.get_user_cache_dir()`, or import and use `platformdirs` directly if more advanced path management is needed.","cause":"The internal `appdirs` dependency was replaced by `platformdirs` in Easydev v0.12.2, removing direct exposure of `appdirs` components.","error":"ImportError: cannot import name 'AppDirs' from 'easydev.tools.appdirs'"},{"fix":"Upgrade `easydev` to version 0.13.3 or newer: `pip install --upgrade easydev`.","cause":"You are using an older version of `easydev` (prior to v0.13.3) with a newer Poetry project that relies on `poetry-core` version 2.0 or higher.","error":"The Poetry backend doesn't support version 2.0"}]}