{"id":23679,"library":"epochly","title":"Epochly","description":"Epochly is a transparent performance optimization library for Python applications that provides automatic caching, memoization, and profiling. Version 0.5.73 supports Python >=3.9 and is actively maintained. Release cadence is weekly with frequent minor updates.","status":"active","version":"0.5.73","language":"python","source_language":"en","source_url":"https://github.com/epochly-python/epochly.git","tags":["performance","optimization","caching","memoization","profiling"],"install":[{"cmd":"pip install epochly","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Wrong: epochly uses submodule imports, not top-level.","wrong":"import Epochly","symbol":"Epochly","correct":"from epochly import Epochly"},{"note":"profile is a decorator directly under epochly, not a submodule.","wrong":"import epochly.profile","symbol":"profile","correct":"from epochly import profile"}],"quickstart":{"code":"from epochly import Epochly\n\n# Initialize with a config (optional)\ne = Epochly()\n\n@Epochly.cache\ndef expensive_function(x):\n    return x * x\n\nresult = expensive_function(4)\nprint(result)","lang":"python","description":"Basic usage: apply caching via decorator."},"warnings":[{"fix":"Always create an instance: `e = Epochly()`. Then use `@e.cache`.","message":"The `Epochly` class must be instantiated before using the `@Epochly.cache` decorator or a `TypeError` occurs.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Replace `from epochly import profile` with `from epochly import Epochly` and use `@Epochly.profile`.","message":"The `profile` function is deprecated in version 0.5.70+; use `Epochly.profile` instead.","severity":"deprecated","affected_versions":">=0.5.70"},{"fix":"Use `Epochly(cache_concurrency=True)` for thread-safe caching.","message":"Cached functions are not thread-safe by default. Concurrent calls may corrupt cache state.","severity":"gotcha","affected_versions":"<0.6.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `from epochly import Epochly`.","cause":"Old import pattern `import epochly` does not expose Epochly directly.","error":"AttributeError: module 'epochly' has no attribute 'Epochly'"},{"fix":"Initialize with `e = Epochly()` then `@e.cache`.","cause":"Using `@Epochly.cache` without instantiating the class first.","error":"TypeError: 'NoneType' object is not callable"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}