{"id":24075,"library":"mrx-runway","title":"mrx-runway","description":"mrx-runway (makina-runway) is a rapid application development framework for Python, providing scaffolding, API generation, and deployment tooling. The current version is 1.13.3, released with requires_python <3.12,>=3.8. Release cadence is irregular.","status":"active","version":"1.13.3","language":"python","source_language":"en","source_url":"https://github.com/makinacorpus/runway","tags":["web-framework","rapid-development","scaffolding","api","python"],"install":[{"cmd":"pip install mrx-runway","lang":"bash","label":"PyPI install"},{"cmd":"pip install mrx-runway[all]","lang":"bash","label":"Install with all extras"}],"dependencies":[],"imports":[{"note":"Top-level import is from mrx.runway, not directly 'runway'","wrong":"import runway","symbol":"runway","correct":"from mrx import runway"}],"quickstart":{"code":"from mrx import runway\n\napp = runway.Application()\n\n@app.route('/')\ndef hello():\n    return {'message': 'Hello World'}\n\nif __name__ == '__main__':\n    app.run()","lang":"python","description":"Create a simple runway application."},"warnings":[{"fix":"Update all imports to 'from mrx import runway'.","message":"In version 1.12, the package structure changed: imports must now use 'from mrx import runway' instead of 'import runway'. Old code will raise ImportError.","severity":"breaking","affected_versions":">=1.12"},{"fix":"Use Python 3.8 to 3.11.","message":"The framework requires Python <3.12 and >=3.8. Using Python 3.12+ will cause installation failures.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace @runway.async with @app.async_endpoint on async views.","message":"The @runway.async decorator is deprecated since version 1.10. Use @app.async_endpoint instead.","severity":"deprecated","affected_versions":">=1.10"},{"fix":"Set the environment variable or pass database_uri to runway.Application().","message":"When using SQLAlchemy with runway, you must set the runway_SQLALCHEMY_DATABASE_URI environment variable. Not setting it causes silent fallback to SQLite.","severity":"gotcha","affected_versions":"all"},{"fix":"In production, configure Nginx to serve static files from the 'static' folder.","message":"Runway's static file serving only works in development mode. In production, use a reverse proxy like Nginx.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace 'from runway.contrib.admin import ...' with 'from runway.contrib.adminlte import ...'.","message":"The 'runway.contrib.admin' module is deprecated from version 1.11. Use 'runway.contrib.adminlte' instead.","severity":"deprecated","affected_versions":">=1.11"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'from mrx import runway' instead of 'import runway'.","cause":"Importing directly from 'runway' instead of 'mrx.runway' after version 1.12.","error":"ModuleNotFoundError: No module named 'runway'"},{"fix":"Use @app.async_endpoint decorator.","cause":"Using deprecated @runway.async decorator.","error":"ImportError: cannot import name 'async' from 'runway'"},{"fix":"Set the environment variable, e.g., export runway_SECRET_KEY='your-secret-key'.","cause":"The runway_SECRET_KEY environment variable is not set.","error":"runway.exceptions.ConfigurationError: Missing required environment variable: runway_SECRET_KEY"},{"fix":"Use Python 3.8 to 3.11.","cause":"Attempting to install on Python 3.12 or newer.","error":"pkg_resources.VersionConflict: (mrx-runway 1.13.3 ... Requirement.parse('mrx-runway<3.12,>=3.8'))"},{"fix":"Run 'runway db upgrade' in your project directory.","cause":"Not running database migrations before accessing models.","error":"sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: user"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}