{"id":23694,"library":"expo","title":"Expo","description":"A small Python utility for selectively exposing module functionality (e.g., only exporting certain functions or classes). Current version: 0.1.2 (released August 2021). Low release cadence; no updates since initial release.","status":"active","version":"0.1.2","language":"python","source_language":"en","source_url":"https://github.com/nicoddemus/expo","tags":["module","expose","selective-export"],"install":[{"cmd":"pip install expo","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"Expose is the main decorator/function to selectively expose module members.","wrong":"","symbol":"expose","correct":"from expo import expose"},{"note":"Alternative function to expose all public members (default).","wrong":"","symbol":"expose_all","correct":"from expo import expose_all"}],"quickstart":{"code":"# mymodule.py\nfrom expo import expose\n\ndef internal_func():\n    pass\n\n@expose\ndef public_func():\n    return \"Hello\"","lang":"python","description":"Define a module using the @expose decorator to selectively export functions."},"warnings":[{"fix":"Use with caution; test in your environment.","message":"The library has not been updated since 2021 and may have compatibility issues with newer Python versions, though it requires Python >=3.8.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure you apply @expose only at the top level of your module.","message":"The @expose decorator only works on module-level functions and classes; it cannot be used inside other scopes.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install expo' and ensure no other package named 'expo' conflicts.","cause":"The library may not be installed correctly or you are importing from the wrong package.","error":"AttributeError: module 'expo' has no attribute 'expose'"},{"fix":"Use 'from expo import expose' instead; expose_all was removed in 0.1.0.","cause":"The function 'expose_all' does not exist in version 0.1.2.","error":"ImportError: cannot import name 'expose_all' from 'expo'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}