{"id":9553,"library":"beautifultable","title":"beautifultable","description":"beautifultable is a Python library for printing beautiful, structured text tables in terminals, making CLI output more readable. Its current stable version is 1.1.0, released in January 2020. The project appears stable and feature-complete but has not seen active development or new releases since 2020, so its release cadence is infrequent.","status":"maintenance","version":"1.1.0","language":"en","source_language":"en","source_url":"https://github.com/pri22296/beautifultable","tags":["table","terminal","cli","formatting","text-table"],"install":[{"cmd":"pip install beautifultable","lang":"bash","label":"Install stable version"}],"dependencies":[],"imports":[{"symbol":"BeautifulTable","correct":"from beautifultable import BeautifulTable"}],"quickstart":{"code":"from beautifultable import BeautifulTable\n\ntable = BeautifulTable()\ntable.columns.header = [\"Name\", \"Age\", \"City\"]\ntable.rows.append([\"John\", 30, \"New York\"])\ntable.rows.append([\"Jane\", 25, \"London\"])\ntable.rows.append([\"Doe\", 35, \"Paris\"])\n\n# Example of setting column alignment\ntable.columns.align[\"Age\"] = BeautifulTable.ALIGN_RIGHT\n\nprint(table)","lang":"python","description":"This quickstart demonstrates how to create a BeautifulTable, set column headers, add rows, and customize column alignment. The output is a formatted string ready for terminal display."},"warnings":[{"fix":"Refer to the 1.x documentation/README for the new API. Common changes include using `table.columns.<attr>` for column-specific settings and `table.rows.<attr>` for row-specific settings.","message":"Version 1.0.0 introduced a complete rewrite of the API. Many methods and attributes from 0.x versions (e.g., `append_row`, `column_headers`, `set_width`) were removed or replaced with new object-oriented interfaces (e.g., `table.rows.append`, `table.columns.header`, `table.max_width`).","severity":"breaking","affected_versions":"<1.0.0"},{"fix":"Assess if the current feature set meets your needs. For projects requiring active development, consider alternatives if `beautifultable`'s current state is insufficient.","message":"The project has not been actively maintained since its last release in January 2020. While stable for its intended use, this means there will be no new features, security updates, or bug fixes for any newly discovered issues.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure data types are consistent within columns or convert them to strings before adding to the table. Use `table.columns.precision` for numbers and `table.columns.wrap_text` for long strings. Experiment with `table.max_width` and `table.columns.width` to control column layout.","message":"When handling mixed data types or special characters, `beautifultable` might require explicit type casting or alignment settings. Incorrect numeric precision or text wrapping can lead to unaligned columns.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"The `append_row` method was replaced. Use `table.rows.append(data_list)` instead for `beautifultable` versions 1.0.0 and later.","cause":"Attempting to use the `append_row` method from `beautifultable` version 0.x on a 1.x installation.","error":"AttributeError: 'BeautifulTable' object has no attribute 'append_row'"},{"fix":"Add `from beautifultable import BeautifulTable` at the top of your Python file or before using the class.","cause":"The `BeautifulTable` class was not imported into the current scope.","error":"NameError: name 'BeautifulTable' is not defined"},{"fix":"For the maximum table width, use `table.max_width = <integer>`. For individual column widths, use `table.columns.width = {column_name: width}` or `table.columns.width[column_name] = width`.","cause":"Incorrectly trying to set the overall table width using an attribute that no longer exists or expects a specific type/range, or using a method from a previous API version.","error":"TypeError: The value for 'width' must be a positive number."}]}