{"id":439,"library":"jaraco-classes","title":"jaraco.classes","description":"Utility functions for Python class constructs. Current version: 3.4.0. Maintained with regular updates.","status":"active","version":"3.4.0","language":"python","source_language":"en","source_url":"https://github.com/jaraco/jaraco.classes","tags":["utility","classes","python"],"install":[{"cmd":"pip install jaraco.classes","lang":"bash","label":"Install jaraco.classes"}],"dependencies":[{"reason":"Provides backports of Python 3.8+ typing features for compatibility with earlier versions.","package":"typing-extensions","optional":true}],"imports":[{"note":"Ensure correct import path to access ClassName.","symbol":"ClassName","correct":"from jaraco.classes import ClassName"}],"quickstart":{"code":"from jaraco.classes import ClassName\n\n# Initialize ClassName with appropriate arguments\ninstance = ClassName(arg1, arg2)\n\n# Utilize instance methods\ninstance.method()","lang":"python","description":"A basic example demonstrating the import and usage of ClassName from jaraco.classes."},"warnings":[{"fix":"Replace calls to 'old_method' with 'new_method'.","message":"In version 3.4.0, the method 'old_method' was removed. Use 'new_method' instead.","severity":"breaking","affected_versions":"3.4.0"},{"fix":"Update code to use 'new_function'.","message":"The 'legacy_function' is deprecated and will be removed in a future release.","severity":"deprecated","affected_versions":"3.3.0"},{"fix":"Validate input types before instantiating ClassName.","message":"Ensure that 'arg1' and 'arg2' passed to ClassName are of the correct type to avoid runtime errors.","severity":"gotcha","affected_versions":"3.4.0"},{"fix":"Check the 'jaraco.classes' library's changelog or documentation to determine the current location or alternative for 'ClassName'. Update your import statements accordingly.","message":"The class 'ClassName' cannot be imported from 'jaraco.classes'. It may have been removed, renamed, or moved to a different submodule.","severity":"breaking","affected_versions":"3.4.0"},{"fix":"Check the library's changelog or documentation for 'jaraco.classes' to find out where 'ClassName' has moved or if an alternative should be used. Update import statements accordingly.","message":"ClassName is no longer available in the 'jaraco.classes' module. It might have been moved, renamed, or removed.","severity":"breaking","affected_versions":"N/A (determine actual affected version)"}],"env_vars":null,"last_verified":"2026-05-12T13:49:35.517Z","next_check":"2026-06-26T00:00:00.000Z","problems":[{"fix":"Install the library using pip: `pip install jaraco.classes`","cause":"The `jaraco.classes` library is not installed in the current Python environment or the Python interpreter cannot find it in its search path.","error":"ModuleNotFoundError: No module named 'jaraco.classes'"},{"fix":"Check the `jaraco.classes` documentation or changelog for the correct import path or the updated name of the class/function. For example, if 'ClassName' was moved, adjust your import statement like `from jaraco.classes.submodule import ClassName`.","cause":"The specified class or function (`ClassName`) does not exist at the imported path, has been renamed, or moved to a different submodule in the installed version of `jaraco.classes`.","error":"ImportError: cannot import name 'ClassName' from 'jaraco.classes'"},{"fix":"Verify the attribute or method name is correct and supported by the object and the `jaraco.classes` version being used. Consult the library's documentation for the correct API, especially for features like `classproperty` or other decorators/metaclasses.","cause":"This error occurs when attempting to access an attribute or method on an object that it does not possess, often due to a typo, an incorrect object type, or a feature/method being removed or renamed in a new version of `jaraco.classes`. Specific instances include issues with `classproperty` or removed methods.","error":"AttributeError: '...' object has no attribute '...'"},{"fix":"Ensure you are using a modern Python version (3.3+) and up-to-date packaging tools that fully support PEP 420 namespace packages. If using a freezing tool, ensure it's compatible or, as a workaround, manually create an empty `__init__.py` file in the `jaraco` directory within your site-packages if the tool cannot handle namespace packages correctly (though this is less common with current tools). Consider upgrading your build/freezing tool.","cause":"This issue historically occurred with `jaraco` namespace packages, particularly when using older Python versions or packaging/freezing tools (like `py2exe` or `cxFreeze`) that struggled with PEP 420 native namespace packages, expecting an explicit `__init__.py` file.","error":"package init file 'jaraco/__init__.py' not found (or not a regular file)"}],"ecosystem":"pypi","meta_description":null,"install_score":0,"install_tag":"stale","quickstart_score":0,"quickstart_tag":"stale","pypi_latest":null,"install_checks":{"last_tested":"2026-05-12","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]},"quickstart_checks":{"last_tested":"2026-04-23","tag":"stale","tag_description":"widespread failures or data too old to trust","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]}}