{"id":27221,"library":"paddle","title":"PADDLE: Python Atmospheric Dynamics: Discovery and Learning about Exoplanets","description":"PADDLE (Python Atmospheric Dynamics: Discovery and Learning about Exoplanets) is an open-source, user-friendly Python frontend of the canoe general circulation model (GCM) for exoplanet atmospheres. Current version is 1.3.0, released in January 2025. The project is actively maintained on GitHub, with frequent releases adding new features such as two-stream radiative transfer, cubed-sphere remapping, and opacity implementations.","status":"active","version":"1.3.0","language":"python","source_language":"en","source_url":"https://github.com/elijah-mullens/paddle","tags":["exoplanets","atmospheric-dynamics","gcm","canoe","radiative-transfer"],"install":[{"cmd":"pip install paddle","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency for numerical operations","package":"numpy","optional":false},{"reason":"Required for spectral modeling (version >= 2.1.4)","package":"snapy2","optional":false},{"reason":"Underlying GCM engine","package":"canoe","optional":false}],"imports":[{"note":"Top-level module","wrong":null,"symbol":"paddle","correct":"import paddle"},{"note":"Access atmospheric models","wrong":null,"symbol":"paddle.atmosphere","correct":"from paddle import atmosphere"},{"note":"Radiative transfer submodule is nested under paddle","wrong":"import radiative_transfer","symbol":"paddle.radiative_transfer","correct":"from paddle import radiative_transfer"}],"quickstart":{"code":"import paddle\nfrom paddle import atmosphere\n\n# Initialize a simple Earth-like atmosphere\natm = atmosphere.EarthAtmosphere()\nprint(atm)\n\n# Run a basic simulation (requires canoe installed)\n# result = atm.run(duration_days=10)\n# print(result)\n","lang":"python","description":"Import paddle and create an Earth atmosphere object. Running a simulation requires the canoe engine to be installed separately."},"warnings":[{"fix":"Upgrade snapy2 with 'pip install snapy2>=2.1.4' before installing or upgrading paddle.","message":"Version 1.3.0 requires snapy2 >= 2.1.4. Older versions of snapy2 are incompatible and will cause import errors.","severity":"breaking","affected_versions":"<1.3.0"},{"fix":"Use virtual environments and avoid installing both packages simultaneously. If necessary, alias the import: import paddle as paddle_exo","message":"The package name 'paddle' conflicts with the popular PaddlePaddle deep learning framework. Importing both in the same environment may cause namespace collisions.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate to the new radiative_transfer.two_stream module. See documentation for new function signatures.","message":"The old two-stream radiative transfer implementation from v1.2.x is deprecated in favor of the new two-stream RT subroutines added in v1.2.14. The old API may be removed in a future release.","severity":"deprecated","affected_versions":">=1.2.14"},{"fix":"Replace internal imports with public APIs. If you need low-level access, use 'canoe' directly.","message":"Starting from v1.3.0, the internal module 'paddle.internals' has been removed. Any code relying on it will break.","severity":"breaking","affected_versions":">=1.3.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install canoe separately: 'pip install canoe' (or follow the canoe installation instructions at https://github.com/elijah-mullens/canoe)","cause":"The canoe GCM engine is a required dependency but not automatically installed by pip.","error":"ModuleNotFoundError: No module named 'canoe'"},{"fix":"Check the documentation for the correct class name. As of v1.3.0, use 'from paddle.atmosphere import EarthAtmosphere' if that is the correct class; otherwise use 'paddle.atmosphere.Earth()' depending on version.","cause":"The class name might be different or the API changed in recent versions.","error":"ImportError: cannot import name 'EarthAtmosphere' from 'paddle'"},{"fix":"Upgrade paddle to >=1.2.14 via 'pip install --upgrade paddle'.","cause":"This error typically occurs when using an older version (<1.2.14) that didn't have the radiative_transfer module.","error":"AttributeError: module 'paddle' has no attribute 'radiative_transfer'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}